List subscription topics

Search Documentation

Search across all developer documentation

topics

List subscription topics

GET /v1/topics
Auth required api.topics.view

Returns every subscription topic on the org's contact list. Topics are list-level metadata with no recipient PII, so this endpoint sits behind the narrower api.topics.view scope. SES caps a contact list at 50 topics, so the response is not paginated. subscriber_count is the number of contacts with an explicit OPT_IN preference for the topic. When no contact list is synced, an empty array is returned.

Responses

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

200 All topics on the contact list (unpaginated) application/json
data array<object> required

Each entry in data:

name string required

Stable topic identifier used in filters and preferences.

display_name string required
description string required
default_subscription_status string enum required

One of: OPT_IN, OPT_OUT

subscriber_count integer<int64> required

Contacts effectively subscribed to this topic — those whose explicit preference is OPT_IN, plus those with no explicit preference on a topic whose default_subscription_status is OPT_IN. Excludes master-unsubscribed contacts. This is the set that would be mailed.

status string enum required

Lifecycle state. archived never blocks the topic's use.

One of: active, archived

created_at string<date-time> required
updated_at string<date-time> required
pagination object required

Fields of pagination:

has_more boolean required
next_cursor string | null optional
401 Missing, malformed, or unknown API key application/problem+json
403 Key lacks the required scope or plan limit violated 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