Sequenzy Sender Profiles API
The Sender Profiles API from Sequenzy — 3 operation(s) for sender profiles.
The Sender Profiles API from Sequenzy — 3 operation(s) for sender profiles.
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-sender-profiles-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 Sender Profiles 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: Sender Profiles
paths:
/sender-profiles:
get:
operationId: listSenderProfiles
summary: List sender and reply-to profiles
description: Lists sender (From) and reply-to profiles, which are the account defaults, and whether each sender address sits on a verified sending domain. SMTP submission sends into Sequenzy; outbound delivery remains Sequenzy-managed through SES or Sequenzy's MTA, so customer-managed SMTP relays are not supported.
tags:
- Sender Profiles
responses:
'200':
description: Sending identities returned
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
senderProfiles:
type: array
items:
$ref: '#/components/schemas/SenderProfileSummary'
replyProfiles:
type: array
items:
$ref: '#/components/schemas/ReplyProfileSummary'
defaultSenderProfileId:
type:
- string
- 'null'
defaultReplyProfileId:
type:
- string
- 'null'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'503':
$ref: '#/components/responses/TransientDatabaseUnavailable'
/sender-profiles/{id}:
patch:
operationId: updateSenderProfile
summary: Rename a sender profile
description: Renames one sender (From) profile in place. Only the display name changes - the address, its sending domain, and the account-wide default From selection are left untouched, so a display name can be standardized across the several identities one mailbox may carry. To change which profile is the account default instead, use PATCH /v1/companies/{companyId} with senderProfileId. Requires companies:manage.
tags:
- Sender Profiles
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Sender profile ID, from GET /v1/sender-profiles.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
properties:
name:
type: string
minLength: 1
maxLength: 255
description: New display name. Trimmed before saving.
example: SnapCount
responses:
'200':
description: Sender profile renamed
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
senderProfile:
$ref: '#/components/schemas/SenderProfileSummary'
renamed:
type: boolean
description: False when the profile already carried that name, so nothing changed.
'400':
description: Name is empty or longer than 255 characters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Sender profile not found in this company
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Another sender identity for the same address already uses that name
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
operationId: deleteSenderProfile
summary: Delete a sender profile
description: Permanently deletes one sender (From) profile. Refuses to delete the company's last sender or a profile used by a live campaign, active sequence (including step-level overrides), or transactional email. Eligible draft and rejected campaigns plus the account default are reassigned to the best remaining sender when needed. Requires companies:manage.
tags:
- Sender Profiles
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Sender profile ID, from GET /v1/sender-profiles.
responses:
'200':
description: Sender profile deleted
content:
application/json:
schema:
type: object
required:
- success
- deletedSenderProfileId
- fallbackSenderProfileId
- message
properties:
success:
type: boolean
example: true
deletedSenderProfileId:
type: string
description: ID of the profile that was deleted.
fallbackSenderProfileId:
type:
- string
- 'null'
description: Remaining profile selected for defaults and eligible drafts when reassignment was needed.
message:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: API key is missing companies:manage
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Sender profile not found in this company
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: This is the last sender profile or a live sending surface still uses it
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/reply-profiles/{id}:
patch:
operationId: updateReplyProfile
summary: Rename a reply-to profile
description: Renames one reply-to profile in place. Only the display name changes - the address and the account-wide default Reply-To selection are left untouched. Requires companies:manage.
tags:
- Sender Profiles
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Reply-to profile ID, from GET /v1/sender-profiles.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
properties:
name:
type: string
minLength: 1
maxLength: 255
description: New display name. Trimmed before saving.
example: SnapCount
responses:
'200':
description: Reply-to profile renamed
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
replyProfile:
$ref: '#/components/schemas/ReplyProfileSummary'
renamed:
type: boolean
description: False when the profile already carried that name, so nothing changed.
'400':
description: Name is empty or longer than 255 characters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Reply-to profile not found in this company
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
headers:
RetryAfter:
description: Number of seconds to wait before retrying the request.
schema:
type: integer
minimum: 1
example: 1
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:
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
SenderProfileSummary:
type: object
properties:
id:
type: string
name:
type: string
email:
type: string
domainId:
type: string
domain:
type:
- string
- 'null'
domainStatus:
type:
- string
- 'null'
description: Aggregate verification status of the sending domain.
canSend:
type: boolean
description: True when the domain is fully ready to send (DNS verified and activation finished).
isDefault:
type: boolean
createdAt:
type: string
format: date-time
ReplyProfileSummary:
type: object
properties:
id:
type: string
name:
type: string
email:
type: string
isDefault:
type: boolean
createdAt:
type: string
format: date-time
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
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key passed as Bearer token