Iterable Templates API

Manage email, push, SMS, and in-app message templates. Retrieve template content and metadata.

Business capability
Content Marketing Management BC-400.70

Operations 29

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/templates List project templates with filters · Get project templates #
Ask an LLM
“Can I list only my SMS templates, or only blast templates?”
“Which templates were created in a certain date range?”
Tell an agent
List {messageMedium} templates of type {templateType}.
List templates created between {startDateTime} and {endDateTime}, page {page}.
POST /api/templates/bulkDelete Bulk delete base templates · Bulk delete templates #
Ask an LLM
“Can I delete several templates at once?”
“Will templates attached to a campaign be deleted in a bulk delete?”
Tell an agent destructive · confirm first
Delete templates {ids}.
Bulk remove base templates {ids} that aren't used by campaigns.
GET /api/templates/email/get Get an email template in a locale · Get an email template by templateId #
Ask an LLM
“Can I fetch the Spanish version of an email template?”
“What's the rate limit for reading email templates under /api/templates?”
Tell an agent
Get email template {templateId} in locale {locale}.
Fetch /api email template {templateId}.
POST /api/templates/email/preview Render an email template preview with custom data · Preview email template with custom data #
Ask an LLM
“Can I see the rendered HTML of an email template with sample data before sending?”
“Will the email preview pull in data feeds?”
Tell an agent
Preview email template {templateId} with data {dataFields}.
Render email template {templateId} in {locale}, fetching data feeds {fetchDataFeeds}.
POST /api/templates/email/proof Send an email template proof · Send a proof of an email template #
Ask an LLM
“How do I send myself a test email of a template?”
“Can I send a proof email with custom data fields to a teammate?”
Tell an agent
Send a proof of email template {templateId} to {recipientEmail}.
Email a proof of template {templateId} to user {recipientUserId} with data {dataFields}.
POST /api/templates/email/update Update an email template's full settings · Update email template #
Ask an LLM
“Can I change an email template's CC, BCC and reply-to addresses?”
“Is it possible to attach data feeds or a message type when updating an email template?”
Tell an agent
Set the subject of email template {templateId} to {subject}.
Update email template {templateId} to reply to {replyToEmail} and BCC {bccEmails}.
POST /api/templates/email/upsert Create or update an email template by client ID · Create email template #
Ask an LLM
“How do I create an email template that updates if it already exists?”
“Will upserting an email template update every template with the same name?”
Tell an agent
Upsert email template {clientTemplateId} named {name} with subject {subject}.
Create email template {clientTemplateId} with HTML {html} from {fromEmail}.
GET /api/templates/embedded/get Get an embedded message template · Get an embedded message template #
Ask an LLM
“Can I fetch an embedded message template by ID?”
“Is there a localized version of my embedded template?”
Tell an agent
Get embedded template {templateId}.
Fetch embedded template {templateId} in locale {locale}.
POST /api/templates/embedded/update Update an embedded message template · Update embedded message template #
Ask an LLM
“Can I change the title, body or placement of an embedded template?”
“Is it possible to update an embedded template's buttons and elements?”
Tell an agent
Set embedded template {templateId} title to {title}.
Update embedded template {templateId} body to {body} and placement {placementId}.
POST /api/templates/embedded/upsert Create or update an embedded template by client ID · Create an embedded message template #
Ask an LLM
“How do I create an embedded message template that updates if it already exists?”
“Can a new embedded template target a specific placement?”
Tell an agent
Upsert embedded template {clientTemplateId} titled {title}.
Create embedded template {clientTemplateId} for placement {placementId} with body {body}.
GET /api/templates/getByClientTemplateId Find email templates by client template ID · Get an email template by clientTemplateId #
Ask an LLM
“Can I look up an email template using my own client template ID?”
“Which Iterable template matches the ID my system assigned?”
Tell an agent
Find the template with client template ID {clientTemplateId}.
Look up templates by my ID {clientTemplateId}.
GET /api/templates/inapp/get Get an in-app template in a locale · Get an in-app template #
Ask an LLM
“Can I fetch a localized in-app template under /api/templates?”
“Where do I read an in-app template's content in another language?”
Tell an agent
Get in-app template {templateId} in locale {locale}.
Fetch /api in-app template {templateId}.
POST /api/templates/inapp/preview Render an in-app template preview with custom data · Preview in-app template with custom data #
Ask an LLM
“Can I preview how an in-app message renders with sample data?”
“Does the in-app preview support pulling data feeds?”
Tell an agent
Preview in-app template {templateId} with data {dataFields}.
Render in-app template {templateId} using data feed {dataFeed}.
POST /api/templates/inapp/proof Send an in-app template proof · Send a proof of an in-app template #
Ask an LLM
“How do I send a test in-app message of a template to my device?”
“Can I send an in-app proof with custom data to a test user?”
Tell an agent
Send a proof of in-app template {templateId} to {recipientEmail}.
Send in-app proof of template {templateId} to user {recipientUserId} in locale {locale}.
POST /api/templates/inapp/update Update an in-app template · Update in-app template #
Ask an LLM
“Can I change when an in-app template expires?”
“Is it possible to update in-app display settings or inbox metadata?”
Tell an agent
Set in-app template {templateId} to expire at {expirationDateTime}.
Update in-app template {templateId} HTML to {html}.
POST /api/templates/inapp/upsert Create or update an in-app template by client ID · Create an in-app template #
Ask an LLM
“How do I create an in-app template that updates if it already exists?”
“Can a new in-app template set its expiration duration?”
Tell an agent
Upsert in-app template {clientTemplateId} named {name} with HTML {html}.
Create in-app template {clientTemplateId} expiring after {expirationDuration}.
GET /api/templates/push/get Get a push template in a locale · Get a push template #
Ask an LLM
“Can I fetch a localized push template under /api/templates?”
“What's the rate limit on reading push templates?”
Tell an agent
Get push template {templateId} in locale {locale}.
Fetch /api push template {templateId}.
POST /api/templates/push/proof Send a push template proof · Send a proof of a push template #
Ask an LLM
“How do I send a test push of a template to my phone?”
“Can a push proof use custom data fields?”
Tell an agent
Send a proof of push template {templateId} to {recipientEmail}.
Send push proof of template {templateId} to user {recipientUserId} with data {dataFields}.
POST /api/templates/push/update Update a push template · Update push template #
Ask an LLM
“Can I change a push template's deep link, sound or badge?”
“Is it possible to make a push template silent or set its interruption level?”
Tell an agent
Set push template {templateId} message to {message} with title {title}.
Update push template {templateId} deep link to {deeplink}.
POST /api/templates/push/upsert Create or update a push template by client ID · Create a push template #
Ask an LLM
“How do I create a push template that updates if one with that name exists?”
“Can a new push template include buttons and rich media?”
Tell an agent
Upsert push template {clientTemplateId} with message {message}.
Create push template {clientTemplateId} titled {title} with rich media {richMedia}.
GET /api/templates/sms/get Get an SMS template in a locale · Get an SMS template #
Ask an LLM
“Can I fetch a localized SMS template under /api/templates?”
“Where do I read an SMS template's text in another language?”
Tell an agent
Get SMS template {templateId} in locale {locale}.
Fetch /api SMS template {templateId}.
POST /api/templates/sms/proof Send an SMS template proof · Send a proof of an SMS template #
Ask an LLM
“How do I text myself a test of an SMS template?”
“Can an SMS proof go to a test user with custom data?”
Tell an agent
Send a proof of SMS template {templateId} to {recipientEmail}.
Text a proof of template {templateId} to user {recipientUserId} with data {dataFields}.
POST /api/templates/sms/update Update an SMS template · Update SMS template #
Ask an LLM
“Can I change the text or image on an SMS template?”
“Is it possible to set a tracking domain on an SMS template?”
Tell an agent
Set SMS template {templateId} message to {message}.
Update SMS template {templateId} image to {imageUrl} and tracking domain {trackingDomain}.
POST /api/templates/sms/upsert Create or update an SMS template by client ID · Create an SMS template #
Ask an LLM
“How do I create an SMS template that updates if one with that name exists?”
“Can a new SMS template include an image?”
Tell an agent
Upsert SMS template {clientTemplateId} with message {message}.
Create SMS template {clientTemplateId} named {name} with image {imageUrl}.
GET /templates/email/get Get an email template (simple) · Get an email template #
Ask an LLM
“Is there a plain /templates/email/get call to read an email template by ID?”
“Which basic endpoint returns an email template's content and metadata?”
Tell an agent
Get email template {templateId} from the plain /templates endpoint.
Read email template {templateId} via the simple endpoint.
POST /templates/email/update Update an email template's content (simple) · Update an email template #
Ask an LLM
“Can I update just an email template's subject, HTML and sender via the basic /templates path?”
“Which simple call edits an email template's preheader text?”
Tell an agent
Using /templates/email/update, set template {templateId} subject to {subject}.
Via the simple endpoint, update template {templateId} HTML to {html} and preheader to {preheaderText}.
GET /templates/push/get Get a push template (simple) · Get a push notification template #
Ask an LLM
“Is there a plain /templates/push/get call to read a push notification template?”
“Which basic endpoint returns a push template's content?”
Tell an agent
Get push template {templateId} from the plain /templates endpoint.
Read push notification template {templateId} via the simple endpoint.
GET /templates/sms/get Get an SMS template (simple) · Get an SMS template #
Ask an LLM
“Is there a plain /templates/sms/get call to read an SMS template?”
“Which basic endpoint returns an SMS template's text and metadata?”
Tell an agent
Get SMS template {templateId} from the plain /templates endpoint.
Read SMS template {templateId} via the simple endpoint.
GET /templates/inApp/get Get an in-app template (simple) · Get an in-app message template #
Ask an LLM
“Is there a plain /templates/inApp/get call to read an in-app template?”
“Which basic endpoint returns an in-app message template's content?”
Tell an agent
Get in-app template {templateId} from the plain /templates endpoint.
Read in-app message template {templateId} via the simple 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-templates-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-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Iterable Templates API
  version: '1.0'
  description: 'Operations tagged templates 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 (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/iterable/refs/heads/main/openapi/iterable-templates-api-openapi.yml