Get contact list metadata

Search Documentation

Search across all developer documentation

topics

Get contact list metadata

GET /v1/contact-list
Auth required api.topics.view

Returns the org's contact list metadata: name, description, default subscription status, live topic and contact counts, and the last successful sync time (null until the first sync completes). SES allows a single contact list per account, so this returns one object, not a collection.

Returns 404 contact_list_not_synced when the org has no contact list yet — a distinct code from a generic not_found so clients can detect the un-synced state. The list appears automatically once AWS is connected and a sync runs; no client action is required.

A workspace on SendOps-owned contacts always gets 200: its contacts are kept in SendOps and need no SES contact list or AWS connection. name is then the workspace's name, the counts are SendOps' own, and ses_link names the SES contact list the workspace is linked to, or is null when its contacts are not mirrored to SES.

Responses

Errors follow the RFC 7807 problem format — see the error reference.

200 Contact list metadata application/json
name string required
description string required
default_subscription_status string enum required

One of: OPT_IN, OPT_OUT

topic_count integer<int64> required
contact_count integer<int64> required
last_synced_at string<date-time> | null required

Time of the last successful sync; null until the first sync completes.

ses_link object | null optional

The SES contact list of this workspace's AWS account and region, on SendOps-owned contacts. SES allows one list per account and region, and at most one workspace owns its contacts and keeps them in sync: owner_is_this_workspace says whether it is this one. null when the workspace is not on SendOps-owned contacts or no list has been found.

Fields of ses_link:

list_name string required

The SES contact list's name in the AWS account.

aws_region string required
owner_is_this_workspace boolean required

True when this workspace owns the list's contacts. False when another workspace on the account does, or none has adopted it.

linked_at string<date-time> | null required

When this workspace adopted the list; null unless it owns it.

importing boolean required

True while this workspace's import of the list's existing contacts has not finished (running, or failed and awaiting a retry). Broadcasts wait for it.

import_state string enum required

This workspace's import of the list; none unless it owns it.

One of: none, importing, done, failed

401 Missing, malformed, or unknown API key application/problem+json
403 Key lacks the required scope or plan limit violated application/problem+json
404 No contact list synced for this org. The code is contact_list_not_synced. application/problem+json
429 Per-org rate limit exceeded application/problem+json
500 Unexpected server-side failure. The code is internal_error. The request_id field can be quoted to SendOps support to investigate. application/problem+json