Delete suppressed email addresses
POST/v1/suppressions/delete
Requires an API key with the suppressions:write scope. About keys and scopes
Works with integration and partner keys, not agent keys.
Safe to retry: a repeat sets the same values again. About idempotency
Unblocks email addresses, up to 100 per request, one included: a POST, so an address never sits in a URL. A manual or imported block is removed, with the manual block on any contact holding that address. Bounces, complaints and unsubscribes stay: they also protect sister workspaces and the shared sending reputation, and an unsubscribe lifts only when the person resubscribes. They are listed in notRemovable rather than refusing the request. Only this workspace's own blocks are touched, so an address blocked only by a sister workspace is in notFound. Consent is unchanged. An agent key cannot hold suppressions:write.
Header parameters
Kirora-WorkspacestringoptionalPartner keys only: the child workspace to act in, by the external id the partner gave it. Without it, a partner key acts in its own workspace. Any other key that sends it is refused with 403, and an unknown workspace is 404.
pattern
^[A-Za-z0-9._:-]{1,128}$Idempotency-KeystringoptionalMakes a retry safe: a repeat with the same key and body within 24 hours gets the first response again, with
Idempotency-Replay: true. The same key with another request is 409IDEMPOTENCY_KEY_REUSED; while the first is still running, 409IDEMPOTENCY_KEY_IN_USE; after anunsafefirst request failed or never returned, 409IDEMPOTENCY_KEY_OUTCOME_UNKNOWN. Use a new key, such as a UUID, for each new request.8–255 characters
Request body
emailsstring[]requiredEmail addresses to unblock, up to 100; trimmed and lowercased.
at least 1 item · at most 100 items
Returns
Returns 200 OK with a DeletedSuppressions in data. It can also return 409 Conflict, 413 Payload Too Large or 415 Unsupported Media Type; see the statuses below. Otherwise returns an error; Errors lists every code and which to retry.
200 OKWhich addresses were unblocked, which stay blocked, and which were not blocked.409 ConflictThe request conflicts with current state — a duplicate unique value, or a resource whose status does not allow this operation.413 Payload Too LargeThe body is larger than this operation accepts (PAYLOAD_TOO_LARGE).415 Unsupported Media TypeThe body is not JSON, or not the upload the operation takes (UNSUPPORTED_MEDIA_TYPE).
deletedCountintegerrequiredAddresses unblocked.
min 0
notRemovablestring[]requiredAddresses blocked by a bounce, complaint or unsubscribe, which stay blocked.
notFoundstring[]requiredAddresses this workspace does not block itself.
Headers on 200 OK
Idempotency-Replaystringoptionaltruewhen this is the stored response to an earlier request with the same key.one of
true