---
title: "Get contacts list"
method: GET
path: "/v3/contacts"
tags: ["Contacts"]
---

# Get contacts list

`GET /v3/contacts`

Retrieves a paginated list of contacts for the authenticated customer. Supports filtering by search term, channel, or phone number.

## Query parameters

- `page` integer, required
- `page_size` integer, required
- `search` string, nullable
- `channel` string, nullable
- `phone` string, nullable

## Headers

- `x-profile-id` string, uuid

## Response `200`

Contacts retrieved successfully

- SentDmServicesEndpointsCustomerAPIv3ResponsesApiResponseOfContactsListResponse — Standard API response envelope for all v3 endpoints
  - `success` boolean — Indicates whether the request was successful
  - `data` SentDmServicesEndpointsCustomerAPIv3ResponsesContactsListResponse — Paginated list of contacts response
    - `contacts` SentDmServicesEndpointsCustomerAPIv3ResponsesContactResponse[] — List of contacts
      - `id` string, uuid — Unique identifier for the contact
      - `phone_number` string — Phone number in original format
      - `format_e164` string — Phone number in E.164 format (e.g., +1234567890)
      - `format_international` string — Phone number in international format (e.g., +1 234-567-890)
      - `format_national` string — Phone number in national format (e.g., (234) 567-890)
      - `format_rfc` string — Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
      - `country_code` string — Country calling code (e.g., 1 for US/Canada)
      - `region_code` string — ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
      - `available_channels` string — Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
      - `default_channel` string — Default messaging channel to use (e.g., "sms" or "whatsapp")
      - `opt_out` boolean — Whether the contact has opted out of messaging. Single source of truth — opt-out is per-contact, not per-channel.
      - `is_inherited` boolean — Whether this is an inherited contact (read-only)
      - `created_at` string, date-time — When the contact was created
      - `updated_at` string, date-time, nullable — When the contact was last updated
    - `pagination` SentDmServicesEndpointsCustomerAPIv3ResponsesPaginationMeta — Pagination metadata for list responses
      - `page` integer — Current page number (1-indexed)
      - `page_size` integer — Number of items per page
      - `total_count` integer — Total number of items across all pages
      - `total_pages` integer — Total number of pages
      - `has_more` boolean — Whether there are more pages after this one
      - `cursors` SentDmServicesEndpointsCustomerAPIv3ResponsesPaginationCursors — Cursor-based pagination pointers
        - `after` string, nullable — Cursor to fetch the next page
        - `before` string, nullable — Cursor to fetch the previous page
  - `error` SentDmServicesEndpointsCustomerAPIv3ResponsesApiError — Error information
    - `code` string — Machine-readable error code (e.g., "RESOURCE_001")
    - `message` string — Human-readable error message
    - `details` object, nullable — Additional validation error details (field-level errors)
    - `doc_url` string, nullable — URL to documentation about this error
  - `meta` SentDmServicesEndpointsCustomerAPIv3ResponsesApiMeta — Request and response metadata
    - `request_id` string — Unique identifier for this request (for tracing and support)
    - `timestamp` string, date-time — Server timestamp when the response was generated
    - `version` string — API version used for this request

## Other responses

- `400` — Invalid request parameters
- `401` — Unauthorized - Invalid API credentials
- `403` — Forbidden
- `404` — Contact not found (when filtering by phone)
- `500` — Internal server error

---

[API](https://skmtc.net/sentdm/apis/sent-dm-api-v3.md) · [All operations](https://skmtc.net/sentdm/apis/sent-dm-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sentdm/sent-dm-api-v3/versions/c451eca46f1b/schema)
