Iterable Email API
Send transactional emails and manage email-specific delivery settings.
Send transactional emails and manage email-specific delivery settings.
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/iterable-email-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Iterable Email API
version: '1.0'
description: 'Operations tagged email across 2 of this provider''s published API definitions: iterable-api-openapi.json, iterable-rest-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.iterable.com/
- url: https://api.iterable.com/api
description: US Data Center (USDC)
- url: https://api.eu.iterable.com/api
description: European Data Center (EDC)
tags:
- name: email
paths:
/api/email/cancel:
post:
description: Cancels an email to a specific user. Request must include a <code>campaignId</code> and an <code>email</code> or <code>userId</code>, or just a <code>scheduledMessageId</code>.<br/><br/>Learn about <a href="https://support.iterable.com/hc/articles/29156459027348">identifying users by <code>userId</code> and <code>email</code></a>.
operationId: cancel
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/IterableApiResponse'
'400':
description: Invalid parameters
'401':
description: Invalid API key
summary: Cancel an email to a user
tags:
- email
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CancelScheduledMessageRequest_-_campaignId_OR_scheduledMessageId_are_required'
description: Email and Campaign ID
required: true
security:
- api_key: []
servers:
- url: https://api.iterable.com/
/api/email/target:
post:
description: Send an email to a specific email address. Request data fields will override user profile data fields. A reference to the user profile is provided via the <code>profile</code> field, to help resolve field collisions.<br/><br/>Learn about <a href="https://support.iterable.com/hc/articles/29156459027348">identifying users by <code>userId</code> and <code>email</code></a>.
operationId: target
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/IterableApiResponse'
'400':
description: Invalid parameters
'401':
description: Invalid API key
summary: Send an email to an email address
tags:
- email
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TargetEmailRequest'
description: Recipient and email id
required: true
security:
- api_key: []
servers:
- url: https://api.iterable.com/
/api/email/viewInBrowser:
get:
description: 'View a rendered version of a previously sent email.<br/><br/>Learn about <a href="https://support.iterable.com/hc/articles/29156459027348">identifying users by <code>userId</code> and <code>email</code></a>.<br/><br/><b>Rate limit</b>: 100 requests/second, per project.'
operationId: viewInBrowser
parameters:
- description: user's email
in: query
name: email
required: false
schema:
type: string
- description: user's userId
in: query
name: userId
required: false
schema:
type: string
- description: id of sent message
in: query
name: messageId
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: string
'400':
description: Invalid parameters
'401':
description: Invalid API key
'404':
description: Data feed error encountered
'422':
description: Empty catalog collection encountered
summary: View a previously sent email
tags:
- email
security:
- api_key: []
servers:
- url: https://api.iterable.com/
/email/target:
post:
operationId: sendTransactionalEmail
summary: Send a transactional email
description: Sends a transactional email to a specific user using a template. Supports personalization via data fields and attachments.
tags:
- email
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- campaignId
- recipientEmail
properties:
campaignId:
type: integer
description: The campaign ID to send
recipientEmail:
type: string
description: The recipient email address
dataFields:
type: object
description: Personalization data fields
additionalProperties: true
attachments:
type: array
description: File attachments
items:
type: object
properties:
name:
type: string
mimeType:
type: string
content:
type: string
responses:
'200':
description: Email sent successfully
content:
application/json:
schema:
$ref: '#/components/schemas/IterableResponse'
'400':
description: Bad request
'401':
description: Unauthorized
security:
- apiKeyAuth: []
servers:
- url: https://api.iterable.com/api
description: US Data Center (USDC)
- url: https://api.eu.iterable.com/api
description: European Data Center (EDC)
components:
schemas:
CancelScheduledMessageRequest_-_campaignId_OR_scheduledMessageId_are_required:
properties:
campaignId:
description: The ID of the campaign associated with the scheduled message you'd like to cancel. If you provide a <code>campaignId</code>, you must also provide an <code>email</code> or <code>userId</code>, depending on <a href="https://support.iterable.com/hc/articles/29156459027348">how your project identifies users</a>.
type: number
email:
description: An email address that identifies a user profile in Iterable. If you provide a <code>campaignId</code>, you must also provide an <code>email</code> or a <code>userId</code>, depending on <a href="https://support.iterable.com/hc/articles/29156459027348">how your project identifies users</a>.
type: string
scheduledMessageId:
type: number
userId:
description: A user ID that identifies a user profile in Iterable. If you provide a <code>campaignId</code>, you must also provide an <code>email</code> or a <code>userId</code>, depending on <a href="https://support.iterable.com/hc/articles/29156459027348">how your project identifies users</a>.
type: string
type: object
IterableApiResponse:
properties:
code:
enum:
- Success
- BadApiKey
- BadAuthorizationHeader
- BadJsonBody
- BadParams
- BatchTooLarge
- DatabaseError
- EmailAlreadyExists
- ExternalKeyConflict
- Forbidden
- ForbiddenParamsError
- ForgottenUserError
- GenericError
- InvalidEmailAddressError
- InvalidJwtPayload
- InvalidUserIdError
- JwtUserIdentifiersMismatched
- NotFound
- QueueEmailError
- RateLimitExceeded
- RequestFieldsTypesMismatched
- Unauthorized
- UniqueFieldsLimitExceeded
- UnknownEmailError
- UnknownUserIdError
- UserIdAlreadyExists
type: string
msg:
description: Response description
type: string
params:
description: Additional info
type: object
required:
- code
- msg
type: object
TargetEmailRequest:
properties:
allowRepeatMarketingSends:
description: Allow repeat marketing sends? Defaults to true.
type: boolean
campaignId:
description: Campaign ID
format: int64
type: integer
dataFields:
description: Fields to merge into email template
type: object
metadata:
description: Metadata to pass back via webhooks. Not used for rendering
type: object
recipientEmail:
description: An email address that identifies a user profile in Iterable. Provide a <code>recipientEmail</code> or a <code>recipientUserId</code> (but not both), depending on <a href="https://support.iterable.com/hc/articles/29156459027348">how your project identifies users</a>.
type: string
recipientUserId:
description: A user ID that identifies a user profile in Iterable. Provide a <code>recipientEmail</code> or a <code>recipientUserId</code> (but not both), depending on <a href="https://support.iterable.com/hc/articles/29156459027348">how your project identifies users</a>.
type: string
sendAt:
description: Schedule the message for up to 365 days in the future. If set in the past, email is sent immediately. Format is <code>YYYY-MM-DD HH:MM:SS</code> in UTC
type: string
required:
- campaignId
type: object
IterableResponse:
type: object
description: Standard Iterable API response indicating success or failure
properties:
msg:
type: string
description: Human-readable response message
code:
type: string
description: Response code indicating success or error type
params:
type: object
description: Additional response parameters
additionalProperties: true
securitySchemes:
api_key:
in: header
name: Api-Key
type: apiKey
apiKeyAuth:
type: apiKey
in: header
name: Api-Key
description: Iterable API key passed in the Api-Key header. API keys can be created and managed in the Iterable project settings.
externalDocs:
description: Iterable API Documentation
url: https://api.iterable.com/api/docs
x-refined-from:
- iterable-api-openapi.json
- iterable-rest-api-openapi.yml