Iterable Campaigns API

Create, retrieve, and manage marketing campaigns. Access campaign metrics and trigger campaign sends.

Business capability
Demand Generation Management BC-400.40

Operations 16

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/campaigns Page through campaign metadata by state · List campaign metadata #
Ask an LLM
“Can I page through all my campaigns and filter them by campaign state?”
“Which of my Iterable campaigns are currently running, sorted by creation date?”
Tell an agent
List campaigns in the {campaignState} state, page {page} with {pageSize} per page.
Show campaign metadata sorted by {sort}.
POST /api/campaigns/abort Abort a running campaign · Abort a campaign #
Ask an LLM
“How do I stop a blast campaign that is already sending?”
“Is there a way to abort a campaign mid-send?”
Tell an agent destructive · confirm first
Abort campaign {campaignId} right now.
Halt the in-progress send of campaign {campaignId}.
POST /api/campaigns/activateTriggered Activate a triggered campaign · Activate a triggered campaign #
Ask an LLM
“Can I turn on a triggered campaign through the API?”
“What do I call to make a triggered campaign live again?”
Tell an agent
Activate triggered campaign {campaignId}.
Switch triggered campaign {campaignId} back on so it starts sending.
POST /api/campaigns/archive Archive one or more campaigns · Archive campaigns #
Ask an LLM
“Can I archive several campaigns at once, like the archive button in the UI?”
“What happens to scheduled or recurring campaigns when I archive them?”
Tell an agent destructive · confirm first
Archive campaigns {campaignIds}.
Move campaigns {campaignIds} to the archive and cancel any scheduled sends.
POST /api/campaigns/cancel Cancel a scheduled or recurring campaign · Cancel a scheduled or recurring campaign #
Ask an LLM
“How do I cancel a campaign that is scheduled but hasn't sent yet?”
“Can I stop a recurring campaign from sending future runs?”
Tell an agent destructive · confirm first
Cancel scheduled campaign {campaignId}.
Call off the recurring campaign {campaignId}.
POST /api/campaigns/create Create a blast or triggered campaign from a template · Create a campaign #
Ask an LLM
“Can I create a campaign with labels, a send mode and a default time zone via the API?”
“Which channels can a campaign created from an existing template use?”
Tell an agent
Create campaign {name} from template {templateId} targeting lists {listIds}.
Create campaign {name} using template {templateId} for lists {listIds}, scheduled for {sendAt} with send mode {sendMode}.
POST /api/campaigns/deactivateTriggered Deactivate a triggered campaign · Deactivate a triggered campaign #
Ask an LLM
“Can I pause a triggered campaign without archiving it?”
“What turns off a triggered campaign so API calls stop sending it?”
Tell an agent
Deactivate triggered campaign {campaignId}.
Turn off triggered campaign {campaignId} for now.
GET /api/campaigns/metrics Get metrics for campaigns in a date window · Get metrics for campaigns #
Ask an LLM
“What is the rate limit when pulling campaign metrics from the /api/campaigns endpoint?”
“Can I get metrics for several campaigns between two dates?”
Tell an agent
Get metrics for campaign {campaignId} from {startDateTime} to {endDateTime}.
Pull the /api campaign metrics for campaign {campaignId}.
GET /api/campaigns/recurring/{id}/childCampaigns List child campaigns of a recurring campaign · Get child campaigns of a recurring campaign #
Ask an LLM
“How can I see every campaign a recurring campaign has generated?”
“Can I filter a recurring campaign's child runs by state?”
Tell an agent
List child campaigns of recurring campaign {id}.
Show child campaigns of recurring campaign {id} in state {campaignState}, page {page}.
POST /api/campaigns/trigger Trigger a campaign to send to lists · Trigger a campaign #
Ask an LLM
“Can I fire a triggered campaign at specific lists via the API?”
“Is it possible to exclude suppression lists when triggering a campaign?”
Tell an agent
Trigger campaign {campaignId} for lists {listIds}.
Trigger campaign {campaignId} for lists {listIds}, suppressing lists {suppressionListIds}.
POST /api/campaigns/{campaignId}/schedule Schedule an existing campaign to send later · Schedule existing campaign to be sent #
Ask an LLM
“Can I schedule an already-created campaign for a future time?”
“Does scheduling support sending in each recipient's time zone?”
Tell an agent
Schedule campaign {campaignId} to send at {sendAt}.
Schedule campaign {campaignId} for {sendAt} in recipient local time {recipientTimeZone}.
POST /api/campaigns/{campaignId}/send Send an existing campaign immediately · Send existing campaign now #
Ask an LLM
“How do I send a campaign I already built right now instead of scheduling it?”
“Can an existing campaign be launched immediately through the API?”
Tell an agent
Send campaign {campaignId} now.
Launch existing campaign {campaignId} immediately.
GET /api/campaigns/{id} Get one campaign by ID · Get a campaign #
Ask an LLM
“Where can I look up the details of a single campaign by its ID?”
“What does a campaign record include when fetched individually?”
Tell an agent
Get campaign {id}.
Show me the details of campaign {id}.
GET /campaigns List all campaigns via the simple endpoint · List campaigns #
Ask an LLM
“Is there an unpaginated list of every campaign with its type and template?”
“Which endpoint returns all campaigns in the project with no filters at all?”
Tell an agent
List every campaign using the plain /campaigns endpoint.
Give me all campaigns with their type, status and template, unfiltered.
POST /campaigns/create Create a campaign via the simple endpoint · Create a campaign #
Ask an LLM
“Can I create a campaign with just a name, template and list using the basic /campaigns/create endpoint?”
“Which minimal fields does the simple create-campaign call need?”
Tell an agent
Use the basic /campaigns/create call to make campaign {name} with template {templateId} and lists {listIds}.
Via /campaigns/create, set up campaign {name} from template {templateId} for lists {listIds} sending at {sendAt}.
GET /campaigns/metrics Get campaign engagement metrics · Get campaign metrics #
Ask an LLM
“How many opens, clicks, bounces and complaints did my campaign get?”
“Can I see sends and unsubscribes for a campaign from the plain /campaigns/metrics endpoint?”
Tell an agent
Get opens, clicks and unsubscribes for campaign {campaignId} from /campaigns/metrics.
Pull engagement numbers for campaign {campaignId} since {startDateTime} using the simple metrics endpoint.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/iterable:iterable-campaigns-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

iterable-campaigns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Iterable Campaigns API
  version: '1.0'
  description: 'Operations tagged campaigns 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:


# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/iterable/refs/heads/main/openapi/iterable-campaigns-api-openapi.yml