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

# List Contacts

> Retrieve a paginated list of contacts, optionally filtered by name, status, or external ID.

**GET** `/api/external/contacts/?limit={limit}&cursor={cursor}&{filters}`

## Query parameters

<ParamField query="limit" type="number">
  Requested page size. SDK default: 20.
</ParamField>

<ParamField query="cursor" type="string | null">
  Cursor for the next page.
</ParamField>

<ParamField query="Filters" type="Record<string, string>">
  Contact filters, for example `name`, `status`, or `externalId` when supported.
</ParamField>

## Response

```typescript theme={null}
interface ContactListResponse {
  results: Contact[];
  nextCursor?: string | null;
  hasNext?: boolean;
}
```

## JavaScript SDK

```typescript theme={null}
const firstPage = await apiClient.getContacts(
  { status: "PENDING" },
  20,
  null,
);
```

<RequestExample dropdown>
  ```json Request example theme={null}
  {
    "query": {
      "limit": 20,
      "cursor": null,
      "status": "PENDING"
    }
  }
  ```

  ```bash cURL theme={null}
  # Sample only. Generate a new signed token for each request
  # (see Authentication). Tokens expire after 120 seconds.
  curl --request GET \
    --url "https://api.primevault.com/api/external/contacts/?limit=20&status=PENDING" \
    --header "Authorization: Bearer <signed JWT>" \
    --header "Api-Key: <API key>" \
    --header "Accept: application/json"
  ```

  ```typescript JavaScript SDK theme={null}
  getContacts(
    params?: Record<string, string>,
    limit?: number,
    cursor?: string | null,
  ): Promise<ContactListResponse>
  ```
</RequestExample>

<ResponseExample>
  ```json JSON example theme={null}
  {
    "results": [
      {
        "id": "contact_123",
        "orgId": "org_456",
        "subOrgId": "sub_org_123",
        "name": "Operations Wallet",
        "blockChain": "ETHEREUM",
        "address": "0xAbC1234567890abcdef1234567890abcdef1234",
        "status": "PENDING",
        "tags": [
          "vendor",
          "priority"
        ],
        "createdById": "api_user_123",
        "externalId": "vendor-1001",
        "assetList": [
          "USDC",
          "ETH"
        ],
        "createdAt": "2026-08-04T10:30:00Z",
        "updatedAt": "2026-08-04T10:30:00Z",
        "isDeleted": false
      }
    ],
    "nextCursor": "eyJpZCI6ImNvbnRhY3RfMTIzIn0=",
    "hasNext": true
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.