---
title: "List contacts"
method: GET
path: "/v1/contacts"
tags: ["Contacts"]
---

# List contacts

`GET /v1/contacts`

## Request

- Base URL: `https://api.samva.dev`
- URL: `https://api.samva.dev/v1/contacts`
- Auth: API key in header `x-api-key`

Returns contact summaries for the organization, newest first, filterable by search term, status, and creation time (`after`, `before`). `fields` is a comma-separated list of defined custom field keys to return in each summary's `customFields`; omitted keys and unselected fields are not returned. Filter by one defined custom field with `customField` and a JSON-encoded scalar `customFieldValue` (for example, `"creator"`, `42`, or `true`). Both filter parameters are required together, and unknown keys or values of the wrong type are rejected. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. Read full identities, profile, and metadata with `GET /v1/contacts/{id}`.

## Query parameters

- `limit` string, nullable
- `cursor` string
- `namespaceId` string
- `search` string, nullable
- `status` 'active' | 'paused' | 'blocked' | 'archived', nullable
- `fields` string, nullable
- `customField` string, nullable
- `customFieldValue` string, nullable
- `after` string, nullable
- `before` string, nullable

## Response `200`

ContactPage

- ContactPage
  - `items` ContactSummary[], required
    - `id` string, required
    - `namespaceId` string, required
    - `name` string, required
    - `displayName` string, nullable, required
    - `status` 'active' | 'paused' | 'blocked' | 'archived', required
    - `email` string, nullable, required
    - `channels` string[], required
    - `tags` string[], required
    - `lists` ContactListMembership[], required
      - `id` string, required
      - `name` string, required
      - `color` 'clay' | 'sand' | 'moss' | 'sky' | 'plum' | 'rose', nullable, required
    - `customFields` ContactCustomFields
    - `lastActiveAt` string, nullable, required
    - `createdAt` string, required
  - `nextCursor` string, nullable, required

## Other responses

- `401`: UnauthorizedError
- `403`: ForbiddenError
- `422`: ValidationError
- `500`: InternalError
- `504`: GatewayTimeoutError

---

[API](https://skmtc.dev/samva/apis/samva-api.md) · [All operations](https://skmtc.dev/samva/apis/samva-api/llms.txt) · [OpenAPI document](https://skmtc.dev/samva/apis/samva-api/revisions/a99408542cc3?raw)
