List SES identities (email and domain)

Search Documentation

Search across all developer documentation

entities

List SES identities (email and domain)

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

Returns the SES identities (email addresses and domains) that are in play for this org. Identities the org has detached (or that have since been archived) are excluded — they are not sendable and must not be offered as a sender.

Where one AWS account is shared by more than one SendOps organization, an identity the org has merely discovered in that account IS returned, because it is still a legitimate sender for this org. Use ownership to tell the cases apart: claimed is this org's own identity, discovered is one it can see in the shared account, and conflict means two orgs claim it and neither wins — a conflicted identity has its event stream paused and must not be used as a sender. If you are picking a default from-address, prefer claimed. Do not infer one from list position; verification_status is not the discriminator, since every identity in the account is verified.

verification_status and dkim_status today hold the same value (both are exposed so they can diverge in a future revision without breaking clients). Sorted newest-first.

Query parameters

limit integer optional

Page size (1–200). Default 50.

cursor string optional

Opaque cursor returned from the previous page.

Responses

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

200 Identities, newest-first application/json
data array<object> required

Each entry in data:

identity string required

Full identity — an email address (e.g. support@example.com) or a bare domain (e.g. example.com).

type string enum required

Derived from identity — email when it contains @, otherwise domain.

One of: email, domain

ownership string enum required

Who this identity belongs to, where one AWS account may be shared by more than one SendOps organization. - claimed — this org has adopted the identity. Prefer these when choosing a default from-address. - discovered — the identity exists in the shared AWS account and this org can send from it, but has not adopted it. - conflict — two organizations claim it and neither wins. Its event stream is paused pending resolution; do not send from it. detached is the fourth value in SendOps' vocabulary but cannot appear here: this endpoint returns live identities only.

One of: claimed, discovered, conflict

verification_status string enum required

One of: pending, success, failed

dkim_status string enum required

Today this is always the same value as verification_status. The fields are exposed separately so they can diverge in a future revision without breaking clients.

One of: pending, success, failed

mail_from_domain string | null required

The identity's custom MAIL FROM (Return-Path) domain as Amazon SES reports it, or null when the identity uses the SES default (amazonses.com). Reflected, not owned: SendOps mirrors what is configured in your AWS account and never sets it. The value refreshes whenever the identity is synced or its status refreshed, so a change made in the AWS console appears here after the next sync.

created_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
422 A query parameter, path value or body field failed validation. The body is a validation_failed Problem. When the refusal is about a reference — a segment key, template slug, topic or attribute name the organization does not have — it additionally carries validation_code, field, line/column, missing, candidates and next_step, so a client can correct the call without a second round of guessing. See ValidationProblem. 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