Sequenzy Suppressions API
The Suppressions API from Sequenzy — 2 operation(s) for suppressions.
The Suppressions API from Sequenzy — 2 operation(s) for suppressions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/sequenzy:sequenzy-suppressions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Sequenzy Suppressions API
description: Sequenzy API for managing subscribers, tags, events, sequences, and transactional emails
version: 1.0.0
servers:
- url: https://api.sequenzy.com/api/v1
description: Production server
- url: https://api.sequenzy.com/v1
description: Legacy production server alias
security:
- bearerAuth: []
tags:
- name: Suppressions
paths:
/suppressions:
get:
summary: List suppressed recipients
description: 'Lists the recipients this company cannot reach, newest suppression first by default.
Four product-level suppression types appear:
- `suppressionType: invalid_recipient` - SMTP evidence conclusively identifies an invalid destination. It is global, visible to companies associated with the address, and protected.
- `suppressionType: unknown_hard_bounce` - a permanent/undetermined failure without enough evidence to declare the inbox invalid. It is company-scoped and protected.
- `suppressionType: soft_bounce_escalation` - repeated delivery failures from this company. It is company-scoped and removable.
- `suppressionType: complaint` - the recipient reported this company''s email as spam. It is company-scoped and protected.
The platform-wide list is never exposed: a global row is returned only when the address is already associated with the authenticated company.'
operationId: listRecipientSuppressions
tags:
- Suppressions
parameters:
- name: search
in: query
required: false
schema:
type: string
maxLength: 255
description: Case-insensitive substring filter on the recipient email address.
- name: page
in: query
required: false
schema:
type: integer
default: 1
description: 1-based page number.
- name: limit
in: query
required: false
schema:
type: integer
default: 25
maximum: 100
description: Entries per page (max 100).
- name: sort
in: query
required: false
schema:
type: string
enum:
- suppressedAt
- email
- status
default: suppressedAt
description: 'Field to order by. `status` lists removable workspace escalations before protected
suppressions. An unrecognized value falls back to `suppressedAt` rather than failing the
request - read `sortBy` in the response to confirm what was applied.
'
- name: order
in: query
required: false
schema:
type: string
enum:
- asc
- desc
description: 'Sort direction. Defaults to `desc` for `suppressedAt` and `status`, `asc` for `email`.
'
responses:
'200':
description: Suppressed recipients
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
suppressions:
type: array
items:
type: object
properties:
email:
type: string
format: email
suppressionType:
type: string
enum:
- invalid_recipient
- unknown_hard_bounce
- soft_bounce_escalation
- complaint
description: Stable product-level classification independent of provider bounce sub-types.
reason:
type: string
enum:
- bounced
- complaint
scope:
type: string
enum:
- global
- company
description: global blocks every workspace; company blocks only this one.
source:
type: string
enum:
- bounced_email
- email_send_complaint
bounceType:
type:
- string
- 'null'
bounceSubType:
type:
- string
- 'null'
bounceCount:
type:
- integer
- 'null'
suppressedAt:
type: string
format: date-time
delistable:
type: boolean
description: True only for company-scoped soft-bounce escalations.
total:
type: integer
page:
type: integer
limit:
type: integer
hasMore:
type: boolean
sortBy:
type: string
enum:
- suppressedAt
- email
- status
description: The sort field actually applied.
sortOrder:
type: string
enum:
- asc
- desc
description: The sort direction actually applied.
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: No company selected
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'503':
$ref: '#/components/responses/TransientDatabaseUnavailable'
/suppressions/{email}:
get:
summary: Get recipient suppression
description: Checks one exact recipient against Sequenzy's bounce and complaint safeguards. Sequenzy suppresses solely from its own bounce records; the email provider's account-level suppression list is not consulted. The lookup does not expose unrelated recipients.
operationId: getRecipientSuppression
tags:
- Suppressions
parameters:
- name: email
in: path
required: true
schema:
type: string
format: email
description: Exact recipient email address
- name: region
in: query
required: false
schema:
type: string
example: us-east-1
description: 'Deprecated: accepted and ignored. It previously limited a provider-side suppression lookup, which no longer happens.'
responses:
'200':
description: Recipient suppression status
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
suppression:
type: object
properties:
email:
type: string
format: email
knownRecipient:
type: boolean
suppressed:
type: boolean
local:
type: object
properties:
suppressed:
type: boolean
suppressionType:
type:
- string
- 'null'
enum:
- invalid_recipient
- unknown_hard_bounce
- soft_bounce_escalation
- complaint
- null
description: Stable product-level classification. Null when no typed local suppression row exists.
reason:
type:
- string
- 'null'
source:
type:
- string
- 'null'
suppressionId:
type:
- string
- 'null'
scope:
type:
- string
- 'null'
enum:
- global
- company
- null
description: global when the block applies platform-wide, company when it is contained to this workspace. Null when the recipient is not locally suppressed.
delistable:
type: boolean
description: True only for a company-scoped soft-bounce escalation.
ses:
type: object
properties:
regionsChecked:
type: array
items:
type: string
entries:
type: array
items:
type: object
properties:
email:
type: string
format: email
region:
type: string
reason:
type: string
enum:
- BOUNCE
- COMPLAINT
lastUpdateTime:
type:
- string
- 'null'
format: date-time
messageId:
type:
- string
- 'null'
feedbackId:
type:
- string
- 'null'
'400':
description: Invalid email address
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: No company selected
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'503':
$ref: '#/components/responses/TransientDatabaseUnavailable'
delete:
summary: Remove a workspace soft-bounce escalation
description: Removes one company-associated recipient's workspace-scoped soft-bounce escalation and reactivates a bounced company subscriber. Global invalid-recipient suppressions, other companies' scoped rows, complaints, and unsubscribes are protected.
operationId: removeRecipientSuppression
tags:
- Suppressions
parameters:
- name: email
in: path
required: true
schema:
type: string
format: email
description: Exact company-associated recipient email address
- name: region
in: query
required: false
schema:
type: string
example: us-east-1
description: 'Deprecated: accepted and ignored. It previously limited a provider-side suppression lookup, which no longer happens.'
responses:
'200':
description: Suppression cleanup result
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
email:
type: string
format: email
removed:
type: boolean
removedLocalBounce:
type: boolean
removedSesRegions:
type: array
description: Always empty. Sequenzy suppresses solely from its own bounce records and neither reads nor writes the email provider's suppression list. Retained for response compatibility.
items:
type: string
reactivatedSubscriberIds:
type: array
items:
type: string
remainingSuppression:
type: object
description: Recipient suppression status after cleanup
'400':
description: Invalid email address
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: No company selected
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Recipient is not associated with the selected company
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: The matching suppression is global, provider-level, complaint-based, or otherwise protected
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'503':
$ref: '#/components/responses/TransientDatabaseUnavailable'
components:
responses:
TransientDatabaseUnavailable:
description: The database was temporarily unavailable. The request may be retried after the delay in Retry-After.
headers:
Retry-After:
$ref: '#/components/headers/RetryAfter'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
success: false
error: The service could not reach its database for a moment. Retry the request.
code: SERVICE_UNAVAILABLE
schemas:
InputIssue:
type: object
properties:
path:
type: string
description: Dotted field path, such as `audience.subscriberIds[0]`. Empty when the problem is with the request body itself.
example: kind
message:
type: string
description: What is wrong with the field.
example: must be "add_tags"
allowedValues:
type: array
description: Accepted values when the field only takes a fixed set of values.
items: {}
example:
- add_tags
required:
- path
- message
Error:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
code:
type: string
description: Optional stable machine-readable error discriminator when available.
example: COMPANY_CREATE_REQUIRES_PERSONAL_KEY
retryable:
type: boolean
description: Whether retrying the request can recover from the error.
issues:
type: array
description: Field-level problems with the request, when the endpoint reports them. Up to ten entries; `error` summarizes the first three.
items:
$ref: '#/components/schemas/InputIssue'
required:
- error
headers:
RetryAfter:
description: Number of seconds to wait before retrying the request.
schema:
type: integer
minimum: 1
example: 1
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key passed as Bearer token