> ## Documentation Index
> Fetch the complete documentation index at: https://docs.signa.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Attorney Clients

> List the owners (clients) represented by an attorney across all trademarks

## Overview

Returns the owners that an attorney has represented on trademark filings. Each row reports the number of marks shared between the attorney and that owner, sorted by `shared_trademark_count` descending.

## Path Parameters

<ParamField path="id" type="string" required>
  Attorney ID (`att_...`).
</ParamField>

## Query Parameters

<ParamField query="limit" type="integer" default="20">
  Page size (1-100).
</ParamField>

<ParamField query="cursor" type="string">
  Pagination cursor from a previous response.
</ParamField>

## Response

<ResponseField name="data" type="object[]">
  Array of client owner summary records.
</ResponseField>

<ResponseField name="data[].id" type="string">
  Owner ID (`own_...`).
</ResponseField>

<ResponseField name="data[].name" type="string">
  Display name of the owner.
</ResponseField>

<ResponseField name="data[].canonical_name" type="string">
  Normalized name used for search and deduplication.
</ResponseField>

<ResponseField name="data[].country_code" type="string">
  Owner country code.
</ResponseField>

<ResponseField name="data[].entity_type" type="string">
  Owner entity type (e.g. `corporation`, `individual`, `partnership`).
</ResponseField>

<ResponseField name="data[].shared_trademark_count" type="integer">
  Number of trademarks where this attorney represents this owner.
</ResponseField>

<ResponseExample>
  ```json theme={null}
  {
    "object": "list",
    "data": [
      {
        "id": "own_R3jK9mN2",
        "object": "owner",
        "name": "Apple Inc.",
        "canonical_name": "APPLE INC",
        "country_code": "US",
        "entity_type": "corporation",
        "shared_trademark_count": 47
      }
    ],
    "has_more": false,
    "pagination": { "cursor": null },
    "request_id": "req_xyz"
  }
  ```
</ResponseExample>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.signa.so/v1/attorneys/att_3kPq9X/clients?limit=20" \
    -H "Authorization: Bearer sig_YOUR_KEY"
  ```

  ```typescript TypeScript theme={null}
  import { Signa } from "@signa-so/sdk";

  const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });

  const clients = await signa.attorneys.clients("att_3kPq9X", { limit: 20 });
  ```
</CodeGroup>

## Errors

| Status | Type               | Description                               |
| ------ | ------------------ | ----------------------------------------- |
| 400    | `validation_error` | Invalid attorney ID                       |
| 401    | `unauthorized`     | Missing or invalid API key                |
| 403    | `forbidden`        | API key lacks the `trademarks:read` scope |
| 404    | `not_found`        | Attorney not found                        |
| 429    | `rate_limited`     | Too many requests                         |

## Related Endpoints

* [Get Attorney](/api-reference/parties/get-attorney): full attorney detail
* [Attorney Trademarks](/api-reference/parties/attorney-trademarks): marks handled by this attorney
* [List Owners](/api-reference/parties/list-owners): search owners independently
