Iterable

Cross-channel marketing platform for creating, executing, and optimizing campaigns

116 actions Integration catalog
Request access
Connect Iterable once you're in Boring.
01 · WHAT THE AGENT CAN DO

Actions

Every capability is a discrete, logged action the agent calls by name — scoped to what you authorize and recorded in the run trace.

Abort CampaignITERABLE_ABORT_CAMPAIGN
Abort a running campaign to stop all in-progress message deliveries. Use this action when you need to immediately halt an active campaign that is currently sending messages to recipients. This action is useful for emergency stops, such as when an issue is discovered in the campaign content or targeting. Note: Only campaigns in 'Running' state can be aborted. Campaigns that have already finished or were not started cannot be aborted.
Activate a triggered campaignITERABLE_ACTIVATE_TRIGGERED_CAMPAIGN
Activates a triggered campaign by its unique ID, allowing it to process events and send messages. Use this action when you need to start a triggered campaign that will send messages based on user events (e.g., cart abandonment, welcome series, re-engagement). The campaign must be in a valid state for activation (e.g., not already running or finished). Note: API triggered campaign activation must be enabled for your project.
Archive CampaignsITERABLE_ARCHIVE_CAMPAIGNS
Archives one or more campaigns. This endpoint behaves the same as the archive feature in the UI. Scheduled or recurring campaigns will be cancelled, and running campaigns will be aborted. Archived campaigns will be hidden from the Campaigns page, but can still be viewed in the Archived tab. Use this action when you need to remove campaigns from the active campaigns list while preserving them for historical reference. This action is irreversible — once archived, campaigns cannot be restored through this API (must be done manually through the UI). Rate limit: 5 requests/second, per API key.
Bulk Update UsersITERABLE_BULK_UPDATE_USERS
Bulk update user data in Iterable. Use this action when you need to update multiple user profiles at once. This endpoint adds and overwrites user profile fields as needed. It does not modify top-level fields omitted from the request body. If you'd like to merge (rather than overwrite) a user profile's top-level objects with the values provided, set mergeNestedObjects to true. When updating an existing field, you cannot change its data type (the new value must have the same data type as the old value). At least one of email or userId must be provided for each user in the users array.
Cancel CampaignITERABLE_CANCEL_CAMPAIGN
Cancel a scheduled or recurring campaign in Iterable. Use when you need to stop a campaign that is scheduled for future sending or is part of a recurring campaign cycle. Once canceled, the campaign will not be sent to any recipients. Note: This action is irreversible for campaigns that are already in the process of sending. Only campaigns with a 'Scheduled' or 'Recurring' state can be canceled.
Cancel EmailITERABLE_CANCEL_EMAIL
Cancel a scheduled email to a specific user in Iterable. Use when you need to stop an email that has been queued for a specific user but has not yet been sent. You can cancel by providing the scheduledMessageId alone, or by providing a campaignId along with the user's email or userId. Note: This action is irreversible — once an email is canceled, it cannot be sent again using this endpoint. The canceled message will not be delivered to the recipient.
Cancel ExportITERABLE_CANCEL_EXPORT
Cancel a queued or running export created with the 'Start export' endpoint. Use when you need to abort an export job that is in progress or queued. Rate limit: 1 request/second, per project.
Cancel In-App MessageITERABLE_CANCEL_IN_APP
Cancel a scheduled in-app message to a specific user in Iterable. Use when you need to stop a scheduled in-app message that is queued for delivery to a specific user. This action cancels the in-app message for the specified user based on their email or userId. Note: This action is irreversible — once an in-app message is canceled, it will not be delivered to the user.
Cancel PushITERABLE_CANCEL_PUSH
Cancel a scheduled push notification to a specific user in Iterable. Use when you need to stop a push notification that has been queued for a specific user but has not yet been sent. You can cancel by providing the scheduledMessageId alone, or by providing a campaignId along with the user's email or userId. Note: This action is irreversible — once a push notification is canceled, it cannot be resent using this endpoint. The canceled message will not be delivered to the recipient.
Cancel Web PushITERABLE_CANCEL_WEB_PUSH
Cancel a scheduled web push notification to a specific user in Iterable. Use when you need to stop a web push notification that has been queued for a specific user but has not yet been sent. You can cancel by providing the scheduledMessageId alone, or by providing a campaignId along with the user's email or userId. Note: This action is irreversible — once a web push notification is canceled, it cannot be resent using this endpoint. The canceled message will not be delivered to the recipient.
Cancel WhatsAppITERABLE_CANCEL_WHATS_APP
Cancel a scheduled WhatsApp message to a specific user in Iterable. Use when you need to stop a WhatsApp message that has been queued for a specific user but has not yet been sent. You can cancel by providing the scheduledMessageId alone, or by providing a campaignId along with the user's email or userId. Note: This action is irreversible — once a WhatsApp message is canceled, it cannot be resent using this endpoint. The canceled message will not be delivered to the recipient.
Create a new campaignITERABLE_CREATE_CAMPAIGN
Creates a new blast or triggered campaign from an existing template. Use this action when you need to create email, push notification, web push notification, SMS, in-app message, and embedded message campaigns from an existing template. Note that global suppression lists are not automatically added to campaigns created from this endpoint; to include a global suppression list, include it in the suppressionListIds request parameter.
Create a catalogITERABLE_CREATE_CATALOG
Create a catalog with the specified name in Iterable. Use this action when you need to create a new catalog to store and organize data such as products, users, or other entities. Each catalog in a project must have a unique name. Catalog names can be no longer than 255 characters and must contain only alphanumeric characters and dashes.
Create Catalog ItemsITERABLE_CREATE_CATALOG_ITEMS
Asynchronously creates or updates up to 1000 catalog items with a single request. Use this action when you need to bulk create or update catalog items efficiently. If an item with the same ID already exists, it will be completely overwritten, unless replaceUploadedFieldsOnly is set to true to merge fields instead. This operation is asynchronous — the API returns 202 Accepted when the request is queued for processing. The rate limit is 100 requests per second. Note: Each item ID must contain only alphanumeric characters and dashes (max 255 characters), and field names should not contain periods.
Create a new listITERABLE_CREATE_LIST
Create a new static list in Iterable. Use this action when you need to create a new contact list that can be used for email campaigns, segmentation, or organizing contacts. Each list must have a unique name within the project. The newly created list starts empty and can be populated by adding contacts via other Iterable API actions.
Create snippetITERABLE_CREATE_SNIPPET
Creates a new code snippet in Iterable. Use this action when you need to create a reusable code snippet that can be referenced in campaigns, templates, or other Iterable features. The snippet name must be unique within the project and cannot be changed after creation.
Deactivate Triggered CampaignITERABLE_DEACTIVATE_TRIGGERED_CAMPAIGN
Deactivate a triggered campaign in Iterable. Use when you need to stop a triggered campaign from firing based on user events. This action is irreversible — once a triggered campaign is deactivated, it cannot be reactivated through this API. Use the Iterable dashboard or the activate triggered campaign endpoint to reactivate it. Note: Only triggered campaigns can be deactivated. Regular blast campaigns cannot be deactivated using this endpoint.
Bulk delete templatesITERABLE_DELETE_BULK_TEMPLATES
Bulk delete one or more base templates from Iterable. Use this action when you need to permanently remove multiple templates that are no longer needed. This action is irreversible — templates cannot be recovered once deleted. Note: Templates associated with a campaign will not be deleted and will be skipped.
Delete a catalogITERABLE_DELETE_CATALOG
Delete a catalog by its name. This action also deletes all collections that reference the specified catalog. Use this action when you need to permanently remove a catalog and all its associated collections from Iterable. This action is irreversible — the catalog and all associated collections cannot be recovered once deleted.
Delete a Catalog ItemITERABLE_DELETE_CATALOG_ITEM
Deletes the specified item from a catalog. This action is asynchronous — the data may not be deleted immediately. Use this action when you need to remove a specific item from a catalog by its unique identifier. This action is irreversible — once the item is deleted, it cannot be recovered unless a backup or re-sync mechanism is in place.
Delete Catalog ItemsITERABLE_DELETE_CATALOG_ITEMS
Asynchronously deletes catalog items from a specified catalog in Iterable. Use when you need to remove specific items from a catalog by their IDs. This action processes the deletion asynchronously — the API may return a 202 Accepted status indicating the request has been queued for processing. Important: This action is irreversible — the catalog items cannot be recovered once deleted. Note: This endpoint supports bulk deletion of multiple items at once. Ensure all item IDs in the request are valid and exist in the catalog to avoid partial deletions.
Delete a listITERABLE_DELETE_LIST
Delete a list by its listId. Use this action when you need to permanently remove a contact list from Iterable. This action is irreversible — the list and all associated data cannot be recovered once deleted. Note: Lists that are currently in use (e.g., in active campaigns) may not be deletable and will return a 409 error.
Delete Metadata TableITERABLE_DELETE_METADATA_TABLE
Asynchronously deletes a metadata table by its table name. Use when you need to permanently remove a metadata table from Iterable. This action is asynchronous - a 200 response indicates a valid request that will be processed, but the table may not be deleted immediately. Use GET /api/metadata/{table} to verify that the deletion is complete. This action is irreversible — the table and all associated data cannot be recovered once deleted.
Delete snippetITERABLE_DELETE_SNIPPET
Deletes a snippet by its ID (numeric) or name (string). Numeric identifiers are treated as snippet IDs, string identifiers as snippet names. Use this action when you need to remove a snippet that is no longer needed. This action is irreversible - the snippet cannot be recovered once deleted.
Delete User By IDITERABLE_DELETE_USER_BY_ID
Asynchronously deletes a user by userId from Iterable. Use when you need to remove a user from Iterable's system by their userId. This action does not prevent future data collection about the user. If multiple users share the same userId, they'll all be deleted. This endpoint can be used to delete users from email-based projects, userID-based projects, and hybrid projects. Important: This action is irreversible — the user data cannot be recovered once deleted. Note: userId values containing a '/' character are not supported by this endpoint.
Export data to CSVITERABLE_EXPORT_DATA_CSV
Export campaign analytics data in CSV format from Iterable. Use when you need to retrieve event data such as email sends, opens, clicks, push notifications, SMS messages, purchases, or custom events. Note: Either use the 'range' parameter (recommended for simple date filtering) OR use 'startDateTime' and 'endDateTime' together for custom date ranges. Using both will result in an error. Rate limit: 4 requests per minute per project.
Export Campaign Data to JSONITERABLE_EXPORT_DATA_JSON
Export campaign analytics data in JSON format with one entry per line. Use when you need to retrieve campaign metrics such as email sends, opens, clicks, purchases, or custom events. Rate limit: 4 requests per minute per project. Either 'range' OR 'startDateTime'/'endDateTime' must be provided.
Export User EventsITERABLE_EXPORT_USER_EVENTS
Export all events for a user identified by email or userId. Returns events as JSON, one event per line. Use this action when you need to retrieve the complete event history for a specific user in Iterable. Either email or userId must be provided, but not both. Custom events are excluded by default unless includeCustomEvents is set to true.
Forget UserITERABLE_FORGET_USER
Deletes the specified user's data from the Iterable project and prevents future data collection about them. This action is used for GDPR compliance. Use this action when you need to permanently remove a user's data from Iterable and ensure no future data is collected about them. In email-based projects, you must forget users by email. In userID-based projects, you must forget users by userId. In hybrid projects, you can forget users by either email or userId. Learn about identifying users by userId and email. Note: This action is irreversible - once a user is forgotten, their data cannot be recovered and future data collection about them is prevented.
Get campaign by IDITERABLE_GET_CAMPAIGN
Retrieves a campaign by its unique ID. Use this action when you need to fetch detailed information about a specific campaign from Iterable. The response includes campaign metadata such as state, type, timing, and associated lists or templates.
Get Campaign MetricsITERABLE_GET_CAMPAIGN_METRICS
Retrieve performance metrics for one or more campaigns. Use when you need to analyze delivery, open, click, and conversion rates for your email, push, or SMS campaigns. This action allows filtering by specific campaign IDs and/or a date range. Note: Rate limited to 10 requests per minute per project.
Get Catalog Field MappingsITERABLE_GET_CATALOG_FIELD_MAPPINGS
Tool to retrieve field mappings (field to data type) and undefined fields for a catalog in Iterable. Use when you need to inspect the schema structure and data type definitions of a catalog.
Get catalog item by IDITERABLE_GET_CATALOG_ITEM
Retrieves a specific catalog item by its ID from the specified catalog. Use this action when you need to fetch a single item from a catalog using its unique identifier.
Get email template by IDITERABLE_GET_EMAIL_TEMPLATE
Get an email template by templateId. Use this action when you need to retrieve a specific email template from Iterable to view its content, settings, sender configuration, or metadata. The response includes the template's HTML and plain text content, sender information (from email, reply-to), subject line, and various rendering options like data feeds, link parameters, and analytics settings. Optionally, you can specify a locale parameter to retrieve localized content if available.
Get Embedded MessagesITERABLE_GET_EMBEDDED_MESSAGES
This action retrieves embedded messages for a specific user from Iterable. It returns messages grouped by placementId and can be filtered by platform, SDK version, and placement IDs.
Get Embedded TemplateITERABLE_GET_EMBEDDED_TEMPLATE
This action retrieves a specific embedded message template by its ID from Iterable. It returns template details including body content, buttons, media, and campaign metadata.
Get Experiment MetricsITERABLE_GET_EXPERIMENT_METRICS
Retrieve metrics for email experiments. Use when you need to analyze performance data for A/B tests or email experiments. This action allows filtering by specific experiment IDs, campaign IDs, and/or a date range. Currently only email experiment metrics are supported.
Get In-App MessagesITERABLE_GET_IN_APP_MESSAGES
Get a user's in-app messages from Iterable. This endpoint always returns the user's non-selective (not app-specific) in-app messages. To also fetch app-specific in-app messages, include a packageName and platform in the request. Use this action when you need to retrieve in-app messages for a user, including new messages and messages that have already been saved to a mobile inbox. Each message includes a read field to indicate whether it has been seen.
Get in-app template by IDITERABLE_GET_IN_APP_TEMPLATE
Retrieves an in-app template by its unique ID. Use this action when you need to fetch detailed information about a specific in-app template from Iterable, including its content, display settings, and metadata. Optionally specify a locale to retrieve localized content.
Get List SizeITERABLE_GET_LIST_SIZE
Get the number of users within a list. Returns the count of users currently subscribed to the specified list. Use this action when you need to check how many users are in a specific list for reporting, list management, or campaign planning purposes.
Get push template by IDITERABLE_GET_PUSH_TEMPLATE
Retrieves a push template by its unique ID. Use this action when you need to fetch a specific push template from Iterable to view its settings, content, or configuration. The response includes all template properties including message content, buttons, deeplinks, and metadata. Rate limit: 100 requests/second, per project.
Get SMS templateITERABLE_GET_SMS_TEMPLATE
Retrieves an SMS template by its unique ID. Use this action when you need to fetch the content, metadata, and settings of a specific SMS template from Iterable. The response includes the template message content, locale information, tracking settings, and other configuration details. Rate limit: 100 requests/second, per project.
Get snippet by ID or nameITERABLE_GET_SNIPPET
Retrieves a snippet by its ID (numeric) or name (string). Numeric identifiers are treated as snippet IDs, string identifiers as snippet names. Use this action when you need to retrieve a specific snippet by its identifier to view its content, metadata, or associated variables.
Get template by client template IDITERABLE_GET_TEMPLATE_BY_CLIENT_ID
Retrieves an email template by its client-defined template ID. Use this action when you need to find templates using a client-specific identifier rather than the internal Iterable template ID. The response contains a list of templates that match the provided clientTemplateId. Rate limit: 100 requests/second, per project.
Get User By IDITERABLE_GET_USER_BY_ID
Get a user by userId from Iterable. Use when you need to retrieve user information using a specific userId. This action fetches user data including email, userId, and any additional dataFields stored in Iterable. Unlike path-parameter endpoints, this query-parameter-based endpoint provides better support for special characters (such as '/') in the userId value. Rate limit: 100 requests/second per project.
Get User By ID (Path)ITERABLE_GET_USER_BY_ID_PATH
Get a user by userId (path parameter) from Iterable. Use when you need to retrieve user information using a specific userId as a path parameter. This action fetches user data including email, userId, and any additional dataFields stored in Iterable. Note: This endpoint does not work for userId values that contain a '/' character. For userIds with special characters, use the query-parameter-based GET /api/users/byUserId endpoint instead. Rate limit: 100 requests/second per project.
Get User EventsITERABLE_GET_USER_EVENTS
Get events for a specific user by userId. Use when you need to retrieve the event history for a particular user from Iterable. This action allows you to fetch a user's event data including campaign interactions, channel activity, and associated metadata. The results can be filtered using the limit parameter to control the number of events returned (max 200). Note: This endpoint does not support userId values containing a '/' character.
Get User Sent MessagesITERABLE_GET_USER_SENT_MESSAGES
Get messages sent to a user by email address or userId. Use when you need to retrieve the message history for a specific user in Iterable. This action returns messages sent to a user, with optional filtering by campaign, date range, and message type. Returns 10 messages by default, up to a maximum of 1000. Rate limit: 3 requests/second per project. Note: Either email or userId must be provided to identify the user, but not both.
Get Web In-App MessagesITERABLE_GET_WEB_IN_APP_MESSAGES
Get a user's web in-app messages from Iterable. This endpoint always returns the user's non-selective (not app-specific) web in-app messages. To also fetch web app-specific in-app messages, include a packageName in the request. This endpoint returns new messages and messages that have already been saved to a mobile inbox, and each message has a read field to indicate whether or not it has already been seen. Use when you need to retrieve in-app messages for a user, such as displaying an inbox of notifications or checking unread message status.
List all campaignsITERABLE_LIST_CAMPAIGNS
Retrieves metadata about all campaigns in a project with optional pagination. Use this action when you need to enumerate all campaigns in a project, retrieve campaign IDs for subsequent operations, or paginate through large result sets. The response includes campaign metadata such as state, type, timing, and associated lists or templates. If no pagination parameters are provided, the unpaginated API returns all campaigns (deprecated behavior, may be removed in the future). Rate limit: 100 requests/second, per project.
List Catalog ItemsITERABLE_LIST_CATALOG_ITEMS
Get the catalog items for a catalog. Use when you need to retrieve items stored in a specific Iterable catalog, such as product catalogs, user preferences, or custom data sets. Supports pagination and sorting for large catalogs. Rate limit: 100 requests/second per API key.
List CatalogsITERABLE_LIST_CATALOGS
Tool to retrieve all catalog names from Iterable. Use when you need to list available catalogs before performing catalog-specific operations like getting or setting catalog records.
List ChannelsITERABLE_LIST_CHANNELS
Get all message channels within the Iterable project. Use this action when you need to retrieve all available communication channels (e.g., email, push notifications) configured in your Iterable project. This is useful for identifying valid channel options when creating campaigns or managing messaging workflows.
List export filesITERABLE_LIST_EXPORT_FILES
Get the job status and files for an export started with the 'Start export' endpoint. Occasionally, a job status may change from running to enqueued because it had to restart. When this happens, the job maintains progress and begins where it previously stopped. Iterable uses exponential backoff for retries. Files are added to the list as the export job is running. Paginate through the files by using the last file name in the response as the startAfter value for the next request. Use when you need to monitor export progress, retrieve export results, or paginate through large export file lists.
List Export JobsITERABLE_LIST_EXPORT_JOBS
Retrieve a list of recent export jobs for the current project. Use when you need to monitor export job status, check for completed exports, or manage data export operations.
List Forgotten User IDsITERABLE_LIST_FORGOTTEN_USER_IDS
Get hashed user IDs of forgotten users for GDPR compliance. Returns a hash for each userId currently forgotten by your project. Each forgotten userId is lowercased, trimmed, and hashed using SHA-256. Use this action when you need to retrieve forgotten user data for GDPR compliance audits or data subject request processing. Note: This endpoint only works for userID-based and hybrid projects. For email-based projects, it returns an error. Rate limit: 3 requests/second, per project.
List JourneysITERABLE_LIST_JOURNEYS
Get a list of journeys (workflows) within your Iterable project. Use this action when you need to retrieve and browse through marketing automation journeys, including their status, configuration, and metadata. Supports pagination, sorting, and filtering by journey state (active, archived, etc.).
List ListsITERABLE_LIST_LISTS
Retrieve all lists within a project. Use when you need to enumerate available lists, retrieve list IDs for subsequent operations, or understand the structure of contact lists. Rate limit: 100 requests/second, per project.
List List UsersITERABLE_LIST_LIST_USERS
Get all users within a list. Use when you need to retrieve the complete list of users subscribed to a specific list for export, analysis, or batch operations. This action returns all users in the list (unlike preview which returns a sample). Rate limit: 5 requests/minute, per project.
List Message TypesITERABLE_LIST_MESSAGE_TYPES
Lists all message types within a project. Use when you need to retrieve all available message types (e.g., Email, Push, SMS) and their associated metadata such as channel ID, subscription policy, and rate limits. Rate limit: 100 requests/second, per project.
Showing the first 60 of 116 actions.