List contacts
Returns the calling org's contacts, newest-first, with optional
filters. Contacts mirror the recipients in your Amazon SES contact
list; SendOps keeps them in sync but never sends on your behalf —
sending stays on SendEmail with ListManagementOptions.
Recipient emails are returned in full: api.contacts.view is itself
the PII gate, and the contact list is operator-managed by definition.
Filters compose with AND:
topic— only contacts with an explicit preference row for the named topic (use thenamefrom/v1/topics).subscription_status—OPT_INorOPT_OUT, scoping thetopicfilter to that status. Requirestopic; sent on its own it returns422 validation_failed.unsubscribe_all—true/falsemaster opt-out flag.attribute_key+attribute_value— JSONB containment match on a custom attribute (string equality on the value). Both must be sent together.
Cursors are opaque base64; stale or malformed cursors silently fall
back to page 1. When no contact list is synced yet, an empty page is
returned (use /v1/contact-list to detect that state explicitly).
Query parameters
limit integer optional Page size (1–200). Default 50.
cursor string optional Opaque cursor returned from the previous page.
topic string optional Filter to contacts with a preference for this topic (topic name).
subscription_status string enum optional Scope the topic filter to this status. Requires topic.
unsubscribe_all boolean optional Filter by the contact's master opt-out flag.
attribute_key string optional Custom attribute key to match. Must be sent with attribute_value.
attribute_value string optional Custom attribute value to match (string equality). Must be sent with attribute_key.
Responses
code is internal_error. The
request_id field can be quoted to SendOps support to investigate.
application/problem+json