topics
Delete a subscription topic
DELETE /v1/topics/{name}
Auth required
api.topics.manage
Deletes a managed topic definition and every contact's preference for
it. A topic linked to a topic in your AWS SES account is unlinked and
archived instead, keeping its preferences; the SES topic itself is
never deleted. The workspace's default topic cannot be deleted:
422 with validation_code: default_topic_not_deletable — choose
another default topic in Settings first. The topic is addressed by its
immutable name. Idempotent: deleting an already-absent topic returns
204.
Path parameters
name string required The topic's org-unique name (the same identifier GET /v1/topics exposes). An unknown name is 404 not_found.
Responses
Errors follow the RFC 7807 problem format — see the error reference.
204 Topic deleted (no content)
401 Missing, malformed, or unknown API key application/problem+json
403 Either the credential lacks the required scope (
code: invalid_scope), or it is bound to the test environment and this operation is irreversible (code: test_environment_forbidden). Branch on code: the first is fixed by granting the scope, the second only by using a live credential. See the "Live and test credentials" section of the API description. application/problem+json 409 The mutation is rejected by a state rule rather than a bad request. The
code is conflict.
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 503 An upstream dependency — the AWS SES account connected to this org —
refused, throttled, or did not answer in time. The
code is
upstream_unavailable; the status is 503 when the call failed and
504 when it exceeded our deadline.
Retryable. Always accompanied by Retry-After. On a 504 the
outcome is genuinely unknown (the write may have reached SES), so
retries of a non-idempotent call should carry an Idempotency-Key.
The detail string is deliberately generic: the underlying AWS error
describes the customer's own account and is recorded in SendOps logs
against the request_id, not returned here.
application/problem+json 504 An upstream dependency — the AWS SES account connected to this org —
refused, throttled, or did not answer in time. The
code is
upstream_unavailable; the status is 503 when the call failed and
504 when it exceeded our deadline.
Retryable. Always accompanied by Retry-After. On a 504 the
outcome is genuinely unknown (the write may have reached SES), so
retries of a non-idempotent call should carry an Idempotency-Key.
The detail string is deliberately generic: the underlying AWS error
describes the customer's own account and is recorded in SendOps logs
against the request_id, not returned here.
application/problem+json