Connectors
Marketing & Customer Engagement
Iterable
Cross-channel marketing: users, events, campaigns, lists, and message sending
Iterable API referenceAPI checked August 17, 2026
- Signs in with
- API key
- Runs on
- Cloud or On-Prem Worker
- Operations
- 148
- Ready-made triggers
- 0
Connect Iterable
- In Neblex open Connect › Connections and click New Connection.
- Search for Iterable and give the connection a clear name.
- Fill in the fields. Secret values are encrypted and never shown again.
- Click Test, then Create Connection.
| Field | What to enter |
|---|---|
| Data centerRequired | Choose the data center that hosts the Iterable project. |
| API keyRequiredSecret | Iterable API key for this project and data center. |
Use it in a flow
- Open a flow, open the node library and search for Iterable.
- Drag it onto the canvas and choose an Operation and your connection.
- Map the operation's fields from earlier steps, or click Map with Matt.
- Use Test this step to see what it returns, then save.
To start a flow from Iterable without a ready-made trigger: a Poll for changes trigger can check one of its list operations on a schedule and pass on only what is new; if Iterable can send webhooks, a Webhook trigger receives them at its own URL.
Operations
148 operations in 25 groups. Each one is a step you can add to a flow.
campaigns13
Abort a campaignabortCampaign | POST | Abort a campaign given a campaign ID |
Activate a triggered campaignactivateTriggeredCampaign | POST | Activate a triggered campaign given a campaign ID |
Archive campaignsarchiveCampaigns | POST | Archives one or more campaigns. |
Cancel a scheduled or recurring campaigncancelCampaign | POST | Cancel a campaign given a campaign ID |
Create a campaigncreateCampaign | POST | Creates a new blast or triggered campaign from an existing template. |
Deactivate a triggered campaigndeactivateTriggeredCampaign | POST | Deactivate a triggered campaign given a campaign ID |
Get a campaigngetCampaign | GET | Get a campaign by ID. |
Get child campaigns of a recurring campaignchildCampaigns | GET | Get child campaigns generated by a recurring campaign. |
Get metrics for campaignscampaignsMetrics | GET | Get metrics for a single campaign or multiple campaigns. |
List campaign metadatalistCampaigns | GET | Get metadata about campaigns in a project. |
Schedule existing campaign to be sentscheduleCampaign | POST | Schedule existing campaign to be sent |
Send existing campaign nowsendCampaign | POST | Send existing campaign now |
Trigger a campaigntriggerCampaign | POST | Trigger a campaign given lists |
catalogs12
Bulk create catalog itemsbulkUpdateCatalogItems | POST | Asynchronous. |
Bulk delete catalog itemsbulkDeleteCatalogItems | DELETE | Asynchronous. |
Create a catalogcreateCatalog | POST | Create a catalog. |
Create or replace a catalog itemindexCatalogItem | PUT | Asynchronous. |
Create or update a catalog itempartialUpdateCatalogItem | PATCH | Asynchronous. |
Delete a catalogdeleteCatalog | DELETE | Delete the catalog with the specified name. |
Delete a catalog itemdeleteCatalogItem | DELETE | Asynchronous. |
Get a specific catalog itemgetCatalogItem | GET | Get a specific catalog item from the given catalog. |
Get catalog nameslistCatalogs | GET | Get catalog names. |
Get field mappings for a cataloggetFieldMappings | GET | Field mappings (field to data types) and undefined fields of a catalog |
Get the catalog items for a cataloglistCatalogItems | GET | Get the catalog items for a catalog. |
Set a catalog's field mappings (data types)updateFieldTypes | PUT | Set a catalog's field mappings (data types). |
channels1
Get channelschannels | GET | Get all message channels within the project. |
commerce2
Track a purchasetrackPurchase | POST | Track purchase events. |
Update a user's shopping cart itemsupdateCart | POST | Update the shoppingCartItems field on the user profile with shopping cart items. |
email3
Cancel an email to a useremailCancel | POST | Cancels an email to a specific user. |
Send an email to an email addresssendEmail | POST | Send an email to a specific email address. |
View a previously sent emailviewInBrowser | GET | View a rendered version of a previously sent email. |
Embedded Messaging1
Get a user's embedded messagesmessages | GET | This endpoint returns embedded messages for which the specified user is eligible, grouped by placementId . |
events14
Bulk track eventstrackBulk | POST | Events are created asynchronously and processed separately from single event (non-bulk) endpoint . |
Consume or delete an in-app messageinAppConsume | POST | Consumes or deletes an in-app message from the server. |
Get user eventsuserEvents | GET | Get events for a specific user, by email . |
Get user events by userIduserEventsByUserId | GET | Get events for a specific user, by userId . |
Track a mobile push opentrackPushOpen | POST | Learn about identifying users by userId and email . |
Track a web push clicktrackWebPushClick | POST | Learn about identifying users by userId and email . |
Track an embedded message clickembeddedTrackClick | POST | This endpoint tracks a click on an embedded message. |
Track an embedded message received eventembeddedTrackReceived | POST | This endpoint tracks that a given embedded message was received on a device. |
Track an embedded message session and related impressionsembeddedTrackImpression | POST | This endpoint tracks a single embeddedSession event, and one embeddedImpression event for each of the session's impressions. |
Track an eventtrack | POST | Events are created asynchronously and processed separately from single event (non-bulk) endpoint . |
Track an in-app message clicktrackInAppClick | POST | Creates an inAppClick event for the specified user, message, and URL. |
Track an in-app message opentrackInAppOpen | POST | Creates an inAppOpen event for the specified user and message, and marks the message as having been read. |
Track the closing of an in-app messagetrackInAppClose | POST | Creates an inAppClose event for a specific user and in-app message. |
Track the delivery of an in-app messagetrackInAppDelivery | POST | Creates an inAppDelivery event for a specific user, device, and message. |
experiments4
Get experimentgetExperiment | GET | Get a single experiment by ID. |
Get experiment variantsvariants | GET | Get all variants for an experiment. |
Get metrics for experimentsexperimentsMetrics | GET | Get metrics for a single experiment or for multiple experiments. |
List experimentslistExperiments | GET | Get a list of experiments with optional filtering by campaign, state, and date range. |
export7
Cancel exportcancelExport | DELETE | Cancel a queued or running export created with the "Start export" endpoint. |
Export data to CSVexportDataCsv | GET | Export campaign analytics data in CSV format. |
Export data to JSONexportDataJson | GET | Export campaign analytics data in JSON format, one entry per line. |
Export user eventsexportUserEvents | GET | Export all events (in JSON) for the user specified by email or userId . |
Get export filesgetExportFiles | GET | Get the job status and files for an export started with the "Start export" endpoint. |
Get export jobsgetExportJobs | GET | Return a list of recent export jobs. |
Start exportstartExport | POST | Start a data export. |
In-app4
Cancel a scheduled in-app messageinAppCancel | POST | Cancels the sending of a scheduled in-app message to a specific user. |
Get a user's in-app messagesgetInAppMessages | GET | Get a user's in-app messages. |
Get a user's most relevant in-app messagegetPriorityMessage | GET | Get a user's most relevant in-app message. |
Send an in-app notification to a userinAppTarget | POST | Send an in-app notification to a specific user. |
In-app-web1
Get a user's web in-app messagesgetInAppWebMessages | GET | Get a user's web in-app messages. |
lists8
Add subscribers to listsubscribe | POST | Add specific subscribers to a list. |
Create a static listcreate | POST | Create a new static list. |
Delete a listdeleteList | DELETE | Delete a list by listId. |
Get count of users in listgetListCount | GET | Get the number of users within a list. |
Get listslistLists | GET | Get all lists within a project. |
Get users in a listgetListUsers | GET | Get all users within a list. |
Preview users in a listgetUsersPreview | GET | Get a random sample of up to 5000 users within a list. |
Remove users from a listunsubscribe | POST | Remove specific users from a list. |
messageTypes1
List message typesmessageTypes | GET | List all message types within a project. |
metadata6
Create or replace metadataput | PUT | Asynchronous. |
Delete a single metadata key/valuedeleteMetadata | DELETE | Asynchronous. |
Delete a tabledeleteMetadataTable | DELETE | Asynchronous. |
Get the metadata value of a single keygetMetadata | GET | Get the metadata value of a single key |
List available tableslistTables | GET | List available tables |
List keys in a tablelistMetadataTable | GET | List keys in a table |
push2
Cancel a push notification to a userpushCancel | POST | Cancels a push notification to a specific user. |
Send push notification to userpushTarget | POST | Send a push notification to a specific user. |
SMS2
Cancel an SMS to a usersmsCancel | POST | Cancels an SMS to a specific user. |
Send SMS notification to usersmsTarget | POST | Send an SMS notification to a specific user. |
snippets5
Create a snippetcreateSnippet | POST | Create a new snippet. |
Create or update a snippetupdateSnippet | PUT | Create or update a snippet by ID (numeric) or name (string). |
Delete a snippetdeleteSnippet | DELETE | Delete a snippet by ID (numeric) or name (string). |
Get all snippetsgetSnippets | GET | Get all snippets for the current project. |
Get snippet by ID or namegetSnippet | GET | Retrieve a snippet by its ID (numeric) or name (string). |
subscriptions6
Bulk subscription action on a list of usersbulkSubscriptionAction | PUT | Subscribes or unsubscribes multiple users to the specified subscription group. |
Subscribe a single usersubscribeSingleUser | PATCH | Subscribes a user to the specified subscription group. |
Subscribe a single user by their userIdsubscribeSingleUserByUserId | PATCH | Subscribes a user to the specified subscription group. |
Trigger a double opt-in subscription flowsubscribeSingleUserToDoubleOptIn | POST | This endpoint triggers a double opt-in subscription for a user. |
Unsubscribe a single userunsubscribeSingleUser | DELETE | Unsubscribes a user from the specified subscription group. |
Unsubscribe a single user by userIdunsubscribeSingleUserByUserId | DELETE | Unsubscribes a user from the specified subscription group. |
templates24
Bulk delete templatesbulkDeleteTemplates | POST | This endpoint deletes one or more base templates. |
Create a push templateupsertPushTemplate | POST | Create a push template if it doesn't exist, otherwise update all push templates that match the name provided. |
Create an embedded message templateupsertEmbeddedTemplate | POST | Create an embedded message template if it doesn't exist yet, otherwise update all embedded message templates that match the name provided. |
Create an in-app templateupsertInAppTemplate | POST | Create an in-app template if it doesn't exist yet, otherwise update all in-app templates that match the name provided. |
Create an SMS templateupsertSmstemplate | POST | Create an SMS template if it doesn't exist yet, otherwise update all SMS templates that match the name provided. |
Create email templateupsertEmailTemplate | POST | Create email template if it doesn't exist already, otherwise update all email templates that match the name provided. |
Get a push templategetPushTemplate | GET | Rate limit : 100 requests/second, per project. |
Get an email template by clientTemplateIdgetByClientTemplateId | GET | Rate limit : 100 requests/second, per project. |
Get an email template by templateIdgetEmailTemplate | GET | Rate limit : 100 requests/second, per project. |
Get an embedded message templategetEmbeddedTemplate | GET | Rate limit : 100 requests/second, per project. |
Get an in-app templategetInAppTemplate | GET | Get an in-app template |
Get an SMS templategetSmstemplate | GET | Rate limit : 100 requests/second, per project. |
Get project templateslistTemplates | GET | Get templates for a project. |
Preview email template with custom datapreviewEmailTemplate | POST | Generate a fully rendered HTML preview of an email template using custom data. |
Preview in-app template with custom datapreviewInAppTemplate | POST | Generate a fully rendered HTML preview of an in-app template using custom data. |
Send a proof of a push templatepushProof | POST | Send a proof of a push template to a specific user. |
Send a proof of an email templateemailProof | POST | Send a proof of an email template to a specific user. |
Send a proof of an in-app templateinappProof | POST | Send a proof of an in-app template to a specific user. |
Send a proof of an SMS templatesmsProof | POST | Send a proof of an SMS template to a specific user. |
Update email templateupdateEmailTemplate | POST | Update email template |
Update embedded message templateupdateEmbeddedTemplate | POST | Update embedded message template |
Update in-app templateupdateInAppTemplate | POST | Update in-app template |
Update push templateupdatePushTemplate | POST | Update push template |
Update SMS templateupdateSmstemplate | POST | Update SMS template |
users22
Bulk update user databulkUpdateUser | POST | Bulk updates user data. |
Bulk update user subscriptionsbulkUpdateSubscriptions | POST | IMPORTANT : This endpoint overwrites (does not merge) existing data for any non- null fields specified in the request. |
Delete a user by emaildeleteUser | DELETE | Asynchronous. |
Delete user by userIddeleteUserByUserId | DELETE | Asynchronous. |
Disable pushes to a mobile devicedisableDevice | POST | Disables push notifications to a given device. |
Forget a user in compliance with GDPRforget | POST | Deletes the specified user's data from the Iterable project and prevents future data collection about them. |
Get a user by email (path parameter)getUser | GET | Get a user by email address (passed as a path parameter). |
Get a user by email (query parameter)getUserByEmailQuery | GET | Get a user by email address (passed as a query parameter). |
Get a user by userId (path parameter)getUserByUserIdPath | GET | Get a user by userId (passed as a path parameter). |
Get a user by userId (query parameter)getUserByUserIdQuery | GET | Get a user by userId (passed as a query parameter). |
Get all user fieldsgetUserFields | GET | Get all user fields within a project. |
Get hashed forgotten userIds in compliance with GDPRexportProjectForgottenUserIds | GET | Returns a hash for each userId currently forgotten by your project. |
Get hashed forgotten users in compliance with GDPRexportProjectForgottenUsers | GET | Returns a hash for each email addresses currently forgotten by your project. |
Get messages sent to a usergetSentMessages | GET | Gets messages sent to a user, by email address or userId . |
Invalidate all JWTs issued for a userinvalidateJwt | POST | Invalidates all JWTs issued for a given user before the current time or a specified time. |
Merge usersmergeUsers | POST | Merge two users. |
Register a browser token for web pushregisterBrowserToken | POST | Learn about identifying users by userId and email . |
Register a device token for pushregisterDeviceToken | POST | Registers a device token for push. |
Unforget a user in compliance with GDPRunforget | POST | Allows the Iterable project to resume collecting data about a previously forgotten user. |
Update user dataupdateUser | POST | Updates user data or adds a user if none exists. |
Update user emailupdateEmail | POST | Updates a user's email . |
Update user subscriptionsupdateSubscriptions | POST | Updates user subscriptions. |
Verify2
Begin SMS VerificationbeginSmsVerification | POST | Sends an SMS verification code to phoneNumber , using the specified verificationProfileId . |
Check SMS Verification CodecheckSmsVerification | POST | Checks whether the code included in the request body matches the most recent, non-expired, not-yet-verified SMS verification code sent to phoneNumber by the specified verificationProfileId . |
webhooks2
Get webhooksgetWebhooks | GET | Get webhooks for a project. |
Update webhookupdateWebhook | POST | Update webhook |
webPush2
Cancel a web push notification to a userwebPushCancel | POST | Cancels a web push notification to a specific user. |
Send web push notification to userwebPushTarget | POST | Sends a web push notification to a specific user. |
WhatsApp2
Cancel a scheduled WhatsApp messagewhatsAppCancel | POST | Cancels the sending of a scheduled WhatsApp message to a specific user. |
Send a WhatsApp message to a userwhatsAppTarget | POST | Send a WhatsApp message to a user. |
workflows2
Get journeys (workflows)getJourneys | GET | Get a list of the journeys within your project. |
Trigger a journey (workflow)triggerWorkflow | POST | Triggers a journey (formerly known as workflow). |