{"article":{"id":204780579,"url":"https://iterable.zendesk.com/api/v2/help_center/en-us/articles/204780579.json","html_url":"https://support.iterable.com/hc/en-us/articles/204780579-Iterable-API-Endpoints-and-Sample-Payloads","author_id":372568349631,"comments_disabled":true,"draft":false,"promoted":false,"position":0,"vote_sum":0,"vote_count":0,"upvote_count":0,"downvote_count":0,"section_id":360008913351,"created_at":"2015-07-07T01:24:56Z","updated_at":"2026-10-02T21:40:54Z","name":"Iterable API Endpoints and Sample Payloads\n","title":"Iterable API Endpoints and Sample Payloads\n","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-10-02T21:40:54Z","user_segment_id":null,"permission_group_id":149406,"content_tag_ids":[],"label_names":[],"body":"<main class=\"page\"> <div class=\"theme-default-content content__default\"> <p>Use Iterable's API to interact with a project's users, templates, campaigns,\njourneys, and more. This article describes how to use each of Iterable's API\nendpoints, and provides sample payloads.</p> <h2 id=\"iterable-s-api-endpoints\">\n<a href=\"#iterable-s-api-endpoints\" class=\"header-anchor\">#</a> Iterable's API endpoints</h2> \n<div class=\"table-of-contents\"><ul>\n<li><a href=\"#iterable-s-api-endpoints\">Iterable's API endpoints</a></li>\n<li>\n<a href=\"#campaigns\">Campaigns</a><ul>\n<li><a href=\"#get-api-campaigns\">GET /api/campaigns</a></li>\n<li><a href=\"#get-api-campaigns-id\">GET /api/campaigns/{id}</a></li>\n<li><a href=\"#post-api-campaigns-abort\">POST /api/campaigns/abort</a></li>\n<li><a href=\"#post-api-campaigns-campaignid-schedule\">POST /api/campaigns/{campaignId}/schedule</a></li>\n<li><a href=\"#post-api-campaigns-activatetriggered\">POST /api/campaigns/activateTriggered</a></li>\n<li><a href=\"#post-api-campaigns-archive\">POST /api/campaigns/archive</a></li>\n<li><a href=\"#post-api-campaigns-cancel\">POST /api/campaigns/cancel</a></li>\n<li><a href=\"#post-api-campaigns-create\">POST /api/campaigns/create</a></li>\n<li><a href=\"#post-api-campaigns-deactivatetriggered\">POST /api/campaigns/deactivateTriggered</a></li>\n<li><a href=\"#get-api-campaigns-metrics\">GET /api/campaigns/metrics</a></li>\n<li><a href=\"#get-api-campaigns-recurring-id-childcampaigns\">GET /api/campaigns/recurring/{id}/childCampaigns</a></li>\n<li><a href=\"#post-api-campaigns-trigger\">POST /api/campaigns/trigger</a></li>\n<li><a href=\"#post-api-campaigns-campaignid-send\">POST /api/campaigns/{campaignId}/send</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#catalogs\">Catalogs</a><ul>\n<li><a href=\"#get-api-catalogs\">GET /api/catalogs</a></li>\n<li><a href=\"#delete-api-catalogs-catalogname\">DELETE /api/catalogs/{catalogName}</a></li>\n<li><a href=\"#post-api-catalogs-catalogname\">POST /api/catalogs/{catalogName}</a></li>\n<li><a href=\"#delete-api-catalogs-catalogname-items-itemid\">DELETE /api/catalogs/{catalogName}/items/{itemId}</a></li>\n<li><a href=\"#get-api-catalogs-catalogname-items-itemid\">GET /api/catalogs/{catalogName}/items/{itemId}</a></li>\n<li><a href=\"#patch-api-catalogs-catalogname-items-itemid\">PATCH /api/catalogs/{catalogName}/items/{itemId}</a></li>\n<li><a href=\"#put-api-catalogs-catalogname-items-itemid\">PUT /api/catalogs/{catalogName}/items/{itemId}</a></li>\n<li><a href=\"#delete-api-catalogs-catalogname-items\">DELETE /api/catalogs/{catalogName}/items</a></li>\n<li><a href=\"#get-api-catalogs-catalogname-items\">GET /api/catalogs/{catalogName}/items</a></li>\n<li><a href=\"#post-api-catalogs-catalogname-items\">POST /api/catalogs/{catalogName}/items</a></li>\n<li><a href=\"#get-api-catalogs-catalogname-fieldmappings\">GET /api/catalogs/{catalogName}/fieldMappings</a></li>\n<li><a href=\"#put-api-catalogs-catalogname-fieldmappings\">PUT /api/catalogs/{catalogName}/fieldMappings</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#channels\">Channels</a><ul><li><a href=\"#get-api-channels\">GET /api/channels</a></li></ul>\n</li>\n<li>\n<a href=\"#commerce\">Commerce</a><ul>\n<li><a href=\"#post-api-commerce-updatecart\">POST /api/commerce/updateCart</a></li>\n<li><a href=\"#post-api-commerce-trackpurchase\">POST /api/commerce/trackPurchase</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#email\">Email</a><ul>\n<li><a href=\"#post-api-email-cancel\">POST /api/email/cancel</a></li>\n<li><a href=\"#post-api-email-target\">POST /api/email/target</a></li>\n<li><a href=\"#get-api-email-viewinbrowser\">GET /api/email/viewInBrowser</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#embedded-messaging\">Embedded Messaging</a><ul><li><a href=\"#get-api-embedded-messaging-messages\">GET /api/embedded-messaging/messages</a></li></ul>\n</li>\n<li>\n<a href=\"#events\">Events</a><ul>\n<li><a href=\"#post-api-embedded-messaging-events-session\">POST /api/embedded-messaging/events/session</a></li>\n<li><a href=\"#post-api-embedded-messaging-events-received\">POST /api/embedded-messaging/events/received</a></li>\n<li><a href=\"#post-api-embedded-messaging-events-click\">POST /api/embedded-messaging/events/click</a></li>\n<li><a href=\"#post-api-events-inappconsume\">POST /api/events/inAppConsume</a></li>\n<li><a href=\"#post-api-events-trackinappclick\">POST /api/events/trackInAppClick</a></li>\n<li><a href=\"#post-api-events-trackinappclose\">POST /api/events/trackInAppClose</a></li>\n<li><a href=\"#post-api-events-trackinappdelivery\">POST /api/events/trackInAppDelivery</a></li>\n<li><a href=\"#post-api-events-trackinappopen\">POST /api/events/trackInAppOpen</a></li>\n<li><a href=\"#post-api-events-track\">POST /api/events/track</a></li>\n<li><a href=\"#post-api-events-trackwebpushclick\">POST /api/events/trackWebPushClick</a></li>\n<li><a href=\"#post-api-events-trackpushopen\">POST /api/events/trackPushOpen</a></li>\n<li><a href=\"#get-api-events-email\">GET /api/events/{email}</a></li>\n<li><a href=\"#get-api-events-byuserid-userid\">GET /api/events/byUserId/{userId}</a></li>\n<li><a href=\"#post-api-events-trackbulk\">POST /api/events/trackBulk</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#experiments\">Experiments</a><ul><li><a href=\"#get-api-experiments-metrics\">GET /api/experiments/metrics</a></li></ul>\n</li>\n<li>\n<a href=\"#export\">Export</a><ul>\n<li><a href=\"#get-api-export-data-csv\">GET /api/export/data.csv</a></li>\n<li><a href=\"#get-api-export-data-json\">GET /api/export/data.json</a></li>\n<li><a href=\"#get-api-export-userevents\">GET /api/export/userEvents</a></li>\n<li><a href=\"#post-api-export-start\">POST /api/export/start</a></li>\n<li><a href=\"#get-api-export-jobid-files\">GET /api/export/{jobId}/files</a></li>\n<li><a href=\"#delete-api-export-jobid\">DELETE /api/export/{jobId}</a></li>\n<li><a href=\"#get-api-export-jobs\">GET /api/export/jobs</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#in-app-messages\">In-app messages</a><ul>\n<li><a href=\"#get-api-inapp-getprioritymessage\">GET /api/inApp/getPriorityMessage</a></li>\n<li><a href=\"#get-api-inapp-getmessages\">GET /api/inApp/getMessages</a></li>\n<li><a href=\"#post-api-inapp-cancel\">POST /api/inApp/cancel</a></li>\n<li><a href=\"#post-api-inapp-target\">POST /api/inApp/target</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#web-in-app-messages\">Web in-app messages</a><ul><li><a href=\"#get-api-inapp-web-getmessages\">GET /api/inApp/web/getMessages</a></li></ul>\n</li>\n<li>\n<a href=\"#journeys-workflows\">Journeys (workflows)</a><ul>\n<li><a href=\"#get-api-journeys\">GET /api/journeys</a></li>\n<li><a href=\"#post-api-workflows-triggerworkflow\">POST /api/workflows/triggerWorkflow</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#lists\">Lists</a><ul>\n<li><a href=\"#delete-api-lists-listid\">DELETE /api/lists/{listId}</a></li>\n<li><a href=\"#get-api-lists\">GET /api/lists</a></li>\n<li><a href=\"#post-api-lists\">POST /api/lists</a></li>\n<li><a href=\"#post-api-lists-subscribe\">POST /api/lists/subscribe</a></li>\n<li><a href=\"#post-api-lists-unsubscribe\">POST /api/lists/unsubscribe</a></li>\n<li><a href=\"#get-api-lists-getusers\">GET /api/lists/getUsers</a></li>\n<li><a href=\"#get-api-lists-previewusers\">GET /api/lists/previewUsers</a></li>\n<li><a href=\"#get-api-lists-listid-size\">GET /api/lists/{listId}/size</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#message-types\">Message types</a><ul><li><a href=\"#get-api-messagetypes\">GET /api/messageTypes</a></li></ul>\n</li>\n<li>\n<a href=\"#metadata-store\">Metadata store</a><ul>\n<li><a href=\"#delete-api-metadata-table-key\">DELETE /api/metadata/{table}/{key}</a></li>\n<li><a href=\"#get-api-metadata-table-key\">GET /api/metadata/{table}/{key}</a></li>\n<li><a href=\"#put-api-metadata-table-key\">PUT /api/metadata/{table}/{key}</a></li>\n<li><a href=\"#delete-api-metadata-table\">DELETE /api/metadata/{table}</a></li>\n<li><a href=\"#get-api-metadata-table\">GET /api/metadata/{table}</a></li>\n<li><a href=\"#get-api-metadata\">GET /api/metadata</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#push-notifications\">Push notifications</a><ul>\n<li><a href=\"#post-api-push-cancel\">POST /api/push/cancel</a></li>\n<li><a href=\"#post-api-push-target\">POST /api/push/target</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#rcs\">RCS</a><ul>\n<li><a href=\"#post-api-rcs-target\">POST /api/rcs/target</a></li>\n<li><a href=\"#post-api-rcs-cancel\">POST /api/rcs/cancel</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#sms\">SMS</a><ul>\n<li><a href=\"#post-api-sms-cancel\">POST /api/sms/cancel</a></li>\n<li><a href=\"#post-api-sms-target\">POST /api/sms/target</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#snippets\">Snippets</a><ul>\n<li><a href=\"#get-api-snippets\">GET /api/snippets</a></li>\n<li><a href=\"#post-api-snippets\">POST /api/snippets</a></li>\n<li><a href=\"#get-api-snippets-identifier\">GET /api/snippets/{identifier}</a></li>\n<li><a href=\"#put-api-snippets-identifier\">PUT /api/snippets/{identifier}</a></li>\n<li><a href=\"#delete-api-snippets-identifier\">DELETE /api/snippets/{identifier}</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#subscriptions\">Subscriptions</a><ul>\n<li><a href=\"#delete-api-subscriptions-subscriptiongroup-subscriptiongroupid-user-useremail\">DELETE /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}/user/{userEmail}</a></li>\n<li><a href=\"#patch-api-subscriptions-subscriptiongroup-subscriptiongroupid-user-useremail\">PATCH /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}/user/{userEmail}</a></li>\n<li><a href=\"#delete-api-subscriptions-subscriptiongroup-subscriptiongroupid-byuserid-userid\">DELETE /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}/byUserId/{userId}</a></li>\n<li><a href=\"#patch-api-subscriptions-subscriptiongroup-subscriptiongroupid-byuserid-userid\">PATCH /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}/byUserId/{userId}</a></li>\n<li><a href=\"#put-api-subscriptions-subscriptiongroup-subscriptiongroupid\">PUT /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}</a></li>\n<li><a href=\"#post-api-subscriptions-subscribetodoubleoptin\">POST /api/subscriptions/subscribeToDoubleOptIn</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#templates\">Templates</a><ul>\n<li><a href=\"#get-api-templates\">GET /api/templates</a></li>\n<li><a href=\"#get-api-templates-getbyclienttemplateid\">GET /api/templates/getByClientTemplateId</a></li>\n<li><a href=\"#get-api-templates-email-get\">GET /api/templates/email/get</a></li>\n<li><a href=\"#post-api-templates-email-upsert\">POST /api/templates/email/upsert</a></li>\n<li><a href=\"#post-api-templates-email-update\">POST /api/templates/email/update</a></li>\n<li><a href=\"#post-api-templates-email-proof\">POST /api/templates/email/proof</a></li>\n<li><a href=\"#post-api-templates-email-preview\">POST /api/templates/email/preview</a></li>\n<li><a href=\"#get-api-templates-embedded-get\">GET /api/templates/embedded/get</a></li>\n<li><a href=\"#post-api-templates-embedded-upsert\">POST /api/templates/embedded/upsert</a></li>\n<li><a href=\"#post-api-templates-embedded-update\">POST /api/templates/embedded/update</a></li>\n<li><a href=\"#get-api-templates-push-get\">GET /api/templates/push/get</a></li>\n<li><a href=\"#post-api-templates-push-upsert\">POST /api/templates/push/upsert</a></li>\n<li><a href=\"#post-api-templates-push-update\">POST /api/templates/push/update</a></li>\n<li><a href=\"#post-api-templates-push-proof\">POST /api/templates/push/proof</a></li>\n<li><a href=\"#post-api-templates-sms-upsert\">POST /api/templates/sms/upsert</a></li>\n<li><a href=\"#post-api-templates-sms-update\">POST /api/templates/sms/update</a></li>\n<li><a href=\"#get-api-templates-sms-get\">GET /api/templates/sms/get</a></li>\n<li><a href=\"#post-api-templates-sms-proof\">POST /api/templates/sms/proof</a></li>\n<li><a href=\"#get-api-templates-inapp-get\">GET /api/templates/inapp/get</a></li>\n<li><a href=\"#post-api-templates-inapp-preview\">POST /api/templates/inapp/preview</a></li>\n<li><a href=\"#post-api-templates-inapp-upsert\">POST /api/templates/inapp/upsert</a></li>\n<li><a href=\"#post-api-templates-inapp-update\">POST /api/templates/inapp/update</a></li>\n<li><a href=\"#post-api-templates-inapp-proof\">POST /api/templates/inapp/proof</a></li>\n<li><a href=\"#post-api-templates-bulkdelete\">POST /api/templates/bulkDelete</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#users\">Users</a><ul>\n<li><a href=\"#get-api-users-forgotten\">GET /api/users/forgotten</a></li>\n<li><a href=\"#get-api-users-forgottenuserids\">GET /api/users/forgottenUserIds</a></li>\n<li><a href=\"#post-api-users-forget\">POST /api/users/forget</a></li>\n<li><a href=\"#post-api-users-unforget\">POST /api/users/unforget</a></li>\n<li><a href=\"#delete-api-users-email\">DELETE /api/users/{email}</a></li>\n<li><a href=\"#get-api-users-email\">GET /api/users/{email}</a></li>\n<li><a href=\"#get-api-users-getbyemail\">GET /api/users/getByEmail</a></li>\n<li><a href=\"#post-api-users-update\">POST /api/users/update</a></li>\n<li><a href=\"#post-api-users-bulkupdate\">POST /api/users/bulkUpdate</a></li>\n<li><a href=\"#delete-api-users-byuserid-userid\">DELETE /api/users/byUserId/{userId}</a></li>\n<li><a href=\"#get-api-users-byuserid-userid\">GET /api/users/byUserId/{userId}</a></li>\n<li><a href=\"#get-api-users-byuserid\">GET /api/users/byUserId</a></li>\n<li><a href=\"#post-api-users-registerbrowsertoken\">POST /api/users/registerBrowserToken</a></li>\n<li><a href=\"#post-api-users-updatesubscriptions\">POST /api/users/updateSubscriptions</a></li>\n<li><a href=\"#post-api-users-bulkupdatesubscriptions\">POST /api/users/bulkUpdateSubscriptions</a></li>\n<li><a href=\"#post-api-users-updateemail\">POST /api/users/updateEmail</a></li>\n<li><a href=\"#get-api-users-getfields\">GET /api/users/getFields</a></li>\n<li><a href=\"#get-api-users-getsentmessages\">GET /api/users/getSentMessages</a></li>\n<li><a href=\"#post-api-auth-jwts-invalidate\">POST /api/auth/jwts/invalidate</a></li>\n<li><a href=\"#post-api-users-disabledevice\">POST /api/users/disableDevice</a></li>\n<li><a href=\"#post-api-users-registerdevicetoken\">POST /api/users/registerDeviceToken</a></li>\n<li><a href=\"#post-api-users-merge\">POST /api/users/merge</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#verify\">Verify</a><ul>\n<li><a href=\"#post-api-verify-sms-begin\">POST /api/verify/sms/begin</a></li>\n<li><a href=\"#post-api-verify-sms-check\">POST /api/verify/sms/check</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#webhooks\">Webhooks</a><ul>\n<li><a href=\"#get-api-webhooks\">GET /api/webhooks</a></li>\n<li><a href=\"#post-api-webhooks\">POST /api/webhooks</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#web-push-notifications\">Web push notifications</a><ul>\n<li><a href=\"#post-api-webpush-cancel\">POST /api/webPush/cancel</a></li>\n<li><a href=\"#post-api-webpush-target\">POST /api/webPush/target</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#whatsapp\">WhatsApp</a><ul>\n<li><a href=\"#post-api-whatsapp-target\">POST /api/whatsApp/target</a></li>\n<li><a href=\"#post-api-whatsapp-cancel\">POST /api/whatsApp/cancel</a></li>\n</ul>\n</li>\n<li><a href=\"#want-to-learn-more\">Want to learn more?</a></li>\n</ul></div>\n <h2 id=\"campaigns\">\n<a href=\"#campaigns\" class=\"header-anchor\">#</a> Campaigns</h2> <h3 id=\"get-api-campaigns\">\n<a href=\"#get-api-campaigns\" class=\"header-anchor\">#</a> <code>GET /api/campaigns</code>\n</h3> <p><strong>List campaign metadata</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_campaigns\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_campaigns\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Retrieves metadata about the campaigns in the project associated with the API key\n(for example, <code>id</code>, <code>createdAt</code>, <code>name</code>, <code>templateId</code>, etc.).</p> <p>When a campaign has labels:</p> <ul>\n<li>The response includes both <code>labels</code> (an array of strings) and <code>labelIds</code> (an\narray of integers), which can hold one or more values.</li> <li>The order of <code>labels</code> and <code>labelIds</code> are not indexed to match positionally.\nThe first label name in the <code>labels</code> array doesn't always correspond to the\nfirst label ID in the <code>labelIds</code> array, and vice versa.</li> <li>To identify a label by its ID, go to the <strong>Project Settings</strong> page.</li>\n</ul> <p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"campaigns\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">59530</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475452500507</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475452500591</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"startAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475535300000</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"endedAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475542440016</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Example campaign #1\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">93661</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdByUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"campaignState\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Finished\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"messageMedium\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Email\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"listIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token number\">16182</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"suppressionListIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"sendSize\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"labelIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n        <span class=\"token number\">67890</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"labels\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"newsletter\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"2025_Q1\"</span>\n      <span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">59355</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475265000217</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475265000276</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"startAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475265000274</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"endedAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475265000320</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Example campaign #2\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">93419</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdByUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"campaignState\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Finished\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"messageMedium\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Email\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"listIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token number\">14007</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"suppressionListIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"sendSize\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"labelIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"labels\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-campaigns-id\">\n<a href=\"#get-api-campaigns-id\" class=\"header-anchor\">#</a> <code>GET /api/campaigns/{id}</code>\n</h3> <p><strong>Get campaign details</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_getCampaign\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_getCampaign\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Retrieves detailed information about a specific campaign by its ID.</p> <p>When a campaign has labels, the response includes both <code>labels</code> (label names)\nand <code>labelIds</code> (label IDs).</p> <p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">59530</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475452500507</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475452500591</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"startAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475535300000</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"endedAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1475542440016</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Example campaign #1\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">93661</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdByUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignState\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Finished\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageMedium\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Email\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"listIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">16182</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"suppressionListIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sendSize\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"labelIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">12345</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"labels\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token string\">\"newsletter\"</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"customField\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"value\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sendMode\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Immediate\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recipientTimeZone\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"defaultTimeZone\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"America/New_York\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"startTimeZone\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"America/New_York\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-campaigns-abort\">\n<a href=\"#post-api-campaigns-abort\" class=\"header-anchor\">#</a> <code>POST /api/campaigns/abort</code>\n</h3> <p><strong>Abort a campaign</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_abort_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_abort_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Abort a campaign, given a campaign ID.</p> <h3 id=\"post-api-campaigns-campaignid-schedule\">\n<a href=\"#post-api-campaigns-campaignid-schedule\" class=\"header-anchor\">#</a> <code>POST /api/campaigns/{campaignId}/schedule</code>\n</h3> <p><strong>Schedule a campaign</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_schedule_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_schedule_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Schedules the send of a campaign, given its <code>campaignId</code> (as a path parameter).</p> <p>Use this endpoint to schedule a blast campaign that is in the <strong>Ready</strong> state.\nThis request places the campaign in the <strong>Scheduled</strong> state.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"sendAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2024-09-15T00:00:00Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"recipientTimeZone\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"defaultTimeZone\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"America/Denver\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"startTimeZone\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"America/New_York\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-campaigns-activatetriggered\">\n<a href=\"#post-api-campaigns-activatetriggered\" class=\"header-anchor\">#</a> <code>POST /api/campaigns/activateTriggered</code>\n</h3> <p><strong>Activate a triggered campaign</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_activate_triggered\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_activate_triggered\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Activates a triggered campaign, given its <code>campaignId</code> (in the request body).</p> <p>Use this endpoint to change an API-triggered campaign from the <strong>Ready</strong> state\nto the <strong>Running</strong> state.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>To learn more about activating and sending triggered campaigns, read\n<a href=\"https://support.iterable.com/hc/articles/16765114424212\">Activating a Triggered Campaign</a>.</p> <h3 id=\"post-api-campaigns-archive\">\n<a href=\"#post-api-campaigns-archive\" class=\"header-anchor\">#</a> <code>POST /api/campaigns/archive</code>\n</h3> <p><strong>Archive campaigns</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_archive_campaigns\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_archive_campaigns\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Archives one or more campaigns. This endpoint behaves the same as the archive\nfeature in the UI. Scheduled or recurring campaigns are cancelled, and\nrunning campaigns are aborted.</p> <p>Archived campaigns are hidden from the <strong>Campaigns</strong> page, but can still be\nviewed in the <strong>Archived</strong> tab.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"campaignIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">12346</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-campaigns-cancel\">\n<a href=\"#post-api-campaigns-cancel\" class=\"header-anchor\">#</a> <code>POST /api/campaigns/cancel</code>\n</h3> <p><strong>Cancel a scheduled or recurring campaign</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_cancel_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_cancel_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Cancel a campaign, given a campaign ID.</p> <h3 id=\"post-api-campaigns-create\">\n<a href=\"#post-api-campaigns-create\" class=\"header-anchor\">#</a> <code>POST /api/campaigns/create</code>\n</h3> <p><strong>Create a new campaign</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_create_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_create_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Use this endpoint to create a new blast or triggered campaign from an existing\ntemplate. This endpoint can create email, push notification, web push\nnotification, SMS, and in-app message campaigns. It can't create embedded\nmessage campaigns. <a href=\"https://support.iterable.com/hc/articles/204780549\">Global suppression lists</a>\nare <em>not</em> automatically applied to campaigns created by this endpoint. If you\nwant to apply a global suppression list to a campaign created with this endpoint,\ninclude the list ID in the <code>suppressionListIds</code> request parameter.</p> <p>The new campaign receives a copy of the template specified by <code>templateId</code>.\nBecause it's a copy, the campaign's <code>templateId</code> won't match the <code>templateId</code>\nspecified in the request, and edits to the campaign's template will not affect\nthe original template.</p> <p>To associate existing labels with the new campaign, include <code>labelIds</code> in the\nrequest body. <code>labelIds</code> must contain label IDs from the same project, and you\ncan include up to 50 label IDs. You can find the ID for each label in the\n<strong>Project Settings</strong> page.</p> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">TIP</p> <p>To learn more about starting and default time zones, read\n<a href=\"https://support.iterable.com/hc/articles/14761834767508#scheduling-a-blast-campaign\">Sending or Scheduling a Blast Campaign</a>.</p>\n</div> <h4 id=\"creating-a-triggered-campaign\">\n<a href=\"#creating-a-triggered-campaign\" class=\"header-anchor\">#</a> Creating a triggered campaign</h4> <p>To create a triggered campaign:</p> <ul>\n<li>In the request body, specify a <code>name</code> and <code>templateId</code>. Add <code>dataFields</code> as needed.</li> <li>Omit <code>listIds</code> from the request body.</li>\n</ul> <p>The new triggered campaign will be in the <strong>Ready</strong> state. Before the campaign\ncan start sending, activate it using the <a href=\"#post-api-campaigns-activatetriggered\"><code>POST /api/campaigns/activateTriggered</code></a>\nendpoint or in the Iterable UI.</p> <p>To learn more about activating and sending triggered campaigns, read\n<a href=\"https://support.iterable.com/hc/articles/16765114424212\">Activating a Triggered Campaign</a>.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Sample Triggered Campaign\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">28533</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h4 id=\"creating-a-blast-campaign-that-sends-immediately\">\n<a href=\"#creating-a-blast-campaign-that-sends-immediately\" class=\"header-anchor\">#</a> Creating a blast campaign that sends immediately</h4> <p>To create a blast campaign that sends immediately to all specified recipients:</p> <ul>\n<li>In the request body, specify a <code>name</code> and <code>templateId</code>. Add <code>dataFields</code> as needed.</li> <li>Omit <code>sendAt</code> from the request body.</li> <li>Set <code>listIds</code> to an array of list IDs to which Iterable should send the campaign.</li> <li>If necessary, specify <code>suppressionListIds</code>, too.</li>\n</ul> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Sample Blast Campaign\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">28533</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"listIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">5925</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">6094</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"suppressionListIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">6095</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h4 id=\"creating-a-campaign-with-labels\">\n<a href=\"#creating-a-campaign-with-labels\" class=\"header-anchor\">#</a> Creating a campaign with labels</h4> <p>To create a blast or triggered campaign with labels, include <code>labelIds</code> in the\nrequest body. Labels must already exist in the project, and you can include up to\n50 label IDs. You can find the ID for each label in the <strong>Project Settings</strong> page.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Sample Blast Campaign\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">28533</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"listIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">5925</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">6094</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"labelIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">67890</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h4 id=\"creating-a-blast-campaign-scheduled-for-a-future-time\">\n<a href=\"#creating-a-blast-campaign-scheduled-for-a-future-time\" class=\"header-anchor\">#</a> Creating a blast campaign scheduled for a future time</h4> <p>To create a blast campaign scheduled to send simultaneously to all specified\nrecipients at a specific future time:</p> <ul>\n<li>In the request body, specify a <code>name</code> and <code>templateId</code>. Add <code>dataFields</code> as needed.</li> <li>Set <code>listIds</code> to an array of list IDs to which Iterable should send the campaign.</li> <li>If necessary, specify <code>suppressionListIds</code>.</li> <li>Set <code>sendAt</code> to a UTC time in format <code>YYYY-MM-DD HH:MM:SS</code>, to indicate when\nIterable should send the campaign. For send times in the past, Iterable sends\nthe campaign immediately.</li>\n</ul> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Sample Blast Campaign\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">28533</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"listIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">5925</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">6094</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"suppressionListIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">6095</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sendAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2024-09-15 00:00:00\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h4 id=\"creating-a-scheduled-blast-campaign-for-a-future-time-based-on-recipient-time-zone\">\n<a href=\"#creating-a-scheduled-blast-campaign-for-a-future-time-based-on-recipient-time-zone\" class=\"header-anchor\">#</a> Creating a scheduled blast campaign for a future time (based on recipient time zone)</h4> <p>To create a blast campaign scheduled to send to each recipient at a specific\nlocal time in their own time zone:</p> <ul>\n<li>In the request body, specify a <code>name</code> and <code>templateId</code>. Add <code>dataFields</code> as needed.</li> <li>Set <code>listIds</code> to an array of list IDs to which Iterable should send the campaign.</li> <li>If necessary, specify <code>suppressionListIds</code>.</li> <li>Set <code>sendMode</code> to <code>RecipientTimeZone</code>.</li> <li>Set <code>startTimeZone</code> to the first time zone that should receive the campaign at\nthe specified time.\n<ul>\n<li>Recipients in time zones to the east of <code>startTimeZone</code> receive the campaign\nat the same moment in time as recipients in <code>startTimeZone</code>.</li> <li>Recipients in time zones to the west of <code>startTimeZone</code> receive the campaign\nwhen their local time matches the local time at which users received the\ncampaign in <code>startTimeZone</code>.</li>\n</ul>\n</li> <li>Set <code>defaultTimeZone</code> to the time zone to use for sending to recipients whose\ntime zone is unknown. Use a value such as <code>America/New_York</code>.</li> <li>Set <code>sendAt</code> to a UTC time in format <code>YYYY-MM-DD HH:MM:SS</code>, up to 21 days in\nthe future.\n<ul>\n<li>Iterable uses the local time in <code>startTimeZone</code> at <code>sendAt</code> as the campaign's\nlocal send time in all time zones, starting with <code>startTimeZone</code> and moving\nwest.</li> <li>For example, if <code>sendAt</code> represents 4:00pm in <code>startTimeZone</code>, Iterable\nsends the campaign at 4:00pm in <code>startTimeZone</code>, and at 4:00pm in time zones\nto the west of <code>startTimeZone</code>, too.</li> <li>Recipients in time zones east of <code>startTimeZone</code> receive the message\nat the same moment in time as recipients in <code>startTimeZone</code>.</li>\n</ul>\n</li> <li>If, when using <code>RecipientTimeZone</code>, you specify a past send time:\n<ul>\n<li>Recipients in <code>startTimeZone</code>, and time zones to the east of <code>startTimeZone</code>,\nreceive the campaign immediately.</li> <li>Recipients in time zones to the west of the <code>startTimeZone</code> receive the\ncampaign when their local time matches the current local time in <code>startTimeZone</code>.</li>\n</ul>\n</li>\n</ul> <p>For example, to send a campaign on March 20th, 2024, at 4:00pm local time in all\ntime zones starting with <code>America/Denver</code>:</p> <ul>\n<li>In the request body, Specify a <code>name</code> and <code>templateId</code>. Add <code>dataFields</code> as needed.</li> <li>Specify lists and suppression lists.</li> <li>Set <code>sendMode</code> to <code>RecipientTimeZone</code>.</li> <li>Set <code>startTimeZone</code> to<code>America/Denver</code>.</li> <li>Set <code>defaultTimeZone</code>to <code>America/Denver</code> (or whatever time zone you'd like to\nuse for recipients without a time zone).</li> <li>Set <code>sendAt</code> to <code>2024-03-20 22:00:00</code> .\n<ul>\n<li>This UTC time is 4:00pm in the <code>startTimeZone</code>, which we set to <code>America/Denver</code>.</li> <li>Therefore, the campaign will send at 4:00pm local time in time zones to the\nwest of <code>America/Denver</code>, too.</li>\n</ul>\n</li>\n</ul> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Sample Blast Campaign\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">28533</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"listIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">5925</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">6094</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"suppressionListIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">6095</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sendMode\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"RecipientTimeZone\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"startTimeZone\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"America/Denver\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"defaultTimeZone\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"America/Denver\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sendAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2024-03-20 22:00:00\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>In this example:</p> <ul>\n<li>Recipients in New York (east of Denver, the starting time zone) receive the\ncampaign at 4:00pm Denver time, which is 6:00pm local time in New York.</li> <li>Recipients in Denver receive the campaign at 4:00pm local time in Denver.</li> <li>Recipients in Los Angeles receive the campaign at 4:00pm local time in Los Angeles.</li> <li>Recipients without a <code>timeZone</code> field on their user profiles receive the\ncampaign at 4:00pm Denver time, since Denver is the default time zone.</li>\n</ul> <h3 id=\"post-api-campaigns-deactivatetriggered\">\n<a href=\"#post-api-campaigns-deactivatetriggered\" class=\"header-anchor\">#</a> <code>POST /api/campaigns/deactivateTriggered</code>\n</h3> <p><strong>Deactivate a triggered campaign</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_deactivate_triggered\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_deactivate_triggered\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Deactivates a triggered campaign, given its <code>campaignId</code> (in the request body).</p> <p>Use this endpoint to change an API-triggered campaign from the <strong>Running</strong>\nstate to the <strong>Finished</strong> state.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>To learn more about activating and sending triggered campaigns, read\n<a href=\"https://support.iterable.com/hc/articles/16765114424212\">Activating a Triggered Campaign</a>.</p> <h3 id=\"get-api-campaigns-metrics\">\n<a href=\"#get-api-campaigns-metrics\" class=\"header-anchor\">#</a> <code>GET /api/campaigns/metrics</code>\n</h3> <p><strong>Get metrics for campaigns</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_metrics\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_metrics\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Gets analytic info such as <code>id</code>, <code>bounces</code>, <code>clicks</code>, <code>conversions</code>, <code>purchases</code>,\netc. from a campaign. A start and end date can be added to select the desired\nrange of analytics.</p> <p>Sample CSV response:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">id,bounces,clicks,conversions,opens,purchases,pushBounces,pushOpens,pushSent,pushUninstalls,revenue,sent,smsBounces,smsReceived,smsSent,spams,totalClicks,totalOpens,totalPushOpens,unsubs \n59355,0,0,,0,0,,,,,0.0,3,,,,0,0,0,,0\n</pre></div>\n<h3 id=\"get-api-campaigns-recurring-id-childcampaigns\">\n<a href=\"#get-api-campaigns-recurring-id-childcampaigns\" class=\"header-anchor\">#</a> <code>GET /api/campaigns/recurring/{id}/childCampaigns</code>\n</h3> <p><strong>Get child campaigns of a recurring campaign</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_child_campaigns\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_child_campaigns\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Retrieves metadata about campaigns (for example, <code>id</code>, <code>createdAt</code>, <code>name</code>,\n<code>templateId</code>, etc.)., in the project associated with the API key, that were\ngenerated by a recurring campaign.</p> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/campaigns/recurring/12345/childCampaigns\n</pre></div>\n<p>Sample JSON response excerpt:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"campaigns\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12346</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Example recurring campaign send\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"messageMedium\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Email\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"labelIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">12345</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"labels\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"newsletter\"</span><span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-campaigns-trigger\">\n<a href=\"#post-api-campaigns-trigger\" class=\"header-anchor\">#</a> <code>POST /api/campaigns/trigger</code>\n</h3> <p><strong>Trigger a campaign</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_trigger_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_trigger_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Triggers the send of a campaign to a specific user or list of users.\nThis endpoint can be used to:</p> <ul>\n<li>Send a blast campaign to a specific user or list of users.</li> <li>Trigger the send of a triggered campaign to a specific user or list of users.</li>\n</ul> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>Iterable's built-in campaign sending limit (which prevents a marketing campaign\nfrom being sent to the same user twice in an 18-hour period) applies to all\nmessages sent from a <a href=\"https://support.iterable.com/hc/articles/204780529#channel-types-marketing-versus-transactional\">marketing channel</a>,\nincluding triggered messages. To override this limit for a given triggered\ncampaign, include <code>\"allowRepeatMarketingSends\": true</code> in the request body of the\nAPI call.</p>\n</div> <p>To learn more about activating and sending triggered campaigns, read\n<a href=\"https://support.iterable.com/hc/articles/16765114424212\">Activating a Triggered Campaign</a>.</p> <h3 id=\"post-api-campaigns-campaignid-send\">\n<a href=\"#post-api-campaigns-campaignid-send\" class=\"header-anchor\">#</a> <code>POST /api/campaigns/{campaignId}/send</code>\n</h3> <p><strong>Send existing campaign now</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#campaigns_send_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#campaigns_send_campaign\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Sends an existing campaign immediately. This endpoint can be used to send a\ncampaign that is in the <strong>Ready</strong> state.</p> <p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"success\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"12345\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h2 id=\"catalogs\">\n<a href=\"#catalogs\" class=\"header-anchor\">#</a> Catalogs</h2> <h3 id=\"get-api-catalogs\">\n<a href=\"#get-api-catalogs\" class=\"header-anchor\">#</a> <code>GET /api/catalogs</code>\n</h3> <p><strong>Get catalog names</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_listCatalogs\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_listCatalogs\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Lists the names of all catalogs in the project associated with an API key.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/catalogs\n</pre></div>\n<p>Paging:</p> <ul>\n<li>\n<p>Use <code>page</code> and <code>pageSize</code> in the query string to specify a page number and\npage size. For example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/catalogs?page=3&amp;pageSize=10\n</pre></div>\n</li> <li><p>When you pass these parameters, the API returns <code>previousPageUrl</code> and\n<code>nextPageUrl</code> values (as applicable). Use these to load more data.</p></li> <li><p>If you specify a <code>page</code> and <code>pageSize</code> combination outside the range of\navailable data, the API returns an empty list of catalog names.</p></li>\n</ul> <p>Sample JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"catalogNames\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Trucks\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"totalCatalogsCount\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this API returns HTTP status code 200.</p> <h3 id=\"delete-api-catalogs-catalogname\">\n<a href=\"#delete-api-catalogs-catalogname\" class=\"header-anchor\">#</a> <code>DELETE /api/catalogs/{catalogName}</code>\n</h3> <p><strong>Delete a catalog</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_deleteCatalog\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_deleteCatalog\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Deletes a catalog and all its items. This cannot be undone.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">DELETE https://api.iterable.com/api/catalogs/Trucks\n</pre></div>\n<p>Sample JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Successfully deleted catalog Trucks\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token null keyword\">null</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this API returns HTTP status code 200.</p> <h3 id=\"post-api-catalogs-catalogname\">\n<a href=\"#post-api-catalogs-catalogname\" class=\"header-anchor\">#</a> <code>POST /api/catalogs/{catalogName}</code>\n</h3> <p><strong>Create a catalog</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_createCatalog\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_createCatalog\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates a new catalog in the project associated with the API key. Each catalog\nin an Iterable project must have a unique name that is no longer than 255\ncharacters and contains only letters, numbers and dashes (no spaces, underscores\nor other special characters).</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">POST https://api.iterable.com/api/catalogs/Trucks\n</pre></div>\n<p>Sample JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">740</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Trucks\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"/api/catalogs/Trucks\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this API returns HTTP status code 201.</p> <h3 id=\"delete-api-catalogs-catalogname-items-itemid\">\n<a href=\"#delete-api-catalogs-catalogname-items-itemid\" class=\"header-anchor\">#</a> <code>DELETE /api/catalogs/{catalogName}/items/{itemId}</code>\n</h3> <p><strong>Delete a catalog item</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_deleteCatalogItem\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_deleteCatalogItem\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Deletes a single catalog item. This is an asynchronous call; 202 response code\nindicates that the request has been received and will be processed.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">DELETE https://api.iterable.com/api/catalogs/Trucks/items/PickupTruckA\n</pre></div>\n<p>Sample JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Received request to deleted item ID PickupTruckA from catalog Trucks\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token null keyword\">null</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this API returns HTTP status code 202.</p> <h3 id=\"get-api-catalogs-catalogname-items-itemid\">\n<a href=\"#get-api-catalogs-catalogname-items-itemid\" class=\"header-anchor\">#</a> <code>GET /api/catalogs/{catalogName}/items/{itemId}</code>\n</h3> <p><strong>Get a specific catalog item</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_getCatalogItem\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_getCatalogItem\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Gets the details of a specific catalog item.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/catalogs/Trucks/items/PickupTruckA\n</pre></div>\n<p>Sample JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"catalogName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Trucks\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"itemId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"PickupTruckA\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">251</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"lastModified\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1555662886000</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"value\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"used\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"current_location\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"lat\"</span><span class=\"token operator\">:</span> <span class=\"token number\">37.773972</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"lon\"</span><span class=\"token operator\">:</span> <span class=\"token number\">-122.431297</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"price\"</span><span class=\"token operator\">:</span> <span class=\"token number\">35000</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"manufactureDate\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2019-01-15\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"options\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"manual transmission\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"sunroof\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"premium stereo\"</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"fullLength\"</span><span class=\"token operator\">:</span> <span class=\"token number\">230.25</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"previousOwner\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"John\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Smith\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this API returns HTTP status code 200.</p> <h3 id=\"patch-api-catalogs-catalogname-items-itemid\">\n<a href=\"#patch-api-catalogs-catalogname-items-itemid\" class=\"header-anchor\">#</a> <code>PATCH /api/catalogs/{catalogName}/items/{itemId}</code>\n</h3> <p><strong>Create or update a catalog item</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_partialUpdateCatalogItem\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_partialUpdateCatalogItem\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates (or creates) a catalog item with the values found in the request body.\nAny already-existing fields not included in the request body remain as is.\nThis is an asynchronous call; 202 response code indicates that the request has\nbeen received and will be processed.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">PATCH https://api.iterable.com/api/catalogs/Trucks/items/PickupTruckB\n</pre></div>\n<p>Request headers:</p> <ul><li><code>Content-Type: application/json</code></li></ul> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"update\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"price\"</span><span class=\"token operator\">:</span> <span class=\"token number\">45000</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<ul>\n<li><p>This request updates the `price field on the catalog item in question, but\nit leaves all other fields on that catalog item as is.</p></li> <li><p>Do not use the period character in catalog item field names.</p></li> <li><p>This request overwrites every one of the fields on <code>PickupTruckA</code>, leaving\nnothing except the <code>price</code> field (set to <code>45000</code>).</p></li>\n</ul> <p>Sample JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"catalogName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Trucks\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"itemId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"PickupTruckB\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"/api/catalogs/Trucks/items/PickupTruckB\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this API returns HTTP status code 202.</p> <h3 id=\"put-api-catalogs-catalogname-items-itemid\">\n<a href=\"#put-api-catalogs-catalogname-items-itemid\" class=\"header-anchor\">#</a> <code>PUT /api/catalogs/{catalogName}/items/{itemId}</code>\n</h3> <p><strong>Create or replace a catalog item</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_indexCatalogItem\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_indexCatalogItem\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Writes over (or creates) a catalog item with the values found in the request\nbody. Any already-existing fields not included in the request body are deleted.\nThis is an asynchronous call; 202 response code indicates that the request has\nbeen received and will be processed.</p> <p>If the item specified in the URL does not exist, it is created.</p> <p>A catalog item ID may contain letters, numbers, and dashes (no spaces,\nunderscores or other special characters), must be unique, and can contain no\nmore than 255 characters.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">PUT https://api.iterable.com/api/catalogs/Trucks/items/PickupTruckA\n</pre></div>\n<p>Request headers:</p> <ul><li><code>Content-Type: application/json</code></li></ul> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"value\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"used\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"catalogName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Trucks\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"itemId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"PickupTruckA\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"/api/catalogs/Trucks/items/PickupTruckA\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this API returns HTTP status code 202.</p> <h3 id=\"delete-api-catalogs-catalogname-items\">\n<a href=\"#delete-api-catalogs-catalogname-items\" class=\"header-anchor\">#</a> <code>DELETE /api/catalogs/{catalogName}/items</code>\n</h3> <p><strong>Bulk delete catalog items</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_bulkDeleteCatalogItems\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_bulkDeleteCatalogItems\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Deletes multiple catalog items. This is an asynchronous call; 202 response code\nindicates that the request has been received and will be processed.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">DELETE https://api.iterable.com/api/catalogs/Trucks/items\n</pre></div>\n<p>Request headers:</p> <ul><li><code>Content-Type: application/json</code></li></ul> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"itemIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token string\">\"PickupTruckA\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">\"PickupTruckB\"</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Successfully received request to delete 2 items from catalog Trucks\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token null keyword\">null</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this API returns HTTP status code 202.</p> <h3 id=\"get-api-catalogs-catalogname-items\">\n<a href=\"#get-api-catalogs-catalogname-items\" class=\"header-anchor\">#</a> <code>GET /api/catalogs/{catalogName}/items</code>\n</h3> <p><strong>Get the catalog items for a catalog</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_listCatalogItems\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_listCatalogItems\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Lists all catalog items in a catalog.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/catalogs/Trucks/items\n</pre></div>\n<p>Paging:</p> <ul>\n<li>\n<p>Use <code>page</code> and <code>pageSize</code> in the query string to specify a page number and\npage size. For example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/catalogs/Trucks/items?page=3&amp;pageSize=10\n</pre></div>\n</li> <li><p>When passing these parameters, the API returns <code>previousPageUrl</code> and\n<code>nextPageUrl</code> values (as applicable). Use these to load more data.</p></li> <li><p>If you specify a <code>page</code> and <code>pageSize</code> combination outside the range of\navailable data, the API returns an empty list of catalog names.</p></li>\n</ul> <p>Sample JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"catalogItemsWithProperties\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"catalogName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Trucks\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"itemId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"PickupTruckB\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">242</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"lastModified\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1555662886000</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"value\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"used\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"current_location\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"lat\"</span><span class=\"token operator\">:</span> <span class=\"token number\">39.742043</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"lon\"</span><span class=\"token operator\">:</span> <span class=\"token number\">-104.991531</span>\n          <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"price\"</span><span class=\"token operator\">:</span> <span class=\"token number\">29500</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"manufactureDate\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2018-06-12\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"options\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token string\">\"automatic transmission\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token string\">\"keyless entry\"</span>\n          <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"fullLength\"</span><span class=\"token operator\">:</span> <span class=\"token number\">215.75</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"previousOwner\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Jane\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Jones\"</span>\n          <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"catalogName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Trucks\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"itemId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"PickupTruckA\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">251</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"lastModified\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1555662886000</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"value\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"used\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"current_location\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"lat\"</span><span class=\"token operator\">:</span> <span class=\"token number\">37.773972</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"lon\"</span><span class=\"token operator\">:</span> <span class=\"token number\">-122.431297</span>\n          <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"price\"</span><span class=\"token operator\">:</span> <span class=\"token number\">35000</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"manufactureDate\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2019-01-15\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"options\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token string\">\"manual transmission\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token string\">\"sunroof\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token string\">\"premium stereo\"</span>\n          <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"fullLength\"</span><span class=\"token operator\">:</span> <span class=\"token number\">230.25</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"previousOwner\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"John\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Smith\"</span>\n          <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"totalItemsCount\"</span><span class=\"token operator\">:</span> <span class=\"token number\">2</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this API returns HTTP status code 200.</p> <h3 id=\"post-api-catalogs-catalogname-items\">\n<a href=\"#post-api-catalogs-catalogname-items\" class=\"header-anchor\">#</a> <code>POST /api/catalogs/{catalogName}/items</code>\n</h3> <p><strong>Bulk create catalog items</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_bulkUpdateCatalogItems\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_bulkUpdateCatalogItems\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates up to 1,000 catalog items at a time (each one having a max size of 30kb).\nThis is an asynchronous API; 202 response code indicates that the request has\nbeen received and will be processed.</p> <p>The request body should specify a JSON object with a top-level <code>document</code> key\nand an associated object. In the <code>document</code> object, each key corresponds to the\nID of a catalog item, and the key's associated object contains the catalog\nitem's fields.</p> <p>Catalog items must have unique IDs (within a catalog). They may contain letters,\nnumbers and dashes (no spaces, underscores or other special characters), and\nmust be no longer than 255 characters.</p> <p>If the catalog already contains an item having the same ID as one provided in\nthe request body, the existing item is completely overwritten by the item\nspecified in the request body Do not use the period character in catalog item\nfield names.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">POST https://api.iterable.com/api/catalogs/Trucks/items\n</pre></div>\n<p>Request headers:</p> <ul><li><code>Content-Type: application/json</code></li></ul> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"documents\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"PickupTruckA\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"options\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"manual transmission\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"sunroof\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"premium stereo\"</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"manufactureDate\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2019-01-15\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"current_location\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"lat\"</span><span class=\"token operator\">:</span> <span class=\"token number\">37.773972</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"lon\"</span><span class=\"token operator\">:</span> <span class=\"token number\">-122.431297</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"fullLength\"</span><span class=\"token operator\">:</span> <span class=\"token number\">230.25</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"used\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"price\"</span><span class=\"token operator\">:</span> <span class=\"token number\">35000</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"previousOwner\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"John\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Smith\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"PickupTruckB\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"options\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"automatic transmission\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"keyless entry\"</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"manufactureDate\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2018-06-12\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"current_location\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"lat\"</span><span class=\"token operator\">:</span> <span class=\"token number\">39.742043</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"lon\"</span><span class=\"token operator\">:</span> <span class=\"token number\">-104.991531</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"fullLength\"</span><span class=\"token operator\">:</span> <span class=\"token number\">215.75</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"used\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"price\"</span><span class=\"token operator\">:</span> <span class=\"token number\">29500</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"previousOwner\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Jane\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Jones\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Request to bulk-upload documents into Trucks processed successfully\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token null keyword\">null</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this API returns HTTP status code 202.</p> <h3 id=\"get-api-catalogs-catalogname-fieldmappings\">\n<a href=\"#get-api-catalogs-catalogname-fieldmappings\" class=\"header-anchor\">#</a> <code>GET /api/catalogs/{catalogName}/fieldMappings</code>\n</h3> <p><strong>Get field mappings for a catalog</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_getFieldMappings\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_getFieldMappings\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Lists the data types assigned to the various fields found in the catalog items\nin a particular catalog.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/catalogs/Trucks/fieldMappings\n</pre></div>\n<p>Sample JSON response body (no field types defined):</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"definedMappings\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"undefinedFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token string\">\"used\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">\"current_location\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">\"price\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">\"manufactureDate\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">\"options\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">\"fullLength\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">\"previousOwner\"</span>\n    <span class=\"token punctuation\">]</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample JSON response body (many field types defined):</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"definedMappings\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"used\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"boolean\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"current_location\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"geo_location\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"price\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"long\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"manufactureDate\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"date\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"options\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"previousOwner.lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"previousOwner\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"object\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"previousOwner.firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"fullLength\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"double\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"undefinedFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<ul>\n<li><p>Types include: <code>boolean</code>, <code>date</code>, <code>geo_location</code>, <code>long</code>, <code>double</code>, <code>object</code>\nand <code>string</code></p></li> <li><p><code>previousOwner</code> is an object containing a <code>firstName</code> field and a <code>lastName</code>\nfield. All three fields come back in the <code>definedMappings</code> field if their data\ntypes have been assigned.</p></li>\n</ul> <p>On success, this API returns HTTP status code 200.</p> <h3 id=\"put-api-catalogs-catalogname-fieldmappings\">\n<a href=\"#put-api-catalogs-catalogname-fieldmappings\" class=\"header-anchor\">#</a> <code>PUT /api/catalogs/{catalogName}/fieldMappings</code>\n</h3> <p><strong>Set a catalog's field mappings (data types)</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#catalogs_updateFieldTypes\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#catalogs_updateFieldTypes\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Sets the data types for the various fields found in the catalog items in a\nparticular catalog.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">PUT https://api.iterable.com/api/catalogs/Trucks/fieldMappings\n</pre></div>\n<p>Request headers:</p> <ul><li><code>Content-Type: application/json</code></li></ul> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"mappingsUpdates\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"fieldName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"used\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"fieldType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"boolean\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"fieldName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"manufactureDate\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"fieldType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"date\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"fieldName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"current_location\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"fieldType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"geo_location\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"fieldName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"price\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"fieldType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"long\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"fieldName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"options\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"fieldType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"fieldName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"fullLength\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"fieldType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"double\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"fieldName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"previousOwner\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"fieldType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"object\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"children\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"fieldName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"firstName\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"fieldType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"fieldName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"lastName\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"fieldType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<ul>\n<li><p><code>previousOwner</code> is an object containing a <code>firstName</code> field and a <code>lastName</code>\nfield. The above request body specifies that <code>previousOwner</code> is an object while\nits children, <code>firstName</code> and <code>lastName</code>, are strings.</p></li> <li><p>It is not possible to define types for nested object fields.</p></li> <li><p>Allowed types include: <code>boolean</code>, <code>date</code>, <code>geo_location</code>, <code>long</code>, <code>double</code>,\n<code>object</code> and <code>string</code></p></li> <li><p>For a catalog collection to search previously uploaded data containing the\nnewly typed fields (using the API or the web interface), you must re-upload or\nre-create that data.</p></li>\n</ul> <p>Sample JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token null keyword\">null</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this API returns HTTP status code 200.</p> <h2 id=\"channels\">\n<a href=\"#channels\" class=\"header-anchor\">#</a> Channels</h2> <h3 id=\"get-api-channels\">\n<a href=\"#get-api-channels\" class=\"header-anchor\">#</a> <code>GET /api/channels</code>\n</h3> <p><strong>Get channels</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#channels_channels\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#channels_channels\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Lists all of the message channels contained in the Iterable project.</p> <p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"channels\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3422</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Push Marketing Channel\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"channelType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Marketing\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"messageMedium\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Push\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3421</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Transactional Channel\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"channelType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Transactional\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"messageMedium\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Email\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3420</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Marketing Channel\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"channelType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Marketing\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"messageMedium\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Email\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h2 id=\"commerce\">\n<a href=\"#commerce\" class=\"header-anchor\">#</a> Commerce</h2> <p>Commerce APIs allow you to track user purchases and update shopping carts.\nTo learn more about how to use these APIs, read <a href=\"https://support.iterable.com/hc/articles/8698012206612\">Managing Commerce Events and Shopping Cart Items</a></p> <h3 id=\"post-api-commerce-updatecart\">\n<a href=\"#post-api-commerce-updatecart\" class=\"header-anchor\">#</a> <code>POST /api/commerce/updateCart</code>\n</h3> <p><strong>Update a user's shopping cart items</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#commerce_updateCart\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#commerce_updateCart\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates <code>shoppingCartItems</code> field on the user profile.</p> <p>This endpoint's 2XX response indicates when an unrecognized field is allowed or\ndropped. Control this behavior by using the optional <code>createNewFields</code>\nparameter, and/or the project's setting to allow or drop fields.\nTo learn more about this setting, read <a href=\"https://support.iterable.com/hc/articles/26678893969812\">Data Schema Management Overview</a>.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>It's generally best to treat <code>price</code> as a double, not a long. To do that,\ninclude a number with a decimal in the first call that you use to cast that\nfield. Use a non-zero decimal value to cast the field as a double (example:\n<code>5.55</code>). Otherwise, the field is cast as a long.</p>\n</div> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"user\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"currentCartTotal\"</span><span class=\"token operator\">:</span> <span class=\"token number\">34</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"mergeNestedObjects\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"items\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"sku\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"4\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Iterable T-shirt\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"100% cotton shirt. Show how much you love your favorite marketing automation platform!\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"categories\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"clothing\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"swag\"</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"price\"</span><span class=\"token operator\">:</span> <span class=\"token number\">20.5</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"quantity\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"imageUrl\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://static.iterable.com/iterable/15-10-03-iterableshirt.png\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"iterable.com\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"3\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"sku\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"5\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Macadamia Nuts\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Full of healthy fats! Made in Hawaii.\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"categories\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"food\"</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"price\"</span><span class=\"token operator\">:</span> <span class=\"token number\">5.5</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"quantity\"</span><span class=\"token operator\">:</span> <span class=\"token number\">2</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"imageUrl\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/images/macadamianuts.jpg\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"iterable.com\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-commerce-trackpurchase\">\n<a href=\"#post-api-commerce-trackpurchase\" class=\"header-anchor\">#</a> <code>POST /api/commerce/trackPurchase</code>\n</h3> <p><strong>Track a purchase</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#commerce_trackPurchase\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#commerce_trackPurchase\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Tracks when a user makes a purchase and clears <code>shoppingCartItems</code> on their\nprofile. Including a <code>campaignId</code> attributes the purchase to a specific Iterable\ncampaign.</p> <p>This endpoint's 2XX response indicates when an unrecognized field is allowed or\ndropped. Control this behavior by using the optional <code>createNewFields</code>\nparameter, and/or the project's setting to allow or drop fields.\nTo learn more about this setting, read <a href=\"https://support.iterable.com/hc/articles/26678893969812\">Data Schema Management Overview</a>.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>We recommend casting the required <code>price</code> and <code>total</code> fields as doubles instead\nof longs. To do that, include a number with a decimal in the first call that you\nuse to cast that field. Use a non-zero decimal value to cast the field as a\ndouble (example: <code>5.55</code>). Otherwise, the field is be cast as a long.</p>\n</div> <p>An optional string <code>id</code> parameter may be passed as one of the top-level\nparameters. If a purchase event exists with that <code>id</code>, the event is updated. If\nno <code>id</code> is specified, a new <code>id</code> is automatically generated and returned. The\ngenerated <code>id</code> should be stored for use in subsequent event updates.</p> <p>An <code>id</code> value:</p> <ul>\n<li>Must contain only alphanumeric characters and hyphens.</li> <li>Must be no longer than 512 bytes in length.</li> <li>Must be unique across all purchase events in the project.</li>\n</ul> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>The <code>createdAt</code> field can be blank for new purchase events, and will be set to\nthe time the event is received. Set this value (as a Unix formatted timestamp)\nonly if you're sending historic events.</p>\n</div> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"user\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"totalPurchases\"</span><span class=\"token operator\">:</span> <span class=\"token number\">5</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"items\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"sku\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Iterable Stickers\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Put these stickers anywhere and everywhere!\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"categories\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"stickers\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"novelty\"</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"price\"</span><span class=\"token operator\">:</span> <span class=\"token number\">5.5</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"quantity\"</span><span class=\"token operator\">:</span> <span class=\"token number\">2</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"imageUrl\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://static.iterable.com/iterable-demo-v1/15-03-04-Iterable_stickers.jpg\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"iterable.com\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">14348</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">29592</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"total\"</span><span class=\"token operator\">:</span> <span class=\"token number\">11</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"shippingAddress1\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"123 Main St\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"shippingAddress2\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"city\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"San Francisco\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"state\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"CA\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"zip\"</span><span class=\"token operator\">:</span> <span class=\"token number\">94107</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample response where an <code>id</code> of <code>\"12345\"</code> is passed in the track request:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Event with id: 12345 tracked.\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"12345\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample response when no <code>id</code> is passed in the track request:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Event with id: 1397b147db9c41f187a39844beba9c tracked.\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1397b147db9c41f187a39844beba9c\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>The <a href=\"https://support.iterable.com/hc/articles/204780579#post-api-commerce-trackpurchase\"><code>POST /api/commerce/trackPurchase</code></a>\nendpoint requires an array of <code>items</code>, but any events that are created by\ninvoking this endpoint contain an array named <code>shoppingCartItems</code> (not\n<code>items</code>).</p> <p>When segmenting your users into lists, you can access data in this array by\nreferencing the <code>shoppingCartItems</code> field (not <code>items</code>).</p> <p>Similarly, journeys that are triggered by <code>trackPurchase</code> can access data in\nthis array by referencing <code>shoppingCartItems</code> (not <code>items</code>).</p>\n</div> <h2 id=\"email\">\n<a href=\"#email\" class=\"header-anchor\">#</a> Email</h2> <h3 id=\"post-api-email-cancel\">\n<a href=\"#post-api-email-cancel\" class=\"header-anchor\">#</a> <code>POST /api/email/cancel</code>\n</h3> <p><strong>Cancel an email to a user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#email_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#email_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Cancels an email to a specific user. Request must include a <code>campaignId</code> and an\n<code>email</code> or <code>userId</code>, or just a <code>scheduledMessageId</code>.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"post-api-email-target\">\n<a href=\"#post-api-email-target\" class=\"header-anchor\">#</a> <code>POST /api/email/target</code>\n</h3> <p><strong>Send an email to an email address</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#email_target\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#email_target\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Sends a triggered email campaign to specified email address. If <code>sendAt</code> field\nis not included, the message is sent immediately. The JSON passed in the\n<code>dataFields</code> section is indexed on the <code>emailSend</code> event as <code>transactionalData</code>.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>This is an asynchronous call; a 200 response means that the request has been\nreceived, not that the email has been sent.</p>\n</div> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">13594</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recipientEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"customParam\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"paramValue\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sendAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2015-08-31 22:00:00 +00:00\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-email-viewinbrowser\">\n<a href=\"#get-api-email-viewinbrowser\" class=\"header-anchor\">#</a> <code>GET /api/email/viewInBrowser</code>\n</h3> <p><strong>View a previously sent email</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#email_viewInBrowser\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#email_viewInBrowser\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>View a copy of a previously sent email. Must include both a user's email address\nand the message id of the sent email.</p> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/email/viewInBrowser?email=user%40example.com&amp;messageId=340c333dea5e43cea6de24170d8a81c8\n</pre></div>\n<h2 id=\"embedded-messaging\">\n<a href=\"#embedded-messaging\" class=\"header-anchor\">#</a> Embedded Messaging</h2> <h3 id=\"get-api-embedded-messaging-messages\">\n<a href=\"#get-api-embedded-messaging-messages\" class=\"header-anchor\">#</a> <code>GET /api/embedded-messaging/messages</code>\n</h3> <p><strong>Get a user's embedded messages</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#Embedded_Messaging_messages\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#Embedded_Messaging_messages\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>This endpoint returns embedded messages for which the specified user is <a href=\"https://support.iterable.com/hc/articles/23061561161748\">eligible</a>,\ngrouped by <a href=\"https://support.iterable.com/hc/articles/23060983437076#step-3-create-placements-in-iterable\"><code>placementId</code></a>.\nA user is eligible if they're selected by the dynamic list that's associated with\nthe message's Iterable campaign.</p> <p>By default, this endpoint returns data for all placements that have messages for\nthe user. To constrain the response to specific placements, provide one or more\n<code>placementId</code> query parameters.</p> <p>Sample request:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/embedded-messaging/messages?email=user@example.com\n</pre></div>\n<p>Sample response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"placements\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"embeddedMessages\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"elements\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"body\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Tell us how we're doing. Take our survey!\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"buttons\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n              <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"action\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                  <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/survey\"</span><span class=\"token punctuation\">,</span>\n                  <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"openUrl\"</span>\n                <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"surveyButton\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Take survey\"</span>\n              <span class=\"token punctuation\">}</span>\n            <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"defaultAction\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n              <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/\"</span><span class=\"token punctuation\">,</span>\n              <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"openUrl\"</span>\n            <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"mediaUrl\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/images/example.png\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"mediaUrlCaption\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Take our survey!\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n              <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"label\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"color\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"#FF0000\"</span>\n              <span class=\"token punctuation\">}</span>\n            <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Take our survey!\"</span>  \n          <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"metadata\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1234567</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"isProof\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"...\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"placementId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"priorityOrder\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span>\n          <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"placementId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">202</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Every embedded message returned by this endpoint has a <code>metadata</code> object,\nincluding <code>messageId</code>, <code>placementId</code>, <code>campaignId</code>, and <code>isProof</code> fields. Other\nfields are present in the API response only if they have data.</p> <h2 id=\"events\">\n<a href=\"#events\" class=\"header-anchor\">#</a> Events</h2> <h3 id=\"post-api-embedded-messaging-events-session\">\n<a href=\"#post-api-embedded-messaging-events-session\" class=\"header-anchor\">#</a> <code>POST /api/embedded-messaging/events/session</code>\n</h3> <p><strong>Track an embedded message session and related impressions</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_embedded_track_impression\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_embedded_track_impression\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>This endpoint tracks a single <a href=\"https://support.iterable.com/hc/articles/23061677642260#embeddedsession-events\"><code>embeddedSession</code></a>\nevent, and one <a href=\"https://support.iterable.com/hc/articles/23061677642260#embeddedimpression-events\"><code>embeddedImpression</code></a>\nevent for each of the session's impressions.</p> <p>An <a href=\"https://support.iterable.com/hc/articles/23061677642260#embeddedsession-events\"><code>embeddedSession</code></a>\nevent represents a period of time when a user is viewing a page or a screen where\nembedded messages can be displayed (in one or many placements).</p> <p>An <a href=\"https://support.iterable.com/hc/articles/23061677642260#embeddedimpression-events\"><code>embeddedImpression</code></a>\nevent represents the number of times a given embedded message was visible during\nthe session, and the total amount of time the message was visible (in seconds)\nacross all those appearances.</p> <p>This endpoint does not create events for test messages (proofs).</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">POST https://api.iterable.com/api/embedded-messaging/events/session\n</pre></div>\n<div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"session\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n     <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"...\"</span><span class=\"token punctuation\">,</span>\n     <span class=\"token property\">\"start\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1699424658</span><span class=\"token punctuation\">,</span>\n     <span class=\"token property\">\"end\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1699424778</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"impressions\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"...\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"placementId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"displayCount\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"displayDuration\"</span><span class=\"token operator\">:</span> <span class=\"token number\">25</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"...\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"placementId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"displayCount\"</span><span class=\"token operator\">:</span> <span class=\"token number\">2</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"displayDuration\"</span><span class=\"token operator\">:</span> <span class=\"token number\">15</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"deviceInfo\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"deviceId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"...\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"platform\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"iOS\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"appPackageName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"com.example.app\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1699424800</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Include a <code>userId</code> or <code>email</code>, but not both. <code>createdAt</code> is an optional Unix\ntimestamp that indicates when the event was created (if not provided, it's\nassigned the time that Iterable receives the event).</p> <h3 id=\"post-api-embedded-messaging-events-received\">\n<a href=\"#post-api-embedded-messaging-events-received\" class=\"header-anchor\">#</a> <code>POST /api/embedded-messaging/events/received</code>\n</h3> <p><strong>Track an embedded message received event</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_embedded_track_received\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_embedded_track_received\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>This endpoint tracks that a given embedded message was received on a device. It\ncreates an <a href=\"https://support.iterable.com/hc/articles/23061677642260#embeddedreceived-events\"><code>embeddedReceived</code></a>\nevent in Iterable.</p> <p>An <a href=\"https://support.iterable.com/hc/articles/23061677642260#embeddedreceived-events\"><code>embeddedReceived</code></a>\nevent indicates that a device has retrieved a message. It does not mean that the\nmessage has been displayed.</p> <p>Iterable's SDKs automatically call this endpoint for each embedded message they\nretrieve. If you're not using an SDK, call this endpoint once per embedded\nmessage you retrieve from Iterable's API.</p> <p>For test messages (proofs), no events are created.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">POST https://api.iterable.com/api/embedded-messaging/events/received\n</pre></div>\n<div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span> \n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"...\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"deviceInfo\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"deviceId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"...\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"platform\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"iOS\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"appPackageName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"com.example.app\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1699424800</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Include a <code>userId</code> or <code>email</code>, but not both. <code>createdAt</code> is an optional Unix\ntimestamp that indicates when the event was created (if not provided, it's\nassigned the time that Iterable receives the event).</p> <h3 id=\"post-api-embedded-messaging-events-click\">\n<a href=\"#post-api-embedded-messaging-events-click\" class=\"header-anchor\">#</a> <code>POST /api/embedded-messaging/events/click</code>\n</h3> <p><strong>Track an embedded message click</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_embedded_track_click\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_embedded_track_click\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>This endpoint tracks a click on an embedded message. It creates an <code>embeddedClick</code>\nevent.</p> <p>For test messages (proofs), no events are created.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">POST https://api.iterable.com/api/embedded-messaging/events/click\n</pre></div>\n<div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"...\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"buttonIdentifier\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"surveyButton\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"targetUrl\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/survey\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"deviceInfo\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"deviceId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"...\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"platform\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"iOS\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"appPackageName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"com.example.app\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1699424800</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Include a <code>userId</code> or <code>email</code>, but not both. <code>createdAt</code> is an optional Unix\ntimestamp that indicates when the event was created (if not provided, it's\nassigned the time that Iterable receives the event).</p> <h3 id=\"post-api-events-inappconsume\">\n<a href=\"#post-api-events-inappconsume\" class=\"header-anchor\">#</a> <code>POST /api/events/inAppConsume</code>\n</h3> <p><strong>Consume or delete an in-app message</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_inAppConsume\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_inAppConsume\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Consumes or deletes an in-app message from the server.</p> <p>Use this API if your app does not use one of Iterable's mobile SDKs, since they\ncall it automatically.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>If an incoming in-app message is not configured to use the mobile inbox, use\nthis API to \"consume\" it from the server queue after the user sees it.\nOtherwise, call this API when the user explicitly deletes an inbox-enabled\nmessage (by clicking a delete button in its content, swiping it in the inbox,\netc.).</p> <p>If you pass a <code>deleteAction</code> value to this endpoint, Iterable generates an\n<code>inAppDelete</code> event (otherwise, it does not).</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user123\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9c438a20d26e4e9f8ad4edea23f811cd\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"deleteAction\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"inbox-swipe\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageContext\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"location\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"inbox\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"saveToInbox\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"silentInbox\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"deviceInfo\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"deviceId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"A40EB980-A3F6-ACE6-4B3C-B6CFFF641F74\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"platform\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"iOS\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"appPackageName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"com.example.testapp\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-events-trackinappclick\">\n<a href=\"#post-api-events-trackinappclick\" class=\"header-anchor\">#</a> <code>POST /api/events/trackInAppClick</code>\n</h3> <p><strong>Track an in-app message click</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_trackInAppClick\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_trackInAppClick\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates an <code>inAppClick</code> event for the specified user, message and URL. When not\nusing one of Iterable's mobile SDKs, call this endpoint when a user taps on a\nbutton or link in an in-app message.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user123\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9c438a20d26e4e9f8ad4edea23f811cd\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"clickedUrl\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://www.iterable.com\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-events-trackinappclose\">\n<a href=\"#post-api-events-trackinappclose\" class=\"header-anchor\">#</a> <code>POST /api/events/trackInAppClose</code>\n</h3> <p><strong>Track the closing of an in-app message</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_trackInAppClose\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_trackInAppClose\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates an <code>inAppClose</code> event for a specific user and in-app message. When not\nusing Iterable's mobile SDKs, call this endpoint to indicate that the user\ntapped a close button or link to close a particular in-app message.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user123\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9c438a20d26e4e9f8ad4edea23f811cd\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"clickedUrl\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://www.iterable.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageContext\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"saveToInbox\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"silentInbox\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"location\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"in-app\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"closeAction\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"link\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"deviceInfo\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"deviceId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"platform\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"iOS\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"appPackageName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"com.example.testapp\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-events-trackinappdelivery\">\n<a href=\"#post-api-events-trackinappdelivery\" class=\"header-anchor\">#</a> <code>POST /api/events/trackInAppDelivery</code>\n</h3> <p><strong>Track the delivery of an in-app message</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_trackInAppDelivery\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_trackInAppDelivery\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates an <code>inAppDelivery</code> event for a specific user, device and message. When\nnot using Iterable's mobile SDKs, call this endpoint to indicate that a\nparticular message has been delivered to a particular device for a particular\nuser. Take care not to call this endpoint multiple times for the same\nmessage/device/user combination.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user123\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9c438a20d26e4e9f8ad4edea23f811cd\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageContext\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"saveToInbox\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"silentInbox\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"deviceInfo\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"deviceId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"A40EB980-A3F6-ACE6-4B3C-B6CFFF641F74\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"platform\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"iOS\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"appPackageName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"com.example.testapp\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-events-trackinappopen\">\n<a href=\"#post-api-events-trackinappopen\" class=\"header-anchor\">#</a> <code>POST /api/events/trackInAppOpen</code>\n</h3> <p><strong>Track an in-app message open</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_trackInAppOpen\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_trackInAppOpen\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates an <code>inAppOpen</code> event for the specified user and message. When not using\none of Iterable's mobile SDKs, call this endpoint when a mobile app displays an\nin-app message to a user.</p> <p>This endpoint also marks the specified in-app message as having been read.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user123\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9c438a20d26e4e9f8ad4edea23f811cd\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-events-track\">\n<a href=\"#post-api-events-track\" class=\"header-anchor\">#</a> <code>POST /api/events/track</code>\n</h3> <p><strong>Track an event</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_track\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_track\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Saves custom events in Iterable (user logins, signups, app opens, etc.).</p> <p>You can use these events in segmentation, to trigger <a href=\"https://support.iterable.com/hc/articles/4405798856212\">journeys</a>,\nand to <a href=\"https://support.iterable.com/hc/articles/205480285\">track custom conversions</a>.\nAdditionally, in a template, you can use the fields of a campaign-triggering\nevent as a source of dynamic data.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>An optional string <code>id</code> parameter may be passed as one of the top-level\nparameters. If an event exists with that <code>id</code>, the event is updated. If no <code>id</code>\nis specified, a new <code>id</code> is automatically generated and returned.</p> <p>An <code>id</code> value must:</p> <ul>\n<li>Contain only alphanumeric characters and hyphens.</li> <li>Be no longer than 512 bytes in length.</li> <li>Be unique across all custom events in the project.</li>\n</ul> <p>This endpoint's 2XX response indicates when an unrecognized field is allowed or\ndropped. Control this behavior by using the optional <code>createNewFields</code>\nparameter, and/or the project's setting to allow or drop fields.\nTo learn more about this setting, read <a href=\"https://support.iterable.com/hc/articles/26678893969812\">Data Schema Management Overview</a>.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"eventName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"startedMembership\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"12345\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"source\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"facebook\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"membershipType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"monthly\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createNewFields\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>In this example, <code>source</code> is an unrecognized data field.</p> <p>Sample response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Event with id: f8bc79gghh47f45798b00032de21a12cf2 tracked. Fields that were created were: [startedMembership.source]\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"f8bc79eebb9d4d98ba3e32d000d67dmf2\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-events-trackwebpushclick\">\n<a href=\"#post-api-events-trackwebpushclick\" class=\"header-anchor\">#</a> <code>POST /api/events/trackWebPushClick</code>\n</h3> <p><strong>Track a web push click</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_trackWebPushClick\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_trackWebPushClick\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"post-api-events-trackpushopen\">\n<a href=\"#post-api-events-trackpushopen\" class=\"header-anchor\">#</a> <code>POST /api/events/trackPushOpen</code>\n</h3> <p><strong>Track a mobile push open</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_trackPushOpen\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_trackPushOpen\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Tracks a mobile push notification open.</p> <p>Include a <code>campaignId</code> to attribute the open to the Iterable campaign that\n<a href=\"https://support.iterable.com/hc/articles/115000379086\">sent the push notification</a>.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">67890</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9c438a20d26e4e9f8ad4edea23f811cd\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"openedMostRecentPush\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-events-email\">\n<a href=\"#get-api-events-email\" class=\"header-anchor\">#</a> <code>GET /api/events/{email}</code>\n</h3> <p><strong>Get user events</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_User_events\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_User_events\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns a user's events, including system events and custom events. The default\nvalue for <code>limit</code> is 30.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/events/user%40example.com\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"events\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"contentId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">330397</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"recurringCampaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2016-10-04 00:54:00 +00:00\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">67890</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">11111</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"6b92db5f79874561bc5b1dd1337f7a35\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"eventType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"emailSend\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"contentId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">329261</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"recurringCampaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2016-09-30 19:50:00 +00:00\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">67890</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">22222</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9c438a20d26e4e9f8ad4edea23f811cd\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"eventType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"emailSend\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-events-byuserid-userid\">\n<a href=\"#get-api-events-byuserid-userid\" class=\"header-anchor\">#</a> <code>GET /api/events/byUserId/{userId}</code>\n</h3> <p><strong>Get user events by userId</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_User_events_by_userId\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_User_events_by_userId\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Get events for a specific user, by <code>userId</code>.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"post-api-events-trackbulk\">\n<a href=\"#post-api-events-trackbulk\" class=\"header-anchor\">#</a> <code>POST /api/events/trackBulk</code>\n</h3> <p><strong>Bulk track events</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#events_trackBulk\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#events_trackBulk\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Tracks multiple custom events.</p> <p>Events are created asynchronously and processed separately from the non-bulk\nevent tracking endpoint. Thus, if you need to make sure events are tracked in\norder, send all of them to the same endpoint (either bulk or non-bulk).</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Important notes:</p> <ul>\n<li><p>An Iterable project can contain up to 8,000 unique custom event field names.\nIf the same field name is used on various custom events that have different\n<code>eventName</code> values, it counts multiple times against this limit.</p></li> <li><p>Types of data fields must match the types sent in previous requests, across\nall data fields in the project (for the same event name).</p></li> <li><p>Bulk events are processed separately from regular event track endpoint.</p></li> <li><p>There's a 4MB limit for the request's JSON body (about 1000 events).</p></li> <li><p>Fields per event are the same as for single event in regular track event\nendpoint.</p></li>\n</ul> <p>This endpoint's 2XX response indicates when an unrecognized field is allowed or\ndropped. Control this behavior by using the optional <code>createNewFields</code>\nparameter, and/or the project's setting to allow or drop fields.\nTo learn more about this setting, read <a href=\"https://support.iterable.com/hc/articles/26678893969812\">Data Schema Management Overview</a>.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"events\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"eventName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"startedMembership\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"12345\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"source\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"facebook\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"membershipType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"monthly\"</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"eventName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"quizCompleted\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"45678\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"score\"</span><span class=\"token operator\">:</span> <span class=\"token number\">9</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h2 id=\"experiments\">\n<a href=\"#experiments\" class=\"header-anchor\">#</a> Experiments</h2> <h3 id=\"get-api-experiments-metrics\">\n<a href=\"#get-api-experiments-metrics\" class=\"header-anchor\">#</a> <code>GET /api/experiments/metrics</code>\n</h3> <p><strong>Get metrics for experiments</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#experiments_metrics\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#experiments_metrics\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Exports experiment metrics as CSV. This endpoint returns data only for <strong>email</strong>\nexperiments. You can:</p> <ul>\n<li>Provide multiple <code>experimentId</code> and/or <code>campaignId</code> query parameters (up to 200\ntotal per request).</li> <li>Optionally pass <code>startDateTime</code> and/or <code>endDateTime</code> to limit results to\nexperiments that overlap the provided window.</li> <li>Omit IDs to fetch metrics for all experiments in the project (up to the same\n200-experiment limit).</li>\n</ul> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/experiments/metrics?experimentId=12345&amp;campaignId=23456&amp;startDateTime=2017-06-01&amp;endDateTime=2017-07-01\n</pre></div>\n<h2 id=\"export\">\n<a href=\"#export\" class=\"header-anchor\">#</a> Export</h2> <p>CSV, JSON, and user event export APIs are synchronous, and respond with\nrequested data:</p> <ul>\n<li><a href=\"#get-api-export-data-csv\"><code>GET /api/export/data.csv</code></a></li> <li><a href=\"#get-api-export-data-json\"><code>GET /api/export/data.json</code></a></li> <li><a href=\"#get-api-export-userevents\"><code>GET /api/export/userEvents</code></a></li>\n</ul> <p>For high volume requests (up to 100GB), use Iterable's asynchronous export\nAPIs:</p> <ul>\n<li><a href=\"#post-api-export-start\"><code>POST /api/export/start</code></a></li> <li><a href=\"#get-api-export-jobid-files\"><code>GET /api/export/{jobId}/files</code></a></li> <li><a href=\"#delete-api-export-jobid\"><code>DELETE /api/export/{jobId}</code></a></li>\n</ul> <h3 id=\"get-api-export-data-csv\">\n<a href=\"#get-api-export-data-csv\" class=\"header-anchor\">#</a> <code>GET /api/export/data.csv</code>\n</h3> <p><strong>Export data to CSV</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#export_exportDataCsv\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#export_exportDataCsv\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Exports different types of data (purchases, user created, email sends, email\nopens, etc.) in CSV format. When the call is made, a string is returned as a\n.csv file. This file is then available for download.</p> <h3 id=\"get-api-export-data-json\">\n<a href=\"#get-api-export-data-json\" class=\"header-anchor\">#</a> <code>GET /api/export/data.json</code>\n</h3> <p><strong>Export data to JSON</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#export_exportDataJson\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#export_exportDataJson\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Exports different types of data (purchases, user created, email sends, email\nopens, etc) in JSON format.</p> <p>Sample response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"contentId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">243307</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recurringCampaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">41777</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2016-07-08 19:50:00 +00:00\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">43521</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">71213</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"contentId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">242909</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2016-07-08 16:58:19 +00:00\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">43444</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">71115</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"contentId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">243307</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recurringCampaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">41777</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user2@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2016-07-08 19:50:00 +00:00\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">43521</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">71213</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"contentId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">243307</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recurringCampaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">41777</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user3@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2016-07-08 19:50:00 +00:00\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">43521</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">71213</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>The range field pulls information based off of the profile update field.</p>\n</div> <h3 id=\"get-api-export-userevents\">\n<a href=\"#get-api-export-userevents\" class=\"header-anchor\">#</a> <code>GET /api/export/userEvents</code>\n</h3> <p><strong>Export user events</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#export_exportUserEvents\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#export_exportUserEvents\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Jane Docs\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Docs\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Jane\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"profileUpdatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-06-22 00:58:55 +00:00\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"itblInternal\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"documentCreatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-06-22 00:58:55 +00:00\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"documentUpdatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-06-22 00:58:55 +00:00\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2020-06-22 00:58:55 +00:00\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"signupSource\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Import\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageTypeIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"emailListIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>  <span class=\"token comment\">// Note: This could be \"userListIds\" depending on project type</span>\n    <span class=\"token number\">1111111</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"channelIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"_type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"emailSubscribe\"</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"50bc32394fa14ef8dh24a17b5b6da768\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"eventName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"viewedItem\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"viewedItem\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-06-28 02:12:02 +00:00\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"eventUpdatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-06-28 02:12:02 +00:00\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"itblInternal\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"documentCreatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-06-28 02:12:02 +00:00\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"documentUpdatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-06-28 02:12:02 +00:00\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"_type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"customEvent\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-export-start\">\n<a href=\"#post-api-export-start\" class=\"header-anchor\">#</a> <code>POST /api/export/start</code>\n</h3> <p><strong>Start export</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#export_startExport\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#export_startExport\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Starts a data export. The export processes as a background job.</p> <p>Required parameters:</p> <ul>\n<li><p><code>outputFormat</code> - Type of output file: <code>text/csv</code> or\n<code>application/x-json-stream</code>.</p></li> <li>\n<p><code>dataTypeName</code> - Type of data to export (list must be comma-separated with no\nspaces between item values).</p> <div class=\"language- extra-class\"><pre class=\"language-text\">customEvent,emailBounce,emailClick,emailComplaint,emailOpen,emailSend,emailSendSkip,emailSubscribe,emailUnSubscribe,embeddedClick,embeddedDismiss,embeddedImpression,embeddedReceived,embeddedSend,embeddedSendSkip,hostedUnsubscribeClick,inAppClick,inAppClose,inAppDelete,inAppDelivery,inAppOpen,inAppRecall,inAppSend,inAppSendSkip,inboxMessageImpression,inboxSession,purchase,pushBounce,pushOpen,pushSend,pushSendSkip,pushUninstall,rcsBounce,rcsClick,rcsReceived,rcsSeen,rcsSend,rcsSendSkip,smsBounce,smsClick,smsReceived,smsSend,smsSendSkip,smsUsageInfo,user,webPushClick,webPushSend,webPushSendSkip\n</pre></div>\n</li>\n</ul> <p>To refine your request, use any of the following optional parameters:</p> <ul>\n<li>\n<code>startDateTime</code> - The start of the period. Inclusive. Use\n<a href=\"https://support.iterable.com/hc/articles/208183076#date\">any date format supported by Iterable</a>.</li> <li>\n<code>endDateTime</code> - The end of the period to export. Exclusive. Use\n<a href=\"https://support.iterable.com/hc/articles/208183076#date\">any date format supported by Iterable</a>.</li> <li>\n<code>omitFields</code> - Fields to omit from the export (comma-separated).</li> <li>\n<code>onlyFields</code> - Only include these fields in the export (comma-separated).\nThis parameter limits the export columns explicitly to what's listed. It\ndoesn't filter out null values.</li>\n</ul> <div class=\"custom-block warning\">\n<p class=\"custom-block-title\">IMPORTANT</p> <p>The <code>omitFields</code> and <code>onlyFields</code> parameters are space-sensitive. Do not\ninclude spaces after commas in field names. Use <code>\"email,locale,firstName\"</code>\ninstead of <code>\"email, locale, firstName\"</code>.</p>\n</div> <ul>\n<li>\n<code>campaignId</code> - The campaign to export data for.</li> <li>\n<code>delimiter</code> - CSV file delimiter, default is <code>,</code> (comma).</li>\n</ul> <p>Save the returned <code>jobId</code> to check job status and retrieve export files using\n<a href=\"#get-api-export-jobid-files\"><code>GET /api/export/{jobId}/files</code></a>.</p> <p><strong>Concurrent request limit:</strong> Iterable simultaneously processes up to 4 jobs\nper organization. Additional jobs are queued for processing later.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"outputFormat\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"text/csv\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"dataTypeName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"startDateTime\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-01-01\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"endDateTime\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-03-01\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"onlyFields\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"email,locale,firstName,lastName\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"jobId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">99999</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-export-jobid-files\">\n<a href=\"#get-api-export-jobid-files\" class=\"header-anchor\">#</a> <code>GET /api/export/{jobId}/files</code>\n</h3> <p><strong>Get export files</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#export_getExportFiles\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#export_getExportFiles\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Gets the job status and links for exported files with the <a href=\"#post-api-export-start\"><code>POST /api/export/start</code></a>\nendpoint.</p> <p>Job states can be <code>enqueued</code>, <code>running</code>, <code>completed</code>, or <code>failed</code>.  Occasionally,\na job status may change from <code>running</code> to <code>enqueued</code> because it had to restart.\nWhen this happens, the job maintains progress and begins where it previously\nstopped. Iterable uses an exponential backoff pattern for retries—when Iterable\nhas had to retry a job several times, the delay is progressively longer.</p> <p>Exports are limited to 100GB in total size, with files up to 10MB each.</p> <p>Files are added to the list as the export job is running. Paginate through the\nfiles by using the last file name in the response as the <code>startAfter</code> value for\nthe next request. Iterable returns up to 10 files per request.</p> <p>Export files have secured links to a private Iterable repository. The links are\nvalid for 30 minutes, and after that time you must request new links. After\nseven days, the files are deleted. After 30 days, all information about the job\nis deleted.</p> <p>Example:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET /api/export/{jobId}/files?startAfter=file-name.csv\n</pre></div>\n<p>Sample response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"jobId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">99999</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"jobState\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"completed\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"exportTruncated\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"files\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"file\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"file-name.csv\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"&lt;some-URL&gt;\"</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"delete-api-export-jobid\">\n<a href=\"#delete-api-export-jobid\" class=\"header-anchor\">#</a> <code>DELETE /api/export/{jobId}</code>\n</h3> <p><strong>Cancel export</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#export_cancelExport\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#export_cancelExport\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Cancels a queued or running export created with the\n<a href=\"#post-api-export-start\"><code>POST /api/export/start</code></a> endpoint.</p> <h3 id=\"get-api-export-jobs\">\n<a href=\"#get-api-export-jobs\" class=\"header-anchor\">#</a> <code>GET /api/export/jobs</code>\n</h3> <p><strong>Get export jobs</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#export_getExportJobs\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#export_getExportJobs\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns a list of recent export jobs for the current project. Only includes\njobs for the current project and not other projects.</p> <p>Optional parameters:</p> <ul><li>\n<code>jobState</code> - Filter results to only include jobs in the specified state\n(<code>enqueued</code>, <code>queued</code>, <code>running</code>, <code>completed</code>, <code>failed</code>, <code>cancelled</code>,\n<code>cancelling</code>)</li></ul> <p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"jobs\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3562</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"dataTypeName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"jobState\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"completed\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"scheduledStartTime\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2023-12-19T10:12:27.732-06:00\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"endTime\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2023-12-19T10:12:28.214-06:00\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"bytesExported\"</span><span class=\"token operator\">:</span> <span class=\"token number\">2453629</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h2 id=\"in-app-messages\">\n<a href=\"#in-app-messages\" class=\"header-anchor\">#</a> In-app messages</h2> <h3 id=\"get-api-inapp-getprioritymessage\">\n<a href=\"#get-api-inapp-getprioritymessage\" class=\"header-anchor\">#</a> <code>GET /api/inApp/getPriorityMessage</code>\n</h3> <p><strong>Get a user's most relevant in-app message</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#In-app_getPriorityMessage\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#In-app_getPriorityMessage\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Get a user's most relevant in-app message.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"get-api-inapp-getmessages\">\n<a href=\"#get-api-inapp-getmessages\" class=\"header-anchor\">#</a> <code>GET /api/inApp/getMessages</code>\n</h3> <p><strong>Get a user's in-app messages</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#In-app_getMessages\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#In-app_getMessages\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Gets the in-app messages available for a specific user. This endpoint returns\nnew messages and messages that have already been saved to a user's mobile inbox.\nEach message has a <code>read</code> field that indicates whether or not it has already\nbeen seen.</p> <p>If you'd like this API to return selective in-app messages for a specific\napp/platform combination (as well as non-selective in-app messages), include\n<code>packageName</code> and <code>platform</code> as query parameters in your request.</p> <p>If you don't include both of these parameters, the API returns only\nnon-selective in-app messages (i.e., in-app messages sent with the selective\nin-app messaging feature disabled).</p> <p>Sample request:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/inApp/getMessages?email=user%40example.com&amp;userId=1234&amp;count=123\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"inAppMessages\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9c438a20d26e4e9f8ad4edea23f811cd\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2022-11-10T16:58:14.933Z\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"expiresAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2022-11-10T16:58:14.933Z\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"html\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"inAppDisplaySettings\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"top\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"right\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"bottom\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"left\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"bgColor\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"alpha\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"hex\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n          <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"shouldAnimate\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"webInAppDisplaySettings\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"position\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"customPayload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"trigger\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"saveToInbox\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"inboxMetadata\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"subtitle\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"icon\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"priorityLevel\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"read\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"jsonOnly\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"typeOfContent\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"messageType\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p><code>priorityLevel</code> indicates an in-app messages's <a href=\"https://support.iterable.com/hc/articles/5670450366996#in-app-message-prioritization\">display priority</a>:</p> <ul>\n<li>Proof: 100.0</li> <li>Critical: 100.5</li> <li>High: 200.5</li> <li>Medium: 300.5</li> <li>Low: 400.5</li>\n</ul> <p>By default, Iterable's mobile SDKs display greater priority messages first\n(proof, then critical, then high, then medium, then low), sorting the messages\nin each individual priority level by send time (first sent, first displayed).</p> <h3 id=\"post-api-inapp-cancel\">\n<a href=\"#post-api-inapp-cancel\" class=\"header-anchor\">#</a> <code>POST /api/inApp/cancel</code>\n</h3> <p><strong>Cancel a scheduled in-app message</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#In-app_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#In-app_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Cancels the sending of a scheduled in-app message to a specific user.</p> <p>Sample JSON body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">13770</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"post-api-inapp-target\">\n<a href=\"#post-api-inapp-target\" class=\"header-anchor\">#</a> <code>POST /api/inApp/target</code>\n</h3> <p><strong>Send an in-app notification to a user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#In-app_target\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#In-app_target\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Sends an existing in-app message campaign to a specific user. Use <code>sendAt</code> to\nschedule a future send and <code>dataFields</code> to override user profile fields.</p> <p>Sample JSON body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">13770</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recipientEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n     <span class=\"token property\">\"newUser\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"FALSE\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sendAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2016-08-25 23:25:00 +00:00\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h2 id=\"web-in-app-messages\">\n<a href=\"#web-in-app-messages\" class=\"header-anchor\">#</a> Web in-app messages</h2> <h3 id=\"get-api-inapp-web-getmessages\">\n<a href=\"#get-api-inapp-web-getmessages\" class=\"header-anchor\">#</a> <code>GET /api/inApp/web/getMessages</code>\n</h3> <p><strong>Get a user's web in-app messages</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#In-app-web_getMessages\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#In-app-web_getMessages\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>This endpoint is functionally the same as <a href=\"#get-api-inapp-getmessages\"><code>GET /api/inApp/getMessages</code></a>,\nbut with <code>platform</code> always set to <code>Web</code> (cannot be changed).</p> <p>This endpoint is used by Iterable's <a href=\"https://github.com/Iterable/iterable-web-sdk\" target=\"_blank\" rel=\"noopener noreferrer\">web SDK</a>\nto fetch <a href=\"https://support.iterable.com/hc/articles/4418166649748\">in-browser messages</a>\n(in-app messages that target a website).</p> <h2 id=\"journeys-workflows\">\n<a href=\"#journeys-workflows\" class=\"header-anchor\">#</a> Journeys (workflows)</h2> <h3 id=\"get-api-journeys\">\n<a href=\"#get-api-journeys\" class=\"header-anchor\">#</a> <code>GET /api/journeys</code>\n</h3> <p><strong>Get all journeys in the project</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#workflows_getJourneys\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#workflows_getJourneys\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>This endpoint returns an array of journeys that exist in the Iterable project\nassociated with the API key found in the request.</p> <ul>\n<li><p>By default, this endpoint returns all non-archived journeys. To fetch archived\njourneys instead, set the <code>state</code> query parameter to <code>Archived</code>.</p></li> <li><p>To sort results, use the <code>sort</code> query parameter. The default sort order is\n<code>id</code> (ascending). Change sort order with optional direction prefix: use <code>-</code>\nfor descending, <code>+</code> or no prefix for ascending. Examples: <code>-createdAt</code>,\n<code>+name</code>.</p></li> <li>\n<p>To page results, use these query parameters:</p> <ul>\n<li>\n<code>page</code> – The page number to return. Default is 1.</li> <li>\n<code>pageSize</code> – The number of journeys to return in each page. Default is 10,\nmaximum is 50.</li>\n</ul>\n</li>\n</ul> <p>Sample request:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">https://api.iterable.com/api/journeys?page=1&amp;pageSize=50&amp;state=Archived\n</pre></div>\n<p>Sample response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"journeys\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123456</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1623962210749</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1623962210754</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Example archived workflow #1\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"journeyType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Published\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"creatorUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"enabled\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"startTileId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">2004669</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"triggerEventNames\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n                <span class=\"token string\">\"apiTrigger\"</span>\n            <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"isArchived\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123499</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1629132761167</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1629132764980</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Example archived workflow #2\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"journeyType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Published\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"creatorUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"enabled\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"startTileId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">2215538</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"triggerEventNames\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n                <span class=\"token string\">\"apiTrigger\"</span>\n            <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"isArchived\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"totalJourneysCount\"</span><span class=\"token operator\">:</span> <span class=\"token number\">2</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-workflows-triggerworkflow\">\n<a href=\"#post-api-workflows-triggerworkflow\" class=\"header-anchor\">#</a> <code>POST /api/workflows/triggerWorkflow</code>\n</h3> <p><strong>Trigger a workflow</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#workflows_triggerWorkflow\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#workflows_triggerWorkflow\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Triggers a journey for a single user and/or all users on a list. Works for both\nstatic and dynamic lists.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request body (JSON):</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"workflowId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">2765</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"listId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">6094</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"signupSource\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"google\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"optIn\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h2 id=\"lists\">\n<a href=\"#lists\" class=\"header-anchor\">#</a> Lists</h2> <h3 id=\"delete-api-lists-listid\">\n<a href=\"#delete-api-lists-listid\" class=\"header-anchor\">#</a> <code>DELETE /api/lists/{listId}</code>\n</h3> <p><strong>Delete a list</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#lists_delete\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#lists_delete\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Deletes a list. All users who are part of the deleted list have the list removed\nfrom their profile.</p> <p>The list must not be in use. Attempting to delete a list in use will cause the\nrequest to fail with a <code>409 Conflict</code> response code and a message indicating\nwhere the list is active.</p> <p>Sample request:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">https://api.iterable.com/api/lists/21398\n</pre></div>\n<h3 id=\"get-api-lists\">\n<a href=\"#get-api-lists\" class=\"header-anchor\">#</a> <code>GET /api/lists</code>\n</h3> <p><strong>Get lists</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#lists_getLists\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#lists_getLists\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns the project's static lists and their descriptions (if set).</p> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/lists\n</pre></div>\n<p>Sample response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"lists\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"September subscribers\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Users who subscribed in September 2022.\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1234567891011</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"listType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Standard\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-lists\">\n<a href=\"#post-api-lists\" class=\"header-anchor\">#</a> <code>POST /api/lists</code>\n</h3> <p><strong>Create a static list</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#lists_create\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#lists_create\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates a new, empty, static list, with the specified name. Returns the list\nID.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"September subscribers\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Users who subscribed in September 2022.\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-lists-subscribe\">\n<a href=\"#post-api-lists-subscribe\" class=\"header-anchor\">#</a> <code>POST /api/lists/subscribe</code>\n</h3> <p><strong>Add subscribers to list</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#lists_subscribe\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#lists_subscribe\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Adds a subscriber to an existing static list.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"listId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"subscribers\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Sherry\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"hasCat\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-lists-unsubscribe\">\n<a href=\"#post-api-lists-unsubscribe\" class=\"header-anchor\">#</a> <code>POST /api/lists/unsubscribe</code>\n</h3> <p><strong>Remove users from a list</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#lists_unsubscribe\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#lists_unsubscribe\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Removes one or more subscribers from an existing static list.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"listId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"subscribers\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user2@example.com\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"channelUnsubscribe\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-lists-getusers\">\n<a href=\"#get-api-lists-getusers\" class=\"header-anchor\">#</a> <code>GET /api/lists/getUsers</code>\n</h3> <p><strong>Get users in a list</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#lists_getLists_0\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#lists_getLists_0\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns a string of all the users who are on a list. Works for both static and\ndynamic lists</p> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/lists/getUsers?listId=21401\n</pre></div>\n<h3 id=\"get-api-lists-previewusers\">\n<a href=\"#get-api-lists-previewusers\" class=\"header-anchor\">#</a> <code>GET /api/lists/previewUsers</code>\n</h3> <p><strong>Preview users in a list</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#lists_getUsersPreview\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#lists_getUsersPreview\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns a random sample of users from a static or dynamic list.</p> <p>Accepted path parameters:</p> <ul>\n<li>\n<code>listId</code> (required) - The ID of the list to preview.</li> <li>\n<code>size</code> (optional, default is 1000, maximum is 5000) - The number of users to\nreturn. If the list has fewer users than the preview size requested, the API\nresponse includes all users.</li> <li>\n<code>preferUserId</code> (optional, default is false) - For Hybrid projects, set to\n<code>true</code> to return user IDs instead of email addresses. The list will return\nthe user's <code>email</code> field if the user does not have a <code>userId</code> value. If the\nuser has a <code>userId</code> value, the API response includes the user's <code>userId</code>\nvalue.</li>\n</ul> <p>Sample request:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/lists/previewUsers?listId=12345&amp;size=5\n</pre></div>\n<p>Sample response (<code>text/plain</code>):</p> <div class=\"language- extra-class\"><pre class=\"language-text\">user1@example.com\nuser2@example.com\nuser3@example.com\nuser4@example.com\nuser5@example.com\n</pre></div>\n<h3 id=\"get-api-lists-listid-size\">\n<a href=\"#get-api-lists-listid-size\" class=\"header-anchor\">#</a> <code>GET /api/lists/{listId}/size</code>\n</h3> <p><strong>Get count of users in list</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#lists_getListCount\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#lists_getListCount\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Get the number of users within a list.</p> <h2 id=\"message-types\">\n<a href=\"#message-types\" class=\"header-anchor\">#</a> Message types</h2> <h3 id=\"get-api-messagetypes\">\n<a href=\"#get-api-messagetypes\" class=\"header-anchor\">#</a> <code>GET /api/messageTypes</code>\n</h3> <p><strong>List message types</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#messageTypes_messageTypes\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#messageTypes_messageTypes\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Lists all message types in the project.</p> <p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"messageTypes\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3868</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Push Marketing Message\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"channelId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3422</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3867</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Transactional Message\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"channelId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3421</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3866</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Marketing Message\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"channelId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3420</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h2 id=\"metadata-store\">\n<a href=\"#metadata-store\" class=\"header-anchor\">#</a> Metadata store</h2> <h3 id=\"delete-api-metadata-table-key\">\n<a href=\"#delete-api-metadata-table-key\" class=\"header-anchor\">#</a> <code>DELETE /api/metadata/{table}/{key}</code>\n</h3> <p><strong>Delete a single metadata key/value</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#metadata_delete\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#metadata_delete\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Deletes the specified item from the table.</p> <p>Asynchronous. <code>200</code> response indicates a valid request that will be processed.\nData may not be deleted immediately. To verify completion, call\n<a href=\"#get-api-metadata-table-key\"><code>GET /api/metadata/{table}/{key}</code></a>.</p> <h3 id=\"get-api-metadata-table-key\">\n<a href=\"#get-api-metadata-table-key\" class=\"header-anchor\">#</a> <code>GET /api/metadata/{table}/{key}</code>\n</h3> <p><strong>Get the metadata value of a single key</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#metadata_get\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#metadata_get\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Get the metadata value of a single key.</p> <h3 id=\"put-api-metadata-table-key\">\n<a href=\"#put-api-metadata-table-key\" class=\"header-anchor\">#</a> <code>PUT /api/metadata/{table}/{key}</code>\n</h3> <p><strong>Create or replace metadata</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#metadata_put\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#metadata_put\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates or replaces the item associated with the specified key.</p> <p>Asynchronous. <code>200</code> response indicates a valid request that will be processed.\nUpdates may not be made immediately. To verify completion, call\n<a href=\"#get-api-metadata-table-key\"><code>GET /api/metadata/{table}/{key}</code></a>.</p> <h3 id=\"delete-api-metadata-table\">\n<a href=\"#delete-api-metadata-table\" class=\"header-anchor\">#</a> <code>DELETE /api/metadata/{table}</code>\n</h3> <p><strong>Delete a table</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#metadata_delete_0\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#metadata_delete_0\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Deletes a specified table.</p> <p>Asynchronous. 200 response indicates a valid request that will be processed.\nTable may not be deleted immediately. To verify completion, call\n<a href=\"#get-api-metadata-table\"><code>GET /api/metadata/{table}</code></a>.</p> <h3 id=\"get-api-metadata-table\">\n<a href=\"#get-api-metadata-table\" class=\"header-anchor\">#</a> <code>GET /api/metadata/{table}</code>\n</h3> <p><strong>List keys in a table</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#metadata_list\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#metadata_list\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>List keys in a given table.</p> <h3 id=\"get-api-metadata\">\n<a href=\"#get-api-metadata\" class=\"header-anchor\">#</a> <code>GET /api/metadata</code>\n</h3> <p><strong>List available tables</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#metadata_list_tables\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#metadata_list_tables\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>List available tables.</p> <h2 id=\"push-notifications\">\n<a href=\"#push-notifications\" class=\"header-anchor\">#</a> Push notifications</h2> <h3 id=\"post-api-push-cancel\">\n<a href=\"#post-api-push-cancel\" class=\"header-anchor\">#</a> <code>POST /api/push/cancel</code>\n</h3> <p><strong>Cancel a push notification to a user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#push_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#push_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Cancels a push notification to a specific user. Request must include a\n<code>campaignId</code> and an <code>email</code> or <code>userId</code>, or just a <code>scheduledMessageId</code>.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"post-api-push-target\">\n<a href=\"#post-api-push-target\" class=\"header-anchor\">#</a> <code>POST /api/push/target</code>\n</h3> <p><strong>Send push notification to user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#push_target\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#push_target\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Sends a triggered push notification to a specific user.</p> <p>Request data fields override existing user profile data fields. Campaign must be\nset up in Iterable beforehand. If <code>sendAt</code> field is not included, the message is\nsent immediately.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">13770</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recipientEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"newUser\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"FALSE\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sendAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2016-08-25 23:25:00 +00:00\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h2 id=\"rcs\">\n<a href=\"#rcs\" class=\"header-anchor\">#</a> RCS</h2> <h3 id=\"post-api-rcs-target\">\n<a href=\"#post-api-rcs-target\" class=\"header-anchor\">#</a> <code>POST /api/rcs/target</code>\n</h3> <p><strong>Send an RCS message to a user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#RCS_target\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#RCS_target\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Sends an RCS campaign to a specified user. Data fields included in the API\nrequest body take precedence over data fields on the user's profile. Campaign\nmust be set up in Iterable prior to sending the API request. If the <code>sendAt</code>\nfield is not included, the message is sent immediately.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1234567</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recipientEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sendAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2026-10-15 17:00:00\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"allowRepeatMarketingSends\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Include a <code>recipientUserId</code> or <code>recipientEmail</code>, but not both. Learn more about\n<a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p><code>sendAt</code> uses <code>YYYY-MM-DD HH:MM:SS</code> in UTC. <code>allowRepeatMarketingSends</code> defaults\nto <code>true</code>.</p> <p>On success, this endpoint returns status code 200 and creates an <code>rcsSend</code>\nevent on the specified user's Iterable profile.</p> <h3 id=\"post-api-rcs-cancel\">\n<a href=\"#post-api-rcs-cancel\" class=\"header-anchor\">#</a> <code>POST /api/rcs/cancel</code>\n</h3> <p><strong>Cancel a scheduled RCS message</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#RCS_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#RCS_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Cancels a scheduled RCS message for a specified user. Request must include a\n<code>campaignId</code> and an <code>email</code> or <code>userId</code>, or just a <code>scheduledMessageId</code>.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1234567</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"scheduledMessageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"210badf49fe54f2591d64ad0d055f4fb\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>On success, this endpoint returns status code 200, and the campaign is not sent\nto the specified user.</p> <h2 id=\"sms\">\n<a href=\"#sms\" class=\"header-anchor\">#</a> SMS</h2> <h3 id=\"post-api-sms-cancel\">\n<a href=\"#post-api-sms-cancel\" class=\"header-anchor\">#</a> <code>POST /api/sms/cancel</code>\n</h3> <p><strong>Cancel an SMS to a user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#SMS_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#SMS_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Cancels an SMS to a specific user. Must include either an <code>email</code> address AND\n<code>campaignId</code>, or just a <code>scheduledMessageId</code>.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">15354</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"scheduledMessageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"210badf49fe54f2591d64ad0d055f4fb\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"post-api-sms-target\">\n<a href=\"#post-api-sms-target\" class=\"header-anchor\">#</a> <code>POST /api/sms/target</code>\n</h3> <p><strong>Send SMS notification to user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#SMS_target\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#SMS_target\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Sends an SMS to a specific user. Request data fields override existing user\nprofile data fields. Campaign must be set up in Iterable beforehand. If <code>sendAt</code>\nfield is not included, the message is sent immediately.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">13770</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recipientEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n     <span class=\"token property\">\"newUser\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"FALSE\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sendAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2016-08-25 23:25:00 +00:00\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h2 id=\"snippets\">\n<a href=\"#snippets\" class=\"header-anchor\">#</a> Snippets</h2> <p>Iterable's Snippets API allows you to create, retrieve, update, and delete\nsnippets.</p> <p>To learn more about snippets and how they work as reusable content, see\n<a href=\"https://support.iterable.com/hc/articles/4414807441556\">Snippets Overview</a>.</p> <p>Here are some things to know when working with the Snippets API:</p> <h4 id=\"identifying-snippets\">\n<a href=\"#identifying-snippets\" class=\"header-anchor\">#</a> Identifying snippets</h4> <p>Iterable identifies snippets by either their <code>name</code> or <code>id</code>. For endpoints that\naccept an <code>identifier</code> path parameter, you can use either the <code>name</code> or <code>id</code>\nvalue.</p> <p>When you create a snippet, provide a unique <code>name</code> (string). Iterable assigns\nan <code>id</code> (numeric) for the snippet upon creation.</p> <ul>\n<li>\n<p><strong>Snippet name</strong>: Provide a <code>name</code> that is unique within the project. The\n<code>name</code> is a string up to 100 characters. Names are case-sensitive and can\ninclude letters (a-z, A-Z), numbers, hyphens (-), underscores (_), and spaces.</p> <p>You can use the snippet’s <code>name</code> to identify it in API requests and to reuse\nits content in a template.</p> <ul>\n<li><p><strong>Spaces in names</strong>: A snippet's <code>name</code> can contain spaces. When using\nthe <code>name</code> to identify a snippet as a path parameter, you must URL-encode\nthe name if it contains spaces. For example, if the snippet name is\n<code>Welcome Banner</code>, you would use <code>Welcome%20Banner</code> as the path parameter.</p></li> <li><p><strong>Numbers as names</strong>: You can use numbers in a snippet's <code>name</code>. However,\nif the <code>name</code> is <em>just numbers</em> (with no letters or other characters), you\nwon't be able to use it to identify the snippet in API requests. This is\nbecause Iterable treats a numeric <code>name</code> as an <code>id</code> instead of a string,\nand may not find the correct snippet. In these cases, use the snippet's\n<code>id</code> (assigned by Iterable) to identify it in API requests.</p></li>\n</ul> <div class=\"custom-block warning\">\n<p class=\"custom-block-title\">IMPORTANT</p> <p>Once you create a snippet, you can't change its <code>name</code>.</p>\n</div>\n</li> <li>\n<p><strong>Snippet ID</strong>: Iterable assigns a unique <code>id</code> for each snippet when it's\ncreated. Snippet IDs are integers.</p> <p>You can use this ID later to identify a snippet when updating or deleting\nit using the API.</p>\n</li>\n</ul> <h4 id=\"snippet-content\">\n<a href=\"#snippet-content\" class=\"header-anchor\">#</a> Snippet content</h4> <p>When a snippet is referenced in a template, the <code>content</code> is what displays to\nthe user when Iterable renders the campaign.  The <code>content</code> parameter is a\nstring that can include HTML, CSS (inline styles), Handlebars expressions, and\ndata feed references. Handlebars expressions must be valid, and a snippet can't\nreference itself.</p> <ul>\n<li>\n<p><strong>Content size</strong>: There isn't a specific size limit for <code>content</code>, however\nthe total API request size cannot exceed 4MB.</p> <p>Keep in mind also that the content size is imported into the Iterable\ntemplate and impacts the total size of the template. If you are also using\nHandlebars expressions in your content, the content size may be smaller or\nlarger than the actual content you see in the snippet editor.</p> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">TIP</p> <p>Snippet content size is important to be aware of when sending from certain\nchannels. Here are a couple of examples of considerations for different\nchannels:</p> <ul>\n<li><p>For SMS, content size impacts the number of segments and snippets that are\ntoo long can have billing impacts for increased segments. To learn more\nabout SMS segment limits, read <a href=\"https://support.iterable.com/hc/articles/360044426031#sms-segment-limits-and-character-encoding\">SMS Segment Limits and Character Encoding</a>.</p></li> <li><p>For email, content size impacts the overall email size. Content bodies over\n100KB can cause email message clipping in the user's inbox. To learn more,\nread <a href=\"https://support.iterable.com/hc/articles/36464011594900\">Troubleshooting Message Clipping</a>.</p></li>\n</ul> <p>When you are adding a snippet to a template, make sure you are aware of the\ncontent size limits for the channel you're sending to, and preview your\ncampaigns with data before sending.</p> <p>If you're using variables, make sure to preview and/or test with different\nvalues for the variables to  make sure the content size for all variations\nare within the limits for the channel you're sending to.</p>\n</div>\n</li> <li>\n<p><strong>Disallowed content</strong>:</p> <ul>\n<li>Script tags with JavaScript sources or non-JSON content</li> <li>Inline JavaScript event handlers (such as <code>onload=\"...\"</code>)</li> <li>\n<code>javascript:</code> in <code>href</code> or <code>src</code>  attributes (such as anchors and iframes)</li>\n</ul>\n</li>\n</ul> <h4 id=\"variables-in-content\">\n<a href=\"#variables-in-content\" class=\"header-anchor\">#</a> Variables in content</h4> <div>\n<p>Iterable supports Handlebars expressions in snippet content. Sometimes these\nexpressions are referred to as merge tags, and they often reference user\nprofile fields, event fields, or other kinds of variables that provide dynamic\ncontent.</p> <p>You can use the <code>variables</code> array to list variable names used in your snippet’s\n<code>content</code>. These variables allow you to create dynamic, customizable content by\nreferencing them as Handlebars expressions within the snippet (for example,\n<code>{{variableName}}</code>). Then, when you add the snippet to a template, you can\nspecify values for each variable, making the snippet’s output flexible and\ndelivering custom content in each template.</p> <p>Variable names are case-sensitive and should be simple identifiers (letters,\nnumbers, underscores). They can be unique to the snippet, or they can be any\nfield name that you can reference in a template.</p> <p>To learn more, read <a href=\"https://support.iterable.com/hc/articles/4414796078868\">Customizing Snippets with Variables<outboundlink></outboundlink></a>.</p>\n</div>\n<h3 id=\"get-api-snippets\">\n<a href=\"#get-api-snippets\" class=\"header-anchor\">#</a> <code>GET /api/snippets</code>\n</h3> <p><strong>Get all snippets</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#snippets_getSnippets\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#snippets_getSnippets\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Retrieves all snippets for the project, including all fields for each snippet.</p> <p>Sample request:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/snippets\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"snippets\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Copyright_year\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"© 2025 Fiterable, Inc.\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Copyright year snippet\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-01-01T10:00:00Z\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-01-15T14:30:00Z\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdBy\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"updatedBy\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user2@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"projectId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">789</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12346</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome_Banner\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"&lt;div style='background-color: {{bannerColor}};'&gt;Welcome {{firstName}}!&lt;/div&gt;\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome banner with customizable color\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"variables\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"bannerColor\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"firstName\"</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-01-01T10:00:00Z\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-01-15T14:30:00Z\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdBy\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user1@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"updatedBy\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user2@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"projectId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">789</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    ...\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-snippets\">\n<a href=\"#post-api-snippets\" class=\"header-anchor\">#</a> <code>POST /api/snippets</code>\n</h3> <p><strong>Create a snippet</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#snippets_createSnippet\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#snippets_createSnippet\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates a new snippet in the project.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome_Banner\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"&lt;div style='background-color: {{bannerColor}};'&gt;Welcome {{firstName}}!&lt;/div&gt;\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdByUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome banner with customizable color\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"variables\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"bannerColor\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"firstName\"</span><span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"snippetId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12346</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-snippets-identifier\">\n<a href=\"#get-api-snippets-identifier\" class=\"header-anchor\">#</a> <code>GET /api/snippets/{identifier}</code>\n</h3> <p><strong>Get snippet by ID or name</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#snippets_getSnippet\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#snippets_getSnippet\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Retrieves a specific snippet by its <code>id</code> or <code>name</code>.</p> <p>Sample requests:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/snippets/12345\n</pre></div>\n<div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/snippets/Welcome_Banner\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"snippet\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome_Banner\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"&lt;div style='background-color: {{bannerColor}};'&gt;Welcome {{firstName}}!&lt;/div&gt;\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome banner with customizable color\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"variables\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"bannerColor\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"firstName\"</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-01-01T10:00:00Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-01-15T14:30:00Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"createdBy\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user1@example.com\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"updatedBy\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user2@example.com\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"projectId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">789</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"put-api-snippets-identifier\">\n<a href=\"#put-api-snippets-identifier\" class=\"header-anchor\">#</a> <code>PUT /api/snippets/{identifier}</code>\n</h3> <p><strong>Create or update a snippet</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#snippets_updateSnippet\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#snippets_updateSnippet\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates a snippet if it already exists, or creates a new one if it doesn't.</p> <ul>\n<li>If you provide an <code>id</code>, the endpoint only updates an existing snippet with\nthat ID. If no snippet with that ID exists, you'll get an error.</li> <li>If you provide a <code>name</code>, the endpoint updates a snippet with that name. If no\nsnippet with that name exists, it creates a new snippet.</li>\n</ul> <p>A successful update returns a 200 status code. If a new snippet is created,\nIterable returns a 201 status code.</p> <div class=\"custom-block warning\">\n<p class=\"custom-block-title\">IMPORTANT</p> <p>Note that the <code>name</code> field cannot be changed after creation, so this endpoint\ndoes not support updating the <code>name</code> field in the request body.</p>\n</div> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"&lt;div style='background-color: {{bannerColor}};'&gt;Welcome {{capitalize firstName}}!&lt;/div&gt;\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Updated welcome banner with customizable color\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"variables\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"bannerColor\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"firstName\"</span><span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"snippetId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12346</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"delete-api-snippets-identifier\">\n<a href=\"#delete-api-snippets-identifier\" class=\"header-anchor\">#</a> <code>DELETE /api/snippets/{identifier}</code>\n</h3> <p><strong>Delete a snippet</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#snippets_deleteSnippet\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#snippets_deleteSnippet\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Deletes a snippet by its numeric ID or string name.</p> <div class=\"custom-block warning\">\n<p class=\"custom-block-title\">IMPORTANT</p> <p>Before deleting a snippet, check that it isn't used in any active templates.\nTo learn how to check, read <a href=\"https://support.iterable.com/hc/articles/5321528624020\">See Where Snippets Are Used</a>.</p>\n</div> <p>Sample requests:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">DELETE https://api.iterable.com/api/snippets/12345\n</pre></div>\n<div class=\"language- extra-class\"><pre class=\"language-text\">DELETE https://api.iterable.com/api/snippets/Welcome_Banner\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"snippetId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h2 id=\"subscriptions\">\n<a href=\"#subscriptions\" class=\"header-anchor\">#</a> Subscriptions</h2> <p>The following APIs manage user subscriptions to message channels, message types,\nand email lists.</p> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>Iterable's Subscriptions API and opt-in message types are enabled by default\nfor all organizations created after September 2019.</p> <p>Because of a breaking API change, organizations created before September 2019\ndon't have Iterable's Subscriptions API or opt-in message types enabled by\ndefault. If your organization was created before this date, your customer\nsuccess manager must enable this feature.</p> <p>To learn more about the impact of this update, read <a href=\"https://support.iterable.com/hc/articles/204780529\">Breaking API Change</a>.</p>\n</div> <h3 id=\"delete-api-subscriptions-subscriptiongroup-subscriptiongroupid-user-useremail\">\n<a href=\"#delete-api-subscriptions-subscriptiongroup-subscriptiongroupid-user-useremail\" class=\"header-anchor\">#</a> <code>DELETE /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}/user/{userEmail}</code>\n</h3> <p><strong>Unsubscribe a single user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#subscriptions_unsubscribeSingleUser\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#subscriptions_unsubscribeSingleUser\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <ul>\n<li>\n<p>For <code>subscriptionGroup</code>, provide one of the following values:</p> <ul>\n<li><code>messageChannel</code></li> <li><code>messageType</code></li> <li><code>emailList</code></li>\n</ul>\n</li> <li><p>For <code>subscriptionGroupId</code>, provide the ID of the message channel, message\ntype or email list from which you are unsubscribing the user.</p></li> <li><p>For <code>userEmail</code>, provide the email address of the user from which you are\nunsubscribing the user.</p></li> <li><p>This is an asynchronous API. It returns 202 on success.</p></li> <li>\n<p>For example, the following call unsubscribes user <code>user@example.com</code> from\nmessage type <code>12345</code>:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">DELETE https://api.iterable.com/api/subscriptions/messageType/12345/user/user%40example.com\n</pre></div>\n</li> <li><p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p></li>\n</ul> <h3 id=\"patch-api-subscriptions-subscriptiongroup-subscriptiongroupid-user-useremail\">\n<a href=\"#patch-api-subscriptions-subscriptiongroup-subscriptiongroupid-user-useremail\" class=\"header-anchor\">#</a> <code>PATCH /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}/user/{userEmail}</code>\n</h3> <p><strong>Subscribe a single user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#subscriptions_subscribeSingleUser\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#subscriptions_subscribeSingleUser\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <ul>\n<li>\n<p>For <code>subscriptionGroup</code>, provide one of the following values:</p> <ul>\n<li><code>messageChannel</code></li> <li><code>messageType</code></li> <li><code>emailList</code></li>\n</ul>\n</li> <li><p>For <code>subscriptionGroupId</code>, provide the ID of the message channel, message\ntype or email list to which you are subscribing the user.</p></li> <li><p>If you're subscribing a user to a double opt-in message type, the user skips\nthe SMS Double Opt-In flow and is immediately subscribed to the message type.\nTo engage a user in the SMS Double Opt-In flow, use the\n<a href=\"#post-api-subscriptions-subscribetodoubleoptin\"><code>POST /api/subscriptions/subscribeToDoubleOptIn</code></a> endpoint.</p></li> <li><p>For <code>userEmail</code>, provide the email address of the user for which you'd like\nto create a subscription.</p></li> <li><p>This is an asynchronous API. It returns 202 on success.</p></li> <li>\n<p>For example, the following call subscribes user <code>user@example.com</code> to\nmessage type <code>12345:</code></p> <div class=\"language- extra-class\"><pre class=\"language-text\">PATCH https://api.iterable.com/api/subscriptions/messageType/12345/user/user%40example.com\n</pre></div>\n</li> <li><p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p></li>\n</ul> <h3 id=\"delete-api-subscriptions-subscriptiongroup-subscriptiongroupid-byuserid-userid\">\n<a href=\"#delete-api-subscriptions-subscriptiongroup-subscriptiongroupid-byuserid-userid\" class=\"header-anchor\">#</a> <code>DELETE /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}/byUserId/{userId}</code>\n</h3> <p><strong>Unsubscribe a single user by userId</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#subscriptions_unsubscribeSingleUserByUserId\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#subscriptions_unsubscribeSingleUserByUserId\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <ul>\n<li><p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p></li> <li>\n<p>For <code>subscriptionGroup</code>, provide one of the following values:</p> <ul>\n<li><code>messageChannel</code></li> <li><code>messageType</code></li> <li><code>emailList</code></li>\n</ul>\n</li> <li><p>For <code>subscriptionGroupId</code>, provide the ID of the message channel, message\ntype or email list from which you are unsubscribing the user.</p></li> <li><p>For <code>userId</code>, provide the user ID of the user from which you are\nunsubscribing the user.</p></li> <li><p>This is an asynchronous API. It returns 202 on success.</p></li> <li>\n<p>For example, the following call unsubscribes user <code>101abc123</code> to\nmessage type <code>12345</code>:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">DELETE https://api.iterable.com/api/subscriptions/messageType/12345/user/101abc123\n</pre></div>\n</li>\n</ul> <h3 id=\"patch-api-subscriptions-subscriptiongroup-subscriptiongroupid-byuserid-userid\">\n<a href=\"#patch-api-subscriptions-subscriptiongroup-subscriptiongroupid-byuserid-userid\" class=\"header-anchor\">#</a> <code>PATCH /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}/byUserId/{userId}</code>\n</h3> <p><strong>Subscribe a single user by their userId</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#subscriptions_subscribeSingleUserByUserId\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#subscriptions_subscribeSingleUserByUserId\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <ul>\n<li>\n<p>For <code>subscriptionGroup</code>, provide one of the following values:</p> <ul>\n<li><code>messageChannel</code></li> <li><code>messageType</code></li> <li><code>emailList</code></li>\n</ul>\n</li> <li><p>For <code>subscriptionGroupId</code>, provide the ID of the message channel, message type\nor email list to which you are subscribing the user.</p></li> <li><p>If you-re subscribing a user to a double opt-in message type, the user skips\nthe SMS Double Opt-In flow and is immediately subscribed to the message type.\nTo engage a user in the SMS Double Opt-In flow, use the\n<a href=\"#post-api-subscriptions-subscribetodoubleoptin\"><code>POST /api/subscriptions/subscribeToDoubleOptIn</code></a> endpoint.</p></li> <li><p>For <code>userId</code>, provide the user ID of the user for which you'd like\nto create a subscription.</p></li> <li><p>This is an asynchronous API. It returns 202 on success.</p></li> <li>\n<p>For example, the following call subscribes user <code>101abc123</code> to message type\n<code>12345:</code></p> <div class=\"language- extra-class\"><pre class=\"language-text\">PATCH https://api.iterable.com/api/subscriptions/messageType/12345/user/101abc123\n</pre></div>\n</li> <li><p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p></li>\n</ul> <h3 id=\"put-api-subscriptions-subscriptiongroup-subscriptiongroupid\">\n<a href=\"#put-api-subscriptions-subscriptiongroup-subscriptiongroupid\" class=\"header-anchor\">#</a> <code>PUT /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}</code>\n</h3> <p><strong>Bulk subscription action on a list of users</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#subscriptions_Bulk_subscription_action\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#subscriptions_Bulk_subscription_action\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <ul>\n<li><p>To subscribe multiple users to the same channel, message type or list, use\n<code>action=subscribe</code> (as shown in the above URL). To unsubscribe, use\n<code>action=unsubscribe</code>.</p></li> <li>\n<p>For <code>subscriptionGroup,</code> provide one of the following values:</p> <ul>\n<li><code>messageChannel</code></li> <li><code>messageType</code></li> <li><code>emailList</code></li>\n</ul>\n</li> <li><p>For <code>subscriptionGroupId,</code> provide the ID of the message channel, message\ntype or email list to which you are subscribing the users.</p></li> <li><p>If you're subscribing users to a double opt-in message type, the users skip\nthe SMS Double Opt-In flow and are immediately subscribed to the message type.\nTo engage a user in the SMS Double Opt-In flow, use the\n<a href=\"#post-api-subscriptions-subscribetodoubleoptin\"><code>POST /api/subscriptions/subscribeToDoubleOptIn</code></a>\nendpoint.</p></li> <li><p>For the request body, provide a <code>users</code> array containing the email\naddresses of the users to subscribe or unsubscribe, and/or a <code>usersByUserId</code>\narray containing the <code>userId</code> values to subscribe. Learn about\n<a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p></li> <li><p>This is an asynchronous API. It returns 202 on success.</p></li> <li>\n<p>For example, the following request subscribes <code>user@example.com</code>,\n<code>user2@example.com</code>, and <code>user1234567</code> to message type <code>12345</code>:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">PUT https://api.iterable.com/api/subscriptions/messageType/12345\n</pre></div>\n<p>Request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"users\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">\"user2@example.com\"</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"usersByUserId\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token string\">\"user1234567\"</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n</li>\n</ul> <h3 id=\"post-api-subscriptions-subscribetodoubleoptin\">\n<a href=\"#post-api-subscriptions-subscribetodoubleoptin\" class=\"header-anchor\">#</a> <code>POST /api/subscriptions/subscribeToDoubleOptIn</code>\n</h3> <p><strong>Trigger a double opt-in subscription flow</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#subscriptions_subscribeSingleUserToDoubleOptIn\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#subscriptions_subscribeSingleUserToDoubleOptIn\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>This endpoint triggers a SMS Double Opt-In subscription flow for a user. When\nyou call this endpoint, Iterable sends a subscription confirmation message to\nthe user for the specified message type(s).</p> <p>Once the user responds to the subscription confirmation message, Iterable\nsubscribes them to the message types specified in the request body.</p> <p>This endpoint can only be used with double opt-in message types for the SMS\nchannel. To learn more about double opt-in message types and how to use this\nAPI, read <a href=\"https://support.iterable.com/hc/articles/25573476484372\">SMS Double Opt-In</a>.</p> <ul>\n<li>\n<p>For <code>messageTypeIds</code>, provide an array of SMS double opt-in message type IDs\nto which the user should be subscribed.</p> <p>If the request body includes a message type that is not a double opt-in\nmessage type, the request fails with a 400 status code and an error message\nprovides the failing message type ID.</p>\n</li> <li><p>For <code>userId</code> or <code>email</code>, provide the user ID or email address of the user to\nsubscribe. Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API\nrequests.</p></li> <li><p>For <code>phoneNumber</code>, provide the phone number to set on the specified user's\nprofile. Required for users who don't already have a phone number set.</p></li> <li><p>For <code>brandName</code>, provide the brand name to use in the double opt-in\nconfirmation message. Optional. Provide to override the brand name set in the\nmessage type.</p></li>\n</ul> <p>This is an asynchronous API. It returns 202 on success.</p> <p>Request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"messageTypeIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"phoneNumber\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"brandName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample response:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">Request for double opt-in subscription accepted\n</pre></div>\n<h2 id=\"templates\">\n<a href=\"#templates\" class=\"header-anchor\">#</a> Templates</h2> <div class=\"custom-block warning\">\n<p class=\"custom-block-title\">IMPORTANT</p> <p>Iterable's  template APIs allow you to read and update all templates. They are\n<em>not</em> restricted to base templates (unless otherwise specified) — you can use\nthem to read and update templates associated with blast campaigns, triggered\ncampaigns, and journey campaigns, changing their content for future sends.</p>\n</div> <h3 id=\"get-api-templates\">\n<a href=\"#get-api-templates\" class=\"header-anchor\">#</a> <code>GET /api/templates</code>\n</h3> <p><strong>Get project templates</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_getTemplates\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_getTemplates\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Gets info for the templates in a project. Includes the <code>templateId</code>, creation\nand modification times, the name of the template, the creator of the template\nand the message type used.</p> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>If you leave <code>templateType</code> blank, the endpoint returns base templates only.</p>\n</div> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/templates?templateType=Base&amp;messageMedium=Email\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templates\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">86596</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1473368899828</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1473370111852</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Regular editor\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"creatorUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3867</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">68178</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1466810056349</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1470431713441</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Photography Welcome Message\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"creatorUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3866</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-templates-getbyclienttemplateid\">\n<a href=\"#get-api-templates-getbyclienttemplateid\" class=\"header-anchor\">#</a> <code>GET /api/templates/getByClientTemplateId</code>\n</h3> <p><strong>Get an email template by clientTemplateId</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_getByClientTemplateId\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_getByClientTemplateId\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Gets an array of template ids that match a client template id. If the client has\nset a <code>clientTemplateId</code> on any email template(s), then this call return those\ntemplates.</p> <h3 id=\"get-api-templates-email-get\">\n<a href=\"#get-api-templates-email-get\" class=\"header-anchor\">#</a> <code>GET /api/templates/email/get</code>\n</h3> <p><strong>Get an email template by templateId</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_getEmailTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_getEmailTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns HTML and metadata for a specific email template.</p> <p>Sample JSON response:</p> <div><div class=\"language-json extra-class\"><pre v-pre=\"\" class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">86596</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"My name of template\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"fromName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Customer Success\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"fromEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"replyToEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"replyTo@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"subject\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"My Subject of message\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"preheaderText\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"preheader message here\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ccEmails\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"bccEmails\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"html\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"&lt;html&gt;\\n\\n&lt;head&gt;\\n&lt;title&gt;&lt;/title&gt;\\n&lt;/head&gt;\\n\\n&lt;body&gt;\\n &lt;p&gt;\\n {{userPropertyParameter}}\\n &lt;/p&gt;\\n&lt;/body&gt;\\n\\n&lt;/html&gt;\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"plainText\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Optional plain text message\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"cacheDataFeed\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"mergeDataFeedContext\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3867</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"creatorUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div></div>\n<h3 id=\"post-api-templates-email-upsert\">\n<a href=\"#post-api-templates-email-upsert\" class=\"header-anchor\">#</a> <code>POST /api/templates/email/upsert</code>\n</h3> <p><strong>Create email template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_upsertEmailTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_upsertEmailTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates a new email template if one does not exist, or updates all templates\nwith the specified client template id.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"clientTemplateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">112233</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Lots of Cats\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"fromName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Felicia the Cat\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"fromEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"replyToEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"replyTo@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"subject\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Rank These Cats\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"preheaderText\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"10 out of 10!\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"html\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"&lt;html&gt;&lt;body&gt;&lt;p&gt;So many cats!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-templates-email-update\">\n<a href=\"#post-api-templates-email-update\" class=\"header-anchor\">#</a> <code>POST /api/templates/email/update</code>\n</h3> <p><strong>Update email template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_updateEmailTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_updateEmailTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates a specific email template. Only fields specified are updated.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">53081</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Lots of Cats\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"fromName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Felicia the Cat\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"fromEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"replyto@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"replyToEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"replyto@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"subject\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Rank These Cats\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"preheaderText\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"10 out of 10!\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"html\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"&lt;html&gt;&lt;body&gt;&lt;p&gt;So many cats!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;\"</span>\n <span class=\"token punctuation\">}</span>\n</pre></div>\n<div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>This call does not work on templates made with the Drag and Drop Editor.</p>\n</div> <h3 id=\"post-api-templates-email-proof\">\n<a href=\"#post-api-templates-email-proof\" class=\"header-anchor\">#</a> <code>POST /api/templates/email/proof</code>\n</h3> <p><strong>Send email template proof</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_emailProof\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_emailProof\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Send a proof of an email template to a specific user for testing and preview\npurposes.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">53081</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recipientEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"test@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"John\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Doe\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"success\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"12345\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-templates-email-preview\">\n<a href=\"#post-api-templates-email-preview\" class=\"header-anchor\">#</a> <code>POST /api/templates/email/preview</code>\n</h3> <p><strong>Preview email template with custom data</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_previewEmailTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_previewEmailTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Generate an HTML preview of an email template that renders with custom data.\nThis endpoint simulates how a template would appear when sent to a user,\nallowing you to test template rendering with specific user, event, and/or data\nfeed data.</p> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>Some content elements are processed during send time that change HTML of the\nmessage body, such as rewritten links, a tracking pixel, and an\n<a href=\"https://support.iterable.com/hc/articles/206382645#auto-append-unsubscribe-block\">auto-appended unsubscribe block</a>\n(if enabled).</p> <p>This endpoint previews the HTML of the template with the custom data rendered,\nbut does not reflect the final HTML of the message that a user receives.</p>\n</div> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Sarah\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Johnson\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"sarah.johnson@example.com\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"eventName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"purchase\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"totalValue\"</span><span class=\"token operator\">:</span> <span class=\"token number\">149.99</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"productName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Premium Wireless Headphones\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFeed\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"companyName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Example Corp\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"supportEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"support@example.net\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"fetchDataFeeds\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample response:</p> <div class=\"language-HTML extra-class\"><pre class=\"language-html\"><span class=\"token doctype\"><span class=\"token punctuation\">&lt;!</span><span class=\"token doctype-tag\">DOCTYPE</span> <span class=\"token name\">html</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">charset</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>UTF-8<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>viewport<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>width=device-width, initial-scale=1.0<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>title</span><span class=\"token punctuation\">&gt;</span></span>Welcome Sarah<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>title</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>head</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">font-family</span><span class=\"token punctuation\">:</span> Arial<span class=\"token punctuation\">,</span> sans-serif<span class=\"token punctuation\">;</span> <span class=\"token property\">max-width</span><span class=\"token punctuation\">:</span> 600px<span class=\"token punctuation\">;</span> <span class=\"token property\">margin</span><span class=\"token punctuation\">:</span> 0 auto<span class=\"token punctuation\">;</span> <span class=\"token property\">padding</span><span class=\"token punctuation\">:</span> 20px<span class=\"token punctuation\">;</span> <span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> #f5f5f5<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> white<span class=\"token punctuation\">;</span> <span class=\"token property\">padding</span><span class=\"token punctuation\">:</span> 20px<span class=\"token punctuation\">;</span> <span class=\"token property\">border-radius</span><span class=\"token punctuation\">:</span> 8px<span class=\"token punctuation\">;</span> <span class=\"token property\">box-shadow</span><span class=\"token punctuation\">:</span> 0 2px 10px <span class=\"token function\">rgba</span><span class=\"token punctuation\">(</span>0<span class=\"token punctuation\">,</span>0<span class=\"token punctuation\">,</span>0<span class=\"token punctuation\">,</span>0.1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> #4a90e2<span class=\"token punctuation\">;</span> <span class=\"token property\">color</span><span class=\"token punctuation\">:</span> white<span class=\"token punctuation\">;</span> <span class=\"token property\">padding</span><span class=\"token punctuation\">:</span> 20px<span class=\"token punctuation\">;</span> <span class=\"token property\">border-radius</span><span class=\"token punctuation\">:</span> 5px<span class=\"token punctuation\">;</span> <span class=\"token property\">margin-bottom</span><span class=\"token punctuation\">:</span> 20px<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>h1</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">margin</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span> <span class=\"token property\">font-size</span><span class=\"token punctuation\">:</span> 24px<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span>Welcome Sarah!<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>h1</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> #f8f9fa<span class=\"token punctuation\">;</span> <span class=\"token property\">padding</span><span class=\"token punctuation\">:</span> 15px<span class=\"token punctuation\">;</span> <span class=\"token property\">border-left</span><span class=\"token punctuation\">:</span> 4px solid #4a90e2<span class=\"token punctuation\">;</span> <span class=\"token property\">margin</span><span class=\"token punctuation\">:</span> 15px 0<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>h2</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">margin-top</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span> <span class=\"token property\">color</span><span class=\"token punctuation\">:</span> #333<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span>Your Account<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>h2</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">margin</span><span class=\"token punctuation\">:</span> 5px 0<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>strong</span><span class=\"token punctuation\">&gt;</span></span>Email:<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>strong</span><span class=\"token punctuation\">&gt;</span></span> sarah.johnson@example.com<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">margin</span><span class=\"token punctuation\">:</span> 5px 0<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>strong</span><span class=\"token punctuation\">&gt;</span></span>Name:<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>strong</span><span class=\"token punctuation\">&gt;</span></span> Sarah Johnson<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> #e8f5e8<span class=\"token punctuation\">;</span> <span class=\"token property\">padding</span><span class=\"token punctuation\">:</span> 15px<span class=\"token punctuation\">;</span> <span class=\"token property\">border-left</span><span class=\"token punctuation\">:</span> 4px solid #28a745<span class=\"token punctuation\">;</span> <span class=\"token property\">margin</span><span class=\"token punctuation\">:</span> 15px 0<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>h2</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">margin-top</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span> <span class=\"token property\">color</span><span class=\"token punctuation\">:</span> #333<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span>Recent Activity<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>h2</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">margin</span><span class=\"token punctuation\">:</span> 5px 0<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>strong</span><span class=\"token punctuation\">&gt;</span></span>Event:<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>strong</span><span class=\"token punctuation\">&gt;</span></span> purchase<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">margin</span><span class=\"token punctuation\">:</span> 5px 0<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>strong</span><span class=\"token punctuation\">&gt;</span></span>Amount:<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>strong</span><span class=\"token punctuation\">&gt;</span></span> $149.99<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">margin</span><span class=\"token punctuation\">:</span> 5px 0<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>strong</span><span class=\"token punctuation\">&gt;</span></span>Product:<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>strong</span><span class=\"token punctuation\">&gt;</span></span> Premium Wireless Headphones<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">margin-top</span><span class=\"token punctuation\">:</span> 20px<span class=\"token punctuation\">;</span> <span class=\"token property\">padding</span><span class=\"token punctuation\">:</span> 15px<span class=\"token punctuation\">;</span> <span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> #f8f9fa<span class=\"token punctuation\">;</span> <span class=\"token property\">border-radius</span><span class=\"token punctuation\">:</span> 5px<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span><span class=\"token punctuation\">&gt;</span></span>Hello Sarah,<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span><span class=\"token punctuation\">&gt;</span></span>Thank you for your purchase! We hope you enjoy your Premium Wireless Headphones.<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span><span class=\"token punctuation\">&gt;</span></span>Best regards,<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>br</span><span class=\"token punctuation\">&gt;</span></span>The Example Corp Team<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">font-size</span><span class=\"token punctuation\">:</span> 12px<span class=\"token punctuation\">;</span> <span class=\"token property\">color</span><span class=\"token punctuation\">:</span> #666<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span>Questions? Contact us at <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>a</span> <span class=\"token attr-name\">href</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>mailto:support@example.net<span class=\"token punctuation\">\"</span></span> <span class=\"token special-attr\"><span class=\"token attr-name\">style</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span><span class=\"token value css language-css\"><span class=\"token property\">color</span><span class=\"token punctuation\">:</span> #4a90e2<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span></span><span class=\"token punctuation\">&gt;</span></span>support@example.net<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>a</span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>a</span> <span class=\"token attr-name\">href</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>https://www.example.net<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">rel</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>noopener<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">target</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>_blank<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">&gt;</span></span>Link<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>a</span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>img</span> <span class=\"token attr-name\">height</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>220<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>https://library.iterable.com/0000/00000/09c730f1d8d94c39a015211ab936af88-b7.png<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">width</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>220<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">&gt;</span></span>\n</pre></div>\n<h3 id=\"get-api-templates-embedded-get\">\n<a href=\"#get-api-templates-embedded-get\" class=\"header-anchor\">#</a> <code>GET /api/templates/embedded/get</code>\n</h3> <p><strong>Get an embedded message template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_getEmbeddedTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_getEmbeddedTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns content and metadata for a specific embedded message template.</p> <p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome Embedded Message\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome to Our App!\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"body\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Thanks for joining us. We're excited to have you on board.\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"elements\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"label\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"greeting\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Hello {{firstName}}!\"</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"label\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"description\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"You've been a member since {{joinDate}}.\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"buttons\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"btn_get_started\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Get Started\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"action\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"openUrl\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/get-started\"</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"btn_learn_more\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Learn More\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"action\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"openUrl\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/learn-more\"</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"mediaUrl\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/images/welcome-banner.jpg\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"mediaUrlCaption\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome banner image\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"defaultAction\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"openUrl\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/default-action\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"customData\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"value\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"deepLink\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"myapp://welcome\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"placementId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"home_screen\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"clientTemplateId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"embedded_welcome_001\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">5001</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"locale\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"en\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"isDefaultLocale\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">7890</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignDataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"promoCode\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WELCOME2026\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"discountPercent\"</span><span class=\"token operator\">:</span> <span class=\"token number\">10</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-templates-embedded-upsert\">\n<a href=\"#post-api-templates-embedded-upsert\" class=\"header-anchor\">#</a> <code>POST /api/templates/embedded/upsert</code>\n</h3> <p><strong>Create an embedded message template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_upsertEmbeddedTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_upsertEmbeddedTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Create an embedded message template if it doesn't exist yet, otherwise updates\nthe embedded message template that matches the <code>name</code> provided.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"clientTemplateId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"embedded_welcome_001\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome Embedded Message\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome to Our App!\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"body\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Thanks for joining us. We're excited to have you on board.\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"elements\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"label\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"greeting\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Hello {{firstName}}!\"</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"label\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"description\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"You've been a member since {{joinDate}}.\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"buttons\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"btn_get_started\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Get Started\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"action\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"openUrl\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/get-started\"</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"btn_learn_more\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Learn More\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"action\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"openUrl\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/learn-more\"</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"mediaUrl\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/images/welcome-banner.jpg\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"mediaUrlCaption\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome banner image\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"defaultAction\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"openUrl\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/default-action\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"customData\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"value\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"deepLink\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"myapp://welcome\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"placementId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"home_screen\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">5001</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"locale\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"en\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"isDefaultLocale\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"creatorUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"marketing-team@example.com\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-templates-embedded-update\">\n<a href=\"#post-api-templates-embedded-update\" class=\"header-anchor\">#</a> <code>POST /api/templates/embedded/update</code>\n</h3> <p><strong>Update embedded message template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_updateEmbeddedTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_updateEmbeddedTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates a specific embedded message template. Only updates the field(s) included\nin the request body.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome Embedded Message Updated\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome to Our App - Updated!\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"body\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Thanks for joining us. We're excited to have you on board. Check out our new features!\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"elements\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"label\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"greeting\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Hello {{firstName}}! Welcome back.\"</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"label\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"description\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"You've been a member since {{joinDate}}. Thanks for being part of our community.\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"buttons\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"btn_get_started\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Get Started\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"action\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"openUrl\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/get-started\"</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"mediaUrl\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/images/welcome-banner-v2.jpg\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"mediaUrlCaption\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Welcome banner image\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"defaultAction\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"openUrl\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/default-action\"</span>\n      <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"customData\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"updated_value\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"deepLink\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"myapp://welcome\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"version\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2.0\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-templates-push-get\">\n<a href=\"#get-api-templates-push-get\" class=\"header-anchor\">#</a> <code>GET /api/templates/push/get</code>\n</h3> <p><strong>Get a push template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_getPushTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_getPushTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns content and metadata for a specific push notification template.</p> <p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2022-09-29T17:23:42.748Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2022-09-29T17:23:42.748Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"badge\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"wake\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"relevanceScore\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"interruptionLevel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"passive\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"locale\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sound\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"buttons\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"identifier\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"buttonType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"default\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"action\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"openApp\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"requiresUnlock\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"inputPlaceholder\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"inputTitle\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"actionIcon\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"iconType\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"imageName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"deeplink\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"ios\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"android\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"richMedia\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"ios\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"android\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFeedIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">0</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"cacheDataFeed\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"mergeDataFeedContext\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"clientTemplateId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"isSilentPush\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-templates-push-upsert\">\n<a href=\"#post-api-templates-push-upsert\" class=\"header-anchor\">#</a> <code>POST /api/templates/push/upsert</code>\n</h3> <p><strong>Create a push template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_upsertPushTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_upsertPushTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates a new template if one does not exist, or updates all templates with the\nspecified name.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"clientTemplateId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"underlying\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"fields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"_1\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_2\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"value\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"badge\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"wake\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"relevanceScore\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"interruptionLevel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"passive\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"locale\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sound\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"buttons\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"identifier\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"buttonType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"default\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"action\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"openApp\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"requiresUnlock\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"inputPlaceholder\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"inputTitle\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"actionIcon\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"iconType\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"imageName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"deeplink\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"ios\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"android\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"richMedia\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"ios\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"android\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFeedIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">0</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"cacheDataFeed\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"mergeDataFeedContext\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"creatorUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"isSilentPush\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageMedium\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-templates-push-update\">\n<a href=\"#post-api-templates-push-update\" class=\"header-anchor\">#</a> <code>POST /api/templates/push/update</code>\n</h3> <p><strong>Update push template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_updatePushTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_updatePushTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates a specific push template. Most fields are optional. Include the fields\nyou wish to update.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2022-09-29T17:23:42.683Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"updatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2022-09-29T17:23:42.683Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"badge\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"wake\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"relevanceScore\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"interruptionLevel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"passive\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"locale\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"sound\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"buttons\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"identifier\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"buttonType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"default\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"action\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"openApp\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"requiresUnlock\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"inputPlaceholder\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"inputTitle\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"actionIcon\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"iconType\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"imageName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"deeplink\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"ios\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"android\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"richMedia\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"ios\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"android\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFeedIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">0</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"cacheDataFeed\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"mergeDataFeedContext\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"clientTemplateId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"isSilentPush\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>To indicate that a template should send as a silent push notification, rather\nthan a standard push notification, set <code>isSilentPush</code> to <code>true</code>.</p> <p>Silent push notifications don't visibly appear to your user. Instead, they pass\nJSON data to your app (the <code>payload</code>), which can use this data as needed — to\nkick off a download, to tell the app to display an app store review prompt, etc.\nOn iOS, you can also use a silent push to set the <code>badge</code> field, which updates\nthe badge on your app's icon.</p> <h3 id=\"post-api-templates-push-proof\">\n<a href=\"#post-api-templates-push-proof\" class=\"header-anchor\">#</a> <code>POST /api/templates/push/proof</code>\n</h3> <p><strong>Send push template proof</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_pushProof\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_pushProof\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Send a proof of a push template to a specific user for testing and preview\npurposes.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">53081</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recipientEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"test@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"John\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Doe\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"success\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"12345\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-templates-sms-upsert\">\n<a href=\"#post-api-templates-sms-upsert\" class=\"header-anchor\">#</a> <code>POST /api/templates/sms/upsert</code>\n</h3> <p><strong>Create an SMS template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_upsertSmsTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_upsertSmsTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Creates a new template if one does not exist or updates all templates with the\nspecified client template id.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"clientTemplateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">112233</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"SMS Test\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Hello There!\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"locale\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"en\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1234\"</span>\n<span class=\"token punctuation\">}</span> \n</pre></div>\n<h3 id=\"post-api-templates-sms-update\">\n<a href=\"#post-api-templates-sms-update\" class=\"header-anchor\">#</a> <code>POST /api/templates/sms/update</code>\n</h3> <p><strong>Update SMS template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_updateSMSTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_updateSMSTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates a specific SMS template. Most fields are optional. Include the fields\nyou wish to update.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"My SMS Title\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"I like animals.\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"locale\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"fr\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">531</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-templates-sms-get\">\n<a href=\"#get-api-templates-sms-get\" class=\"header-anchor\">#</a> <code>GET /api/templates/sms/get</code>\n</h3> <p><strong>Get an SMS template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_getSMSTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_getSMSTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns content and metadata for a specific SMS template.</p> <p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">100692</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"SMS testing\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Here is example message\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"locale\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"en\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">531</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-templates-sms-proof\">\n<a href=\"#post-api-templates-sms-proof\" class=\"header-anchor\">#</a> <code>POST /api/templates/sms/proof</code>\n</h3> <p><strong>Send SMS template proof</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_smsProof\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_smsProof\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Send a proof of an SMS template to a specific user for testing and preview\npurposes.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">53081</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recipientEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"test@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"John\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Doe\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"success\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"12345\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-templates-inapp-get\">\n<a href=\"#get-api-templates-inapp-get\" class=\"header-anchor\">#</a> <code>GET /api/templates/inapp/get</code>\n</h3> <p><strong>Get an in-app template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_getInAppTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_getInAppTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Gets an in-app template, by <code>templateId</code> and <code>locale</code>.</p> <p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">00000000</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"My In-App template\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"html\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"&lt;!DOCTYPE html&gt;\\n&lt;html&gt;\\n&lt;head&gt;\\n&lt;/head&gt;\\n&lt;body&gt;\\n\\n&lt;/body&gt;\\n&lt;/html&gt;\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"inAppDisplaySettings\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"top\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"percentage\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"right\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"percentage\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"bottom\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"percentage\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"left\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"percentage\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"webInAppDisplaySettings\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"position\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Full\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">000000</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"isDefaultLocale\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-templates-inapp-preview\">\n<a href=\"#post-api-templates-inapp-preview\" class=\"header-anchor\">#</a> <code>POST /api/templates/inapp/preview</code>\n</h3> <p><strong>Preview in-app template with custom data</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_previewInAppTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_previewInAppTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Generate a fully rendered HTML preview of an in-app template using custom data.\nThis endpoint simulates how a template would appear when sent to a user,\nallowing you to test template rendering with specific user, event, and/or data\nfeed data.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"John\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"loginCount\"</span><span class=\"token operator\">:</span> <span class=\"token number\">5</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"lastLogin\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2023-01-15\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFeed\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"appName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"MyApp\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"version\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2.1.4\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"releaseNotes\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Dark mode, improved notifications\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"supportUrl\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://example.com/support\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"fetchDataFeeds\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n<span class=\"token punctuation\">}</span>\n\n</pre></div>\n<p>Sample response:</p> <div class=\"language-html extra-class\"><pre class=\"language-html\"><span class=\"token doctype\"><span class=\"token punctuation\">&lt;!</span><span class=\"token doctype-tag\">DOCTYPE</span> <span class=\"token name\">html</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>head</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>welcome<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">&gt;</span></span>Welcome back John! You've opened MyApp 5 times. Last login: 2023-01-15.<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>releaseNotes<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">&gt;</span></span>New in version 2.1.4: Dark mode, improved notifications. Need help? Visit https://example.com/support<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">&gt;</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">&gt;</span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">&gt;</span></span>\n</pre></div>\n<h3 id=\"post-api-templates-inapp-upsert\">\n<a href=\"#post-api-templates-inapp-upsert\" class=\"header-anchor\">#</a> <code>POST /api/templates/inapp/upsert</code>\n</h3> <p><strong>Create an in-app template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_upsertInAppTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_upsertInAppTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Create an in-app template if it doesn't exist yet, otherwise update all in-app\ntemplates which match the name provided.</p> <h3 id=\"post-api-templates-inapp-update\">\n<a href=\"#post-api-templates-inapp-update\" class=\"header-anchor\">#</a> <code>POST /api/templates/inapp/update</code>\n</h3> <p><strong>Update in-app template</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_updateInAppTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_updateInAppTemplate\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates an in-app template.</p> <h3 id=\"post-api-templates-inapp-proof\">\n<a href=\"#post-api-templates-inapp-proof\" class=\"header-anchor\">#</a> <code>POST /api/templates/inapp/proof</code>\n</h3> <p><strong>Send in-app template proof</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_inappProof\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_inappProof\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Send a proof of an in-app template to a specific user for testing and preview\npurposes.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">53081</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"recipientEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"test@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"John\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Doe\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"success\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"12345\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-templates-bulkdelete\">\n<a href=\"#post-api-templates-bulkdelete\" class=\"header-anchor\">#</a> <code>POST /api/templates/bulkDelete</code>\n</h3> <p><strong>Bulk delete templates</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#templates_bulkDelete\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#templates_bulkDelete\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Deletes one or more base templates. Templates associated with a campaign cannot\nbe deleted.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"ids\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">123</span><span class=\"token punctuation\">,</span> <span class=\"token number\">456</span><span class=\"token punctuation\">,</span> <span class=\"token number\">789</span><span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"success\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"12345\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h2 id=\"users\">\n<a href=\"#users\" class=\"header-anchor\">#</a> Users</h2> <h4 id=\"understanding-message-type-subscriptions-in-user-api-responses\">\n<a href=\"#understanding-message-type-subscriptions-in-user-api-responses\" class=\"header-anchor\">#</a> Understanding message type subscriptions in User API responses</h4> <p>Iterable provides different types of subscription policies for message types:\nopt-in and opt-out. The primary difference for each type is whether users are\nsubscribed to or unsubscribed from the message type by default, and whether\nuser action is required to create or end their subscription.</p> <ul>\n<li>\n<strong>Opt-in message types</strong> require a user to actively subscribe before they are\neligible to receive messages. By default, it is implied that a user is opted\nout of an opt-in message type.</li> <li>\n<strong>Opt-out message types</strong> consider a user subscribed until they actively\nunsubscribe. By default, it is implied that a user is opted in to an opt-out\nmessage type.</li>\n</ul> <p>By default, Iterable's Users API only returns <em>explicit</em> user subscriptions,\nand does not include implicit subscription statuses. As a result, API <code>GET</code>\nrequests return a partial view of a user's subscription statuses because they\ndo not include message types that the user is subscribed to or unsubscribed\nfrom by default. You can change this behavior by asking your account manager to\nenable <a href=\"#implied-subscriptions-in-user-api-responses-optional\">implied subscriptions</a>\nfor your project.</p> <h4 id=\"implied-subscriptions-in-user-api-responses-optional\">\n<a href=\"#implied-subscriptions-in-user-api-responses-optional\" class=\"header-anchor\">#</a> Implied subscriptions in User API responses (optional)</h4> <p>Iterable's implied subscriptions feature enhances the User API to provide a\nmore complete and authoritative view of a user's message type subscriptions.\nThis is particularly beneficial when you use a mix of opt-in and opt-out\nmessage types and need a reliable way to determine a user's full subscription\nstatus.</p> <p>When implied subscriptions is enabled, the following User API endpoints return\nboth explicit and implied subscription statuses:</p> <ul>\n<li><a href=\"#get-api-users-email\"><code>GET /api/users/{email}</code></a></li> <li><a href=\"#get-api-users-getbyemail\"><code>GET /api/users/getByEmail</code></a></li> <li><a href=\"#get-api-users-byuserid\"><code>GET /api/users/byUserId</code></a></li> <li><a href=\"#get-api-users-byuserid-userid\"><code>GET /api/users/byUserId/{userId}</code></a></li>\n</ul> <p>Response bodies include the following additional parameters:</p> <ul>\n<li>\n<p><code>allSubscribedMessageTypeIds</code>: includes all of the message type IDs a user is\neligible to receive, including:</p> <ul>\n<li>Message types the user has actively opted in to receiving. (These message\ntypes are also returned in <code>subscribedMessageTypeIds</code>.)</li> <li>Implicitly subscribed opt-out message types. For this subscription policy,\nif a user has not actively unsubscribed, Iterable considers them implicitly\nsubscribed, and the user is eligible to receive campaigns of this type.\n(This is an enhancement.)</li>\n</ul>\n</li> <li>\n<p><code>allUnsubscribedMessageTypeIds</code>: includes all of the message type IDs a user\nis ineligible to receive, including:</p> <ul>\n<li>Message types the user has actively opted out of receiving. (These message\ntypes are also returned in <code>unsubscribedMessageTypeIds</code>.)</li> <li>Implicitly unsubscribed opt-in message types. For this subscription policy,\nif a user has not actively subscribed, Iterable considers them implicitly\nunsubscribed, and the user is ineligible to receive campaigns with this\ntype. (This is an enhancement.)</li>\n</ul>\n</li>\n</ul> <p>Example response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"user\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"12345\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"John\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"subscribedMessageTypeIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"unsubscribedMessageTypeIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"allSubscribedMessageTypeIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token number\">4</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"allUnsubscribedMessageTypeIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>It's also important to know that when implied subscriptions is enabled, the\nrequest payloads for User API endpoints that update subscriptions\n<em>do not change</em>, and the same fields are expected in the request body:</p> <ul>\n<li><a href=\"#post-api-users-updatesubscriptions\"><code>POST /api/users/updateSubscriptions</code></a></li> <li><a href=\"#post-api-users-bulkupdatesubscriptions\"><code>POST /api/users/bulkUpdateSubscriptions</code></a></li>\n</ul> <div class=\"custom-block warning\">\n<p class=\"custom-block-title\">IMPORTANT</p> <p>The parameters introduced by implied subscriptions\n(<code>allSubscribedMessageTypeIds</code> and <code>allUnsubscribedMessageTypeIds</code>) are\nincluded in the response bodies for the above referenced endpoints. They are\ngenerated dynamically at the time of the API request, and are not stored in the\nuser profile. Similarly, <code>allSubscribedMessageTypeIds</code> and\n<code>allUnsubscribedMessageTypeIds</code> should <em>not</em> be included in user update\nrequests.</p> <p>Doing so can introduce the following problems:</p> <ul>\n<li><p>These fields <strong>do not</strong> manage user subscriptions in Iterable, even when the\nrequest is accepted. This can create false expectations of changes to user\nsubscriptions that were not actually made and can cause confusion for your\nusers, problems with your preference center, and potential compliance issues.</p></li> <li><p>If your project <a href=\"https://support.iterable.com/hc/articles/26678893969812#allowing-or-dropping-unrecognized-user-profile-fields\">allows unrecognized user profile fields</a>,\nwhich creates new user profile fields whenever an API request contains a\nfield that is not yet defined in the project's data schema, including\n<code>allSubscribedMessageTypeIds</code> and/or <code>allUnsubscribedMessageTypeIds</code>\ncan inadvertently create new user profile fields that are considered custom.\nThis can cause confusion in your user profile data because the field(s)\nappear to be managed by Iterable, which is not the case.</p></li>\n</ul> <p>Instead, update the user with their new subscription preferences using the\nstandard fields, <code>subscribedMessageTypeIds</code> and <code>unsubscribedMessageTypeIds</code>.\nOnly explicit subscriptions are stored in the user profile and expected in User\nAPI updates.</p>\n</div> <p>To learn more about how implied subscriptions changes the functionality of a\ncustom preference center, see <a href=\"https://support.iterable.com/hc/articles/208463956#using-implied-subscriptions-in-your-preference-center-optional\">Using implied subscriptions in your preference center</a>.</p> <p>To enable implied subscriptions for your project, contact your Iterable account\nmanager.</p> <h3 id=\"get-api-users-forgotten\">\n<a href=\"#get-api-users-forgotten\" class=\"header-anchor\">#</a> <code>GET /api/users/forgotten</code>\n</h3> <p><strong>Get hashed forgotten users in compliance with GDPR</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_exportProjectForgottenUsers\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_exportProjectForgottenUsers\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns a hash for each email address currently forgotten by your project.\nEach forgotten email is lowercased, trimmed, and hashed using <a href=\"https://wikipedia.org/wiki/SHA-2\" target=\"_blank\" rel=\"noopener noreferrer\">SHA-256</a>\nencryption.</p> <p>This endpoint only works for email-based and hybrid projects. For\nuserID-based projects, use <a href=\"#get-api-users-forgottenuserids\"><code>GET /api/users/forgottenUserIds</code></a>.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"get-api-users-forgottenuserids\">\n<a href=\"#get-api-users-forgottenuserids\" class=\"header-anchor\">#</a> <code>GET /api/users/forgottenUserIds</code>\n</h3> <p><strong>Get hashed forgotten userIds in compliance with GDPR</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_exportProjectForgottenUserIds\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_exportProjectForgottenUserIds\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns a hash for each <code>userId</code> currently forgotten by your project. Each\nforgotten userId is lowercased, trimmed, and hashed using <a href=\"https://wikipedia.org/wiki/SHA-2\" target=\"_blank\" rel=\"noopener noreferrer\">SHA-256</a>\nencryption.</p> <p>This endpoint only works for userID-based and hybrid projects. For email-based\nprojects, use <a href=\"#get-api-users-forgotten\"><code>GET /api/users/forgotten</code></a>.</p> <h3 id=\"post-api-users-forget\">\n<a href=\"#post-api-users-forget\" class=\"header-anchor\">#</a> <code>POST /api/users/forget</code>\n</h3> <p><strong>Forget a user in compliance with GDPR</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_forget\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_forget\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <div class=\"custom-block warning\">\n<p class=\"custom-block-title\">IMPORTANT</p> <p>Processing times to forget a user in Iterable:</p> <ul>\n<li>It can take up to ten minutes for Iterable to initiate forgetting a user.</li> <li>User data will be fully forgotten within 30 days of the forget request.</li>\n</ul> <p>Use this endpoint <strong>only</strong> for handling \"right to be forgotten\" requests.</p>\n</div> <p>This endpoint:</p> <ul>\n<li>Deletes the user's data from the Iterable project.</li> <li>Prevents Iterable from collecting more information about or sending messages\nto that user.</li>\n</ul> <p>For a given user, call this endpoint for each project necessary.</p> <p>Before forgetting or <a href=\"#post-api-users-unforget\">unforgetting</a> a user, consider your\n<a href=\"https://support.iterable.com/hc/articles/29156459027348\">project type</a>:</p> <ul>\n<li>In email-based projects, you must forget and unforget users by <code>email</code>, not <code>userId</code>.</li> <li>In userID-based projects, you must forget and unforget users by <code>userId</code>, not <code>email</code>.</li> <li>In hybrid projects, and in projects that migrated from being email-based to\nbeing userID-based, you can forget and unforget users by <code>email</code> or <code>userId</code>\n(and you can use one identifier to forget, and the other to unforget).</li>\n</ul> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>As of January 21, 2025, the <a href=\"https://support.iterable.com/hc/articles/204780579#post-api-users-forget\"><code>POST /api/users/forget</code></a>\nAPI endpoint can be called a maximum of 1000 times in a 24-hour period in an\nIterable project. See <a href=\"https://support.iterable.com/hc/articles/33302033277332#new-limits-for-gdpr-forget-and-unforget-requests\">New limits for GDPR forget/unforget requests</a>\nto learn more.</p>\n</div> <h3 id=\"post-api-users-unforget\">\n<a href=\"#post-api-users-unforget\" class=\"header-anchor\">#</a> <code>POST /api/users/unforget</code>\n</h3> <p><strong>Unforget a user in compliance with GDPR</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_unforget\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_unforget\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Restores a given Iterable project's ability to store information about and send\nmessages to a user who had previously been <a href=\"#post-api-users-forget\">forgotten</a>.\nHowever, it does not recover any data stored about the user before they were\nforgotten.</p> <p>For a given user, call this endpoint for each project necessary. Iterable\ngenerally processes unforget requests in six hours.</p> <p>Before <a href=\"#post-api-users-forget\">forgetting</a> or unforgetting a user, consider your\n<a href=\"https://support.iterable.com/hc/articles/29156459027348\">project type</a>:</p> <ul>\n<li>In email-based projects, you must forget and unforget users by <code>email</code>, not\n<code>userId</code>.</li> <li>In userID-based projects, you must forget and unforget users by <code>userId</code>, not\n<code>email</code>.</li> <li>In hybrid projects, and in projects that migrated from being email-based to\nbeing userID-based, you can forget and unforget users by <code>email</code> or <code>userId</code>\n(and you can use one identifier to forget, and the other to unforget).</li>\n</ul> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>As of January 21, 2025, the <a href=\"https://support.iterable.com/hc/articles/204780579#post-api-users-unforget\"><code>POST /api/users/unforget</code></a>\nAPI endpoint can be called a maximum of 1000 times in a 24-hour period in an\nIterable project. See <a href=\"https://support.iterable.com/hc/articles/33302033277332#new-limits-for-gdpr-forget-and-unforget-requests\">New limits for GDPR forget/unforget requests</a>\nto learn more.</p>\n</div> <h3 id=\"delete-api-users-email\">\n<a href=\"#delete-api-users-email\" class=\"header-anchor\">#</a> <code>DELETE /api/users/{email}</code>\n</h3> <p><strong>Delete a user by email</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_delete_0\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_delete_0\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <div class=\"custom-block warning\">\n<p class=\"custom-block-title\">WARNING</p> <p>This endpoint completely deletes the specified user profile, including\nsubscription settings and event history. If the user is ever re-added, their\nprofile will be empty and subscribed to everything by default. Deleting a user\nremoves their historic campaign metrics, too.</p>\n</div> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">DELETE https://api.iterable.com/api/users/user%40example.com\n</pre></div>\n<p>Before deleting users, consider your <a href=\"https://support.iterable.com/hc/articles/29156459027348\">project type</a>.\nIn email-based projects and hybrid projects, you can delete users by <code>email</code> or\n<code>userId</code>. In userID-based projects, you can delete users only by <code>userId</code>.</p> <h3 id=\"get-api-users-email\">\n<a href=\"#get-api-users-email\" class=\"header-anchor\">#</a> <code>GET /api/users/{email}</code>\n</h3> <p><strong>Get a user by email (path parameter)</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_getUser_0\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_getUser_0\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Get a user by email address (passed as a path parameter).</p> <p>If the email address contains non-alphanumeric characters, use\n<a href=\"#get-api-users-getbyemail\"><code>GET /api/users/getByEmail</code></a> instead.</p> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/users/user%40example.com\n</pre></div>\n<p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"get-api-users-getbyemail\">\n<a href=\"#get-api-users-getbyemail\" class=\"header-anchor\">#</a> <code>GET /api/users/getByEmail</code>\n</h3> <p><strong>Get a user by email (query parameter)</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_getUser\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_getUser\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Get a user by email address (passed as a query parameter).</p> <p>Returns the same data as <a href=\"#get-api-users-email\"><code>GET /api/users/{email}</code></a>, but\nsupports email values that contain non-alphanumeric characters, which should be\nURL-encoded before being passed to this endpoint.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"post-api-users-update\">\n<a href=\"#post-api-users-update\" class=\"header-anchor\">#</a> <code>POST /api/users/update</code>\n</h3> <p><strong>Update user data</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_updateUser\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_updateUser\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates a user profile with the specified data. Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a>\nin API requests.</p> <p>If you set <code>mergeNestedObjects</code> to <code>true</code> (defaults to <code>false</code>), the API merges\ndata in <strong>top-level</strong> objects rather than overwriting it with the values found\non the request. To learn more, read <a href=\"https://support.iterable.com/hc/articles/360035402611#how-mergenestedobjects-works\">How <code>mergeNestedObjects</code> works</a>.</p> <p>For example, consider this user profile:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"mySettings\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"mobile\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>And this API request to <code>POST /api/users/update</code>:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"mergeNestedObjects\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"mySettings\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Because <code>mergeNestedObjects</code> was <code>true</code>, the resulting user profile is:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"mySettings\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"mobile\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>If <code>mergeNestedObjects</code> had been <code>false</code>, the resulting user profile would\ninstead have been:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"mySettings\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>This endpoint's 2XX response indicates when an unrecognized field is allowed or\ndropped. Control this behavior by using the optional <code>createNewFields</code>\nparameter, and/or the project's setting to allow or drop fields.\nTo learn more about this setting, read <a href=\"https://support.iterable.com/hc/articles/26678893969812\">Data Schema Management Overview</a>.</p> <h3 id=\"post-api-users-bulkupdate\">\n<a href=\"#post-api-users-bulkupdate\" class=\"header-anchor\">#</a> <code>POST /api/users/bulkUpdate</code>\n</h3> <p><strong>Bulk update user data</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_bulkUpdateUser\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_bulkUpdateUser\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Bulk updates user data. This endpoint adds and overwrites user profile fields as\nneeded. It does not modify top-level fields omitted from the request body.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>If you'd like to merge (rather than overwrite) a user profile's top-level\nobjects with the values provided for them in the request body, set\n<code>mergeNestedObjects</code> to true. To learn more, see <a href=\"https://support.iterable.com/hc/articles/360035402611#how-mergenestedobjects-works\">How <code>mergeNestedObjects</code> works</a>.</p> <p>When updating an existing field, you cannot change its data type (the new value\nmust have the same data type as the old value).</p> <p>This endpoint's 2XX response indicates when an unrecognized field is allowed or\ndropped. Control this behavior by using the optional <code>createNewFields</code>\nparameter, and/or the project's setting to allow or drop fields.\nTo learn more about this setting, read <a href=\"https://support.iterable.com/hc/articles/26678893969812\">Data Schema Management Overview</a>.</p> <p>Iterable handles requests to this endpoint separately from requests to\nsingle-user endpoints (<code>update</code>, <code>updateEmail</code>, <code>updateSubscriptions</code>, etc.).\nFor a given user, in a short period of time, only use single-user calls or bulk\nupdate calls. Otherwise, results may be inconsistent.</p> <p>When updating the <code>emailListIds</code> or <code>userListIds</code> field, this endpoint does not\ngenerate subscribe or unsubscribe events. The same is true for updates to\n<code>unsubscribedChannelIds</code> and <code>unsubscribedMessageTypeIds</code> (but these can only\nbe updated by this endpoint in projects where the opt-in message types feature\nis not enabled).</p> <p>To create a user profile for a user without a known email address:</p> <ul>\n<li>For email-based projects, specify a <code>userId</code> and set <code>preferUserId</code> to <code>true</code> .</li> <li>For userID-based and hybrid projects, specify a <code>userId</code>.</li> <li>To learn more, read <a href=\"https://support.iterable.com/hc/articles/208499956\">Handling Anonymous Users</a>.</li>\n</ul> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"users\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"0192837821\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"favoriteColor\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"orange\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user2@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9281928374\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"favoriteColor\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"blue\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2394029394\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"preferUserId\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"favoriteColor\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"red\"</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"delete-api-users-byuserid-userid\">\n<a href=\"#delete-api-users-byuserid-userid\" class=\"header-anchor\">#</a> <code>DELETE /api/users/byUserId/{userId}</code>\n</h3> <p><strong>Delete user by userId</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_delete\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_delete\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Deletes a user (identified by <code>userId</code>).</p> <div class=\"custom-block warning\">\n<p class=\"custom-block-title\">WARNING</p> <p>This endpoint completely deletes the specified user profile, including\nsubscription settings and event history. If the user is ever re-added, their\nprofile will be empty and subscribed to everything by default. Deleting a user\nremoves their historic campaign metrics, too.</p>\n</div> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/users/byUserId/{userId}\n</pre></div>\n<p>Before deleting users, consider your <a href=\"https://support.iterable.com/hc/articles/29156459027348\">project type</a>.\nIn email-based projects and hybrid projects, you can delete users by <code>email</code> or\n<code>userId</code>. In userID-based projects, you can delete users only by <code>userId</code>.</p> <h3 id=\"get-api-users-byuserid-userid\">\n<a href=\"#get-api-users-byuserid-userid\" class=\"header-anchor\">#</a> <code>GET /api/users/byUserId/{userId}</code>\n</h3> <p><strong>Get a user by userId (path parameter)</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_getUserById\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_getUserById\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Get a user by <code>userId</code> (passed as a path parameter).</p> <p>If the <code>userId</code> address contains non-alphanumeric characters, use\n<a href=\"#get-api-users-byuserid\"><code>GET /api/users/byUserId</code></a> instead.</p> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/users/byUserId?userId=testUserId\n</pre></div>\n<p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"get-api-users-byuserid\">\n<a href=\"#get-api-users-byuserid\" class=\"header-anchor\">#</a> <code>GET /api/users/byUserId</code>\n</h3> <p><strong>Get a user by userId (query parameter)</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_getUserById_0\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_getUserById_0\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Get a user by <code>userId</code> address (passed as a query parameter).</p> <p>Returns the same data as <a href=\"#get-api-users-byuserid-userid\"><code>GET /api/users/byUserId/{userId}</code></a>,\nbut supports <code>userId</code> values that contain non-alphanumeric characters, which\nshould be URL-encoded before being passed to this endpoint.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"post-api-users-registerbrowsertoken\">\n<a href=\"#post-api-users-registerbrowsertoken\" class=\"header-anchor\">#</a> <code>POST /api/users/registerBrowserToken</code>\n</h3> <p><strong>Register a browser token for web push</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_registerBrowserToken\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_registerBrowserToken\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"post-api-users-updatesubscriptions\">\n<a href=\"#post-api-users-updatesubscriptions\" class=\"header-anchor\">#</a> <code>POST /api/users/updateSubscriptions</code>\n</h3> <p><strong>Update user subscriptions</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_updateSubscriptions\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_updateSubscriptions\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates a user's subscription settings with new settings.</p> <p>Additional notes:</p> <ul>\n<li><p>Include <code>campaignId</code> and/or <code>templateId</code> to attribute unsubscribes to\ncampaigns and templates.</p></li> <li><p>This endpoint overwrites existing subscription preferences if those fields\nare set and not <code>null</code>.</p></li> <li>\n<p>By default, Iterable does not allow message types to be subscribed to via API\nwhen the user is unsubscribed from the corresponding channel. This is to\nprevent users from subscribing to message types that they are not eligible to\nreceive while the channel remains unsubscribed.</p> <p>This is controlled with the <code>validateChannelAlignment</code> parameter, which is\noptional and defaults to <code>true</code> when it is not provided. To allow\nmessage types to be subscribed to even when the user is unsubscribed from the\ncorresponding channel, set <code>validateChannelAlignment</code> to <code>false</code>. To learn\nmore, read <a href=\"https://support.iterable.com/hc/articles/208463956#validating-channel-alignment-for-message-type-subscriptions-optional\">Validating channel alignment for message type subscriptions</a>.</p>\n</li>\n</ul> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"0192837821\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userListIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">5</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">6</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">7</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"unsubscribedChannelIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">100</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"unsubscribedMessageTypeIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">100</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"validateChannelAlignment\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-users-bulkupdatesubscriptions\">\n<a href=\"#post-api-users-bulkupdatesubscriptions\" class=\"header-anchor\">#</a> <code>POST /api/users/bulkUpdateSubscriptions</code>\n</h3> <p><strong>Bulk update user subscriptions</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_bulkUpdateSubscriptions\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_bulkUpdateSubscriptions\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates one or more users' subscription preferences.</p> <p>Additional notes:</p> <ul>\n<li><p>Include <code>campaignId</code> and/or <code>templateId</code> to attribute unsubscribes to\ncampaigns and templates.</p></li> <li><p>This endpoint <em>overwrites</em> existing subscription preferences if fields are\nset and not null.</p></li> <li>\n<p>By default, Iterable does not allow message types to be subscribed to via API\nwhen the user is unsubscribed from the corresponding channel. This is to\nprevent users from subscribing to message types that they are not eligible to\nreceive while the channel remains unsubscribed.</p> <p>This is controlled with the <code>validateChannelAlignment</code> parameter, which is\noptional and defaults to <code>true</code> when it is not provided. To allow\nmessage types to be subscribed to even when the user is unsubscribed from the\ncorresponding channel, set <code>validateChannelAlignment</code> to <code>false</code>. To learn\nmore, read <a href=\"https://support.iterable.com/hc/articles/208463956#validating-channel-alignment-for-message-type-subscriptions-optional\">Validating channel alignment for message type subscriptions</a>.</p>\n</li>\n</ul> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"updateSubscriptionsRequests\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"0192837821\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"unsubscribedChannelIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n        <span class=\"token number\">23456</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"unsubscribedMessageTypeIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token number\">65432</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">34567</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">456789</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user2@example.com\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2131238573\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"unsubscribedChannelIds\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token number\">12345</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">34567</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">456789</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-users-updateemail\">\n<a href=\"#post-api-users-updateemail\" class=\"header-anchor\">#</a> <code>POST /api/users/updateEmail</code>\n</h3> <p><strong>Update user email</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_updateEmail\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_updateEmail\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Updates a user's email.</p> <div class=\"custom-block warning\">\n<p class=\"custom-block-title\">IMPORTANT</p> <p>Use this endpoint with email-based projects. To update\nan email in a userID-based or hybrid project, use <a href=\"https://support.iterable.com/hc/articles/204780579#post-api-users-update\"><code>POST /api/users/update</code></a>.</p>\n</div> <p>In the request body, specify <code>currentEmail</code> or <code>currentUserId</code>, but not both. If\nyou provide both, <code>currentEmail</code> takes precedence.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"currentEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"oldEmail@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"newEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"newEmail@example.com\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Another sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"currentUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user1234567\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"newEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"newEmail@example.com\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Returns an error if the new email already exists in Iterable, or if the new\nemail has been forgotten via a GDPR request.</p> <p>Learn more about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"get-api-users-getfields\">\n<a href=\"#get-api-users-getfields\" class=\"header-anchor\">#</a> <code>GET /api/users/getFields</code>\n</h3> <p><strong>Get all user fields</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_getUserFields\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_getUserFields\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Gets all user profile fields in a project.</p> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/users/getFields\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"fields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"phoneNumber\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"lastName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"firstName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"signupDate\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"date\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"profileUpdatedAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"date\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"signupSource\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"get-api-users-getsentmessages\">\n<a href=\"#get-api-users-getsentmessages\" class=\"header-anchor\">#</a> <code>GET /api/users/getSentMessages</code>\n</h3> <p><strong>Get messages sent to a user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_getSentMessages\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_getSentMessages\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Returns a list of sent messages to a user within a certain time period.\nIncludes the <code>messageId</code>, <code>campaignId</code>, <code>templateId</code> and <code>createdAt</code> data. Does\nnot include the body of the message. <code>campaignId</code>, <code>excludeBlastCampaigns</code>,\n<code>startDateTime</code> and <code>endDateTime</code> are all optional.</p> <p>Sample:</p> <div class=\"language- extra-class\"><pre class=\"language-text\">GET https://api.iterable.com/api/users/getSentMessages?email=user%40example.com&amp;limit=2&amp;campaignId=123&amp;excludeBlastCampaigns=false&amp;startDateTime=2016-10-01%2021%3A00%3A27%20%2B00%3A00&amp;endDateTime=2016-10-29%2000%3A54%3A00%20%2B00%3A00\n</pre></div>\n<p>Sample JSON response:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"messages\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9c438a20d26e4e9f8ad4edea23f811cd\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">123</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">456</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2016-10-04 00:54:00 +00:00\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9c438a20d26e4e9f8ad4edea23f811cd\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">321</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"templateId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">654</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"createdAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2016-09-30 19:50:00 +00:00\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-auth-jwts-invalidate\">\n<a href=\"#post-api-auth-jwts-invalidate\" class=\"header-anchor\">#</a> <code>POST /api/auth/jwts/invalidate</code>\n</h3> <p><strong>Invalidate all JWTs issued for a user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_Invalidate_JWT\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_Invalidate_JWT\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Invalidates all JWTs issued for a given user before the current time or a\nspecified time.</p> <h3 id=\"post-api-users-disabledevice\">\n<a href=\"#post-api-users-disabledevice\" class=\"header-anchor\">#</a> <code>POST /api/users/disableDevice</code>\n</h3> <p><strong>Disable pushes to a mobile device</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_disableDevice\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_disableDevice\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Disables device. Prevents it from receiving <a href=\"https://support.iterable.com/hc/articles/115000379086\">push notifications</a>.\nMust include the device token.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>If the token exists on multiple user profiles, including <code>email</code> disables\nthe token for that one email address only. If <code>email</code> is not included, the toke\nis disabled from all user profiles. The same is true for including or not\nincluding <code>userId</code>.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"token\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"sampleToken123\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-users-registerdevicetoken\">\n<a href=\"#post-api-users-registerdevicetoken\" class=\"header-anchor\">#</a> <code>POST /api/users/registerDeviceToken</code>\n</h3> <p><strong>Register a device token for push</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_registerDeviceToken\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_registerDeviceToken\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Registers a mobile device token to enable push notifications.</p> <p>The <code>applicationName</code> parameter value should be the <strong>Package Name</strong> in the\nDetails page of your mobile app, as found in <strong>Settings &gt; Apps and websites</strong>, and\nis also called the <strong>Website Identifier</strong> when you are creating a new mobile\napp.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">TIP</p> <p>Learn more about <a href=\"https://support.iterable.com/hc/articles/115000379086\">sending push notifications with Iterable</a>.</p>\n</div> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"device\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"token\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"sampletoken123\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"platform\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"APNS\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"applicationName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"com.example.pizzatracker\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"phoneModel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"iPhone 6 plus\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h3 id=\"post-api-users-merge\">\n<a href=\"#post-api-users-merge\" class=\"header-anchor\">#</a> <code>POST /api/users/merge</code>\n</h3> <p><strong>Merge users</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#users_mergeUsers\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#users_mergeUsers\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Combines two user profiles into one, including user profile fields, system\nevents, and custom events. Specify a source user profile and a destination user\nprofile. The source user profile is deleted after the merge.</p> <p>To understand how to use this endpoint to merge user profiles, how data is\nmerged, and important considerations prior to merging, read\n<a href=\"https://support.iterable.com/hc/articles/33744314673172\">Merging User Profiles</a>.</p> <p><strong>Asynchronous processing time</strong> - Iterable processes the merge operation in the\nbackground. A successful response from the API does not indicate that the merge\nhas completed, but that the merge operation has been initiated. The source\nprofile is deleted after 5+ minutes. Before that point, the source profile\nremains in Iterable, and its data may not yet be visible on the destination\nprofile.</p> <h4 id=\"api-key-requirements\">\n<a href=\"#api-key-requirements\" class=\"header-anchor\">#</a> API key requirements</h4> <p>Here are some things to keep in mind when selecting an <a href=\"https://support.iterable.com/hc/articles/360043464871\">API key</a>\nto call this endpoint:</p> <p><strong>API key types</strong>:</p> <ul>\n<li>\n<p>To call the merge users endpoint, you should generally use a Server-side API\nkey, and make the call from your server.</p> <div class=\"custom-block warning\">\n<p class=\"custom-block-title\">WARNING</p> <p>Never embed a Server-side API key in a mobile or web app.</p>\n</div>\n</li> <li>\n<p>You can use client-side API keys (Mobile, Web, and JavaScript) to merge\nusers. However, these keys only have permission to merge an anonymous user\ninto a known user. They do not have permission to merge a known\n(non-anonymous) user into another known user. Only Server-side API keys can\nmerge known users into other known users.</p> <div class=\"custom-block tip\">\n<p class=\"custom-block-title\">NOTE</p> <p>\"Anonymous users\" can only be created by Iterable's mobile and web SDKs, as\npart of Unknown User Activation. To learn more, see <a href=\"https://support.iterable.com/hc/articles/38755339847188\">Unknown User Activation\nOverview</a>.</p>\n</div>\n</li>\n</ul> <p><strong>JWT-enabled API keys</strong>:</p> <p>When calling this endpoint with a JWT-enabled API key, provide a valid JWT\ntoken for the <em>destination user</em>, not the source user.</p> <h4 id=\"specifying-users-to-merge\">\n<a href=\"#specifying-users-to-merge\" class=\"header-anchor\">#</a> Specifying users to merge</h4> <p>In the JSON body for your request, identify a source user (<code>sourceEmail</code> or\n<code>sourceUserId</code>) and a destination user (<code>destinationEmail</code> or\n<code>destinationUserId</code>), depending on your project type and the identifiers of the\nuser profiles you're merging. The destination identifier is the user's final\nidentifier after the merge.</p> <ul>\n<li>\n<p><strong>Email-based projects</strong> can identify users by <code>email</code> or <code>userId</code>. So, when\ncalling this endpoint for an email-based project, identify a source user by\n<code>sourceEmail</code> or <code>sourceUserId</code>, and a destination user by <code>destinationEmail</code>\nor <code>destinationUserId</code>.</p> <p>In email-based projects, Iterable does not enforce <code>userId</code> uniqueness. If\nyour merge operation uses an ambiguous <code>userId</code> to identify a source or\ndestination user, results are unpredictable.</p>\n</li> <li>\n<p><strong>Hybrid projects</strong> identify users by <code>userId</code> or <code>email</code>. So, when calling\nthis endpoint for a hybrid project, identify a source user by <code>sourceEmail</code>\nor <code>sourceUserId</code>, and a destination user by <code>destinationEmail</code> or\n<code>destinationUserId</code>.</p> <p>In hybrid projects, Iterable enforces <code>email</code> and <code>userId</code> uniqueness.</p>\n</li> <li>\n<p><strong>UserID-based projects</strong> identify users by <code>userId</code>. So, when calling this\nendpoint for a userID-based project, identify a source user by\n<code>sourceUserId</code>, and a destination user by <code>destinationUserId</code>.</p> <p>In userID-based projects, <code>email</code> is not a valid identifier. Two users can\nhave the same <code>email</code>, but no two users can have the same <code>userId</code>.</p>\n</li>\n</ul> <h4 id=\"merging-fields\">\n<a href=\"#merging-fields\" class=\"header-anchor\">#</a> Merging fields</h4> <p>When you merge two user profiles, Iterable merges the data from the source\nprofile into the destination profile in the following manner:</p> <ul>\n<li>When fields on the source profile do not exist or have null values on the\ndestination profile, the fields from the source profile are added\nto the destination profile (along with their values).</li> <li>When fields on the source profile already exist with values on the\ndestination profile, the values for the destination profile are preserved and\nsource profile values are dropped. In other words, the destination profile\n\"wins\" when there are field conflicts. (This rule does not apply to arrays,\nwhich have their own merging rules.)</li> <li>Arrays on the source profile are <em>NOT</em> merged with arrays on the\ndestination profile. If you want to merge arrays, you can specify how to\nmerge arrays in the body of your merge API request.</li> <li>\n<strong>Exception</strong>:\n<ul><li>Iterable does not merge the <code>devices</code> array. Instead, source <code>devices</code> are\nadded to the merged <code>devices</code> array unless the destination already has an\nelement in <code>devices</code> with the same <code>platformEndpoint</code>.</li></ul>\n</li>\n</ul> <h4 id=\"merging-array-data\">\n<a href=\"#merging-array-data\" class=\"header-anchor\">#</a> Merging array data</h4> <p>Iterable <em>can</em> merge the contents of specific arrays if you specify\nthis behavior in the body of your merge API request.</p> <p>To merge an array, include an <code>arrayMerge</code> field (optional), containing an\narray of objects, in the body of the user merge API request. Each object in the <code>arrayMerge</code> array must have a <code>field</code> property (required).</p> <ul>\n<li><p>The value of field should be a string that specifies the path (on the\nsource and destination user profile) of an array whose contents should be\nmerged.</p></li> <li>\n<p><code>field</code> can specify a top-level array, or an array stored in a nested\nobject field. However, for the merge to succeed, none of the ancestors of\nthe array to be merged can be an array — if they are, the merge operation\nfails.</p> <p>For example:</p> <ul>\n<li><p>Setting <code>field</code> to <code>colors</code> would cause the endpoint to merge the\ntop-level <code>colors</code> array found on the source and destination user\nprofiles.</p></li> <li><p>Setting <code>field</code> to <code>favorites.colors</code>, where <code>favorites</code> is an object,\nwould cause the endpoint to merge the <code>colors</code> array found in that\n<code>favorites</code> object.</p></li> <li><p>Setting field to <code>facts.favorites.colors</code>, where <code>facts</code> is an array\nand <code>favorites</code> is an object, would cause the merge operation to fail.</p></li>\n</ul>\n</li> <li><p>If an array specified by <code>field</code> is not present on both user profiles,\n<a href=\"https://support.iterable.com/hc/articles/33744314673172#merging-data-when-the-destination-user-already-exists\">this behavior</a>.</p></li> <li><p>If you specify a <code>field</code> whose value is not an array (for example, a single\nnumber like <code>age</code>), the merge operation treats that field as an array with\na single value. Because of this, after the merge, the value of that field\non the destination user profile will be an array containing both of the\noriginal values (except if de-duplication affects the result).</p></li> <li>\n<p><code>field</code> must <em>not</em> specify an Iterable-maintained field such as <code>devices</code>.</p> <ul>\n<li><p>Iterable merges the <code>devices</code> array automatically, and you cannot\ncustomize this behavior:</p></li> <li><p>The <code>devices</code> array is de-duplicated based on the nested <code>platformEndpoint</code>\nfield.</p></li> <li><p>Source <code>devices</code> are added to the merged <code>devices</code> array unless the\ndestination already has an element in devices with the same\n<code>platformEndpoint</code>.</p></li>\n</ul>\n</li>\n</ul> <p>To specify how to remove duplicates from the merged array:</p> <ul>\n<li><p>By default, if a value in the source array exactly matches an object in the\ndestination array, it is discarded from the merged array.</p></li> <li>\n<p>To customize this behavior for arrays of objects, objects in <code>arrayMerge</code>\ncan include a <code>dedupeBy</code> field (optional). Set <code>dedupeBy</code> to a string that\nspecifies the name of a top-level field that exists on the objects in the\narrays being merged.</p> <ul>\n<li>\n<p><code>dedupeBy</code> is only applicable when merging arrays of objects, not other\ndata types such as strings or longs.</p> <p>If you specify a <code>dedupeBy</code> value for a field that does not contain an\narray of objects, the entire merge API request fails.</p> <p>Therefore, in a given <code>arrayMerge</code> object, if the array specified by\n<code>field</code> does not contain objects, do not specify a <code>dedupeBy</code> value.</p>\n</li> <li><p>The merge operation discards any source object whose <code>dedupeBy</code> field\nvalue matches the value of the same field on an object in the\ndestination array.</p></li> <li><p>If an object in the source or destination array does not have the field\nspecified by <code>dedupeBy</code>, that object is included in the merged array.</p></li> <li><p>The field specified by <code>dedupeBy</code> must be a top-level field in the\narray's objects. In other words, <code>color</code> will work, but <code>favorites.color</code>\nwill not.</p></li> <li>\n<p>The field referenced by <code>dedupeBy</code> can contain any data type.</p> <ul>\n<li><p>Objects are considered equal if they contain the same set of nested\nfields, and all fields are perfectly equal.</p></li> <li><p>Arrays are considered equal if they contain the same elements, in the\nsame order.</p></li> <li><p>Arrays of objects are considered equal if they contain the same set of\nobjects, in the same order, and all objects are perfectly equal.</p></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul> <p>The order of the merged array is not guaranteed. Arrays can be combined in any\norder.</p> <h4 id=\"example-requests\">\n<a href=\"#example-requests\" class=\"header-anchor\">#</a> Example requests</h4> <p><strong>Example request #1, email-based project</strong></p> <p><code>POST https://api.iterable.com/api/users/merge</code></p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"sourceEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user1@example.com\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"destinationEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user2@example.com\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p><strong>Example request #2, email-based project</strong></p> <p><code>POST https://api.iterable.com/api/users/merge</code></p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"sourceUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"exampleUser3\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"destinationEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user3@example.com\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p><strong>Example request #3, email-based project</strong></p> <p><code>POST https://api.iterable.com/api/users/merge</code></p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"sourceUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"exampleUser4\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"destinationUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"exampleUser5\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p><strong>Example request #4, hybrid project</strong></p> <p><code>POST https://api.iterable.com/api/users/merge</code></p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"sourceEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user6@example.com\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"destinationEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user7@example.com\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p><strong>Example request #5, hybrid project</strong></p> <p><code>POST https://api.iterable.com/api/users/merge</code></p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"sourceEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user8@example.com\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"destinationUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"exampleUser9\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p><strong>Example request #6, hybrid project</strong></p> <p><code>POST https://api.iterable.com/api/users/merge</code></p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"sourceUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"exampleUser10\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"destinationEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user11@example.com\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p><strong>Example request #7, userID-based project</strong></p> <p><code>POST https://api.iterable.com/api/users/merge</code></p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"sourceUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"exampleUser12\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"destinationUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"exampleUser13\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p><strong>Example request #8, hybrid project, array merging</strong></p> <p><code>POST https://api.iterable.com/api/users/merge</code></p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"sourceUserId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"exampleUser10\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"destinationEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user11@example.com\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"arrayMerge\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span> \n        <span class=\"token punctuation\">{</span> <span class=\"token property\">\"field\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"arrayOfObjects1\"</span><span class=\"token punctuation\">,</span> <span class=\"token property\">\"dedupeBy\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"fieldA\"</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> \n        <span class=\"token punctuation\">{</span> <span class=\"token property\">\"field\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"arrayOfObjects2\"</span> <span class=\"token punctuation\">}</span> \n    <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>In this example:</p> <ul>\n<li>\n<p>The arrays in the source and destination user's <code>arrayOfObjects1</code> fields are\nmerged together.</p> <p>The top-level <code>fieldA</code> field is used to de-duplicate the merged array.\nThat is, if the source array has an object with a <code>fieldA</code> value that\nmatches a <code>fieldA</code> value found on an object in the destination array, that\nsource object is excluded from the merged array.</p>\n</li> <li>\n<p>The arrays in the source and destination user's <code>arrayOfObjects2</code> fields are\nmerged together.</p> <p>Since no <code>dedupeBy</code> is specified, source array objects that perfectly match\nany destination array object are excluded from the merged array.</p>\n</li> <li>\n<p>The merge operation treats arrays not mentioned in the <code>arrayMerge</code> array as\nnormal fields.</p> <p>For example, if both profiles in this example had an <code>arrayOfObjects3</code>\narray, the merge operation would discard the source array and keep the\ndestination array.</p>\n</li>\n</ul> <h4 id=\"response-body\">\n<a href=\"#response-body\" class=\"header-anchor\">#</a> Response body</h4> <p>On success, this endpoint returns status code 200, with this JSON response body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token null keyword\">null</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On failure, this endpoint returns a corresponding HTTP status code, with a JSON\nresponse body similar to this:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Invalid destinationEmail exampleUser1\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"InvalidEmailAddressError\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token null keyword\">null</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<h4 id=\"response-status-codes\">\n<a href=\"#response-status-codes\" class=\"header-anchor\">#</a> Response status codes</h4> <p>Possible values for HTTP status code, message, and code:</p> <table>\n<thead><tr>\n<th style=\"text-align:left;\">HTTP status code</th> <th style=\"text-align:left;\">Message</th> <th style=\"text-align:left;\">Code</th>\n</tr></thead> <tbody>\n<tr>\n<td style=\"text-align:left;\"><code>200</code></td> <td style=\"text-align:left;\"><code>Success</code></td> <td style=\"text-align:left;\"><code>Success</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Invalid sourceEmail {email}</code></td> <td style=\"text-align:left;\"><code>InvalidEmailAddressError</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Invalid destinationEmail {email}</code></td> <td style=\"text-align:left;\"><code>InvalidEmailAddressError</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Invalid sourceUserId {userId} ({reason, e.g. “too long” or “empty”})</code></td> <td style=\"text-align:left;\"><code>InvalidUserIdError</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Invalid destinationUserId {userId} ({reason, e.g. “too long” or “empty”})</code></td> <td style=\"text-align:left;\"><code>InvalidUserIdError</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Either sourceEmail or sourceUserId must be set, but not both</code></td> <td style=\"text-align:left;\"><code>BadParams</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Either destinationEmail or destinationUserId must be set, but not both</code></td> <td style=\"text-align:left;\"><code>BadParams</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Cannot merge, sourceEmail {email} does not exist</code></td> <td style=\"text-align:left;\"><code>BadParams</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Cannot merge, sourceUserId {userId} does not exist</code></td> <td style=\"text-align:left;\"><code>BadParams</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>409</code></td> <td style=\"text-align:left;\"><code>Cannot merge, sourceEmail {email} forgotten</code></td> <td style=\"text-align:left;\"><code>ForgottenUserError</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>409</code></td> <td style=\"text-align:left;\"><code>Cannot merge, sourceUserId {userId} forgotten</code></td> <td style=\"text-align:left;\"><code>ForgottenUserError</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>409</code></td> <td style=\"text-align:left;\"><code>Cannot merge, destinationEmail {email} forgotten</code></td> <td style=\"text-align:left;\"><code>ForgottenUserError</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>409</code></td> <td style=\"text-align:left;\"><code>Cannot merge, destinationUserId {userId} forgotten</code></td> <td style=\"text-align:left;\"><code>ForgottenUserError</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>User key update already in progress for user</code></td> <td style=\"text-align:left;\"><code>GenericError</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Merging user by sourceEmail not supported for User ID project</code></td> <td style=\"text-align:left;\"><code>BadParams</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Merging user by destinationEmail not supported for User ID project</code></td> <td style=\"text-align:left;\"><code>BadParams</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Cannot merge, {dedupeBy} is not a top-level field</code></td> <td style=\"text-align:left;\"><code>BadParams</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Cannot merge. On {source or destination} user, the array specified by {field} is contained in an array.</code></td> <td style=\"text-align:left;\"><code>BadParams</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Cannot merge, {field} is a system field</code></td> <td style=\"text-align:left;\"><code>BadParams</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>400</code></td> <td style=\"text-align:left;\"><code>Cannot merge, dedupeBy field {dedupeBy} is present for non-object arrayMerge field {field}</code></td> <td style=\"text-align:left;\"><code>BadParams</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>403</code></td> <td style=\"text-align:left;\"><code>Your project does not have access to the merge user profile feature. Please talk to your CSM for access</code></td> <td style=\"text-align:left;\"><code>Forbidden</code></td>\n</tr> <tr>\n<td style=\"text-align:left;\"><code>500</code></td> <td style=\"text-align:left;\"><code>Merge user from {0} to {1} failed</code></td> <td style=\"text-align:left;\"><code>DatabaseError</code></td>\n</tr>\n</tbody>\n</table> <h2 id=\"verify\">\n<a href=\"#verify\" class=\"header-anchor\">#</a> Verify</h2> <h3 id=\"post-api-verify-sms-begin\">\n<a href=\"#post-api-verify-sms-begin\" class=\"header-anchor\">#</a> <code>POST /api/verify/sms/begin</code>\n</h3> <p><strong>Begin SMS Verification</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#Verify_beginSmsVerification\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#Verify_beginSmsVerification\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Sends an SMS verification code to <code>phoneNumber</code>, using the specified\n<code>verificationProfileId</code>.</p> <p>Verification codes are sent from a pool of sender IDs reserved for this\npurpose, not from your sender IDs.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"verificationProfileId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"phoneNumber\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+14155550132\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>To find a <code>verificationProfileId</code>, look on the <strong>Settings &gt; Sending Platforms</strong>\npage in Iterable. Open the Twilio or Telnyx account you use to send SMS\nverification messages, open the <strong>Verification Profiles</strong> menu, and grab a\nverification profile ID from the right-most column.</p> <p>Call this endpoint only for projects that use Iterable SMS to send SMS messages.\nIf you use your own Twilio or Telnyx account, call their verification endpoints\ndirectly.</p> <p>To use this endpoint, first ask your Iterable customer success manager to add\nSMS phone verification to your project. To learn more, read\n<a href=\"https://support.iterable.com/hc/articles/11559421803796\">SMS Phone Verification</a></p> <h3 id=\"post-api-verify-sms-check\">\n<a href=\"#post-api-verify-sms-check\" class=\"header-anchor\">#</a> <code>POST /api/verify/sms/check</code>\n</h3> <p><strong>Check SMS Verification Code</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#Verify_checkSmsVerification\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#Verify_checkSmsVerification\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Checks whether the <code>code</code> included in the request body matches the most recent,\nnon-expired, not-yet-verified SMS verification code sent to <code>phoneNumber</code> by the\nspecified <code>verificationProfileId</code>.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"verificationProfileId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"phoneNumber\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+14155550132\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"13579\"</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>To find a <code>verificationProfileId</code>, look on the <strong>Settings &gt; Sending Platforms</strong>\npage in Iterable. Open the Twilio or Telnyx account you use to send SMS\nverification messages, open the <strong>Verification Profiles</strong> menu, and grab a\nverification profile ID from the right-most column.</p> <p>For <code>code</code>, provide the code entered by your users in your mobile app or website\nafter you sent them a verification SMS.</p> <p>If <code>code</code> is correct, this endpoint returns a <code>200</code> response with a JSON body\nthat has a <code>params</code> object with <code>status</code> set to <code>verified</code>. For example:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"status\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"verified\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>If <code>code</code> is incorrect, this endpoint returns a <code>200</code> response with a JSON body\nthat has a <code>params</code> object with <code>status</code> set to <code>rejected</code>. For example:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"incorrect verification code\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Success\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"params\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"status\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"rejected\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Call this endpoint only for projects that use Iterable SMS to send SMS messages.\nIf you use your own Twilio or Telnyx account, call their verification endpoints\ndirectly.</p> <p>To use this endpoint, first ask your Iterable customer success manager to add\nSMS phone verification to your project. To learn more, read\n<a href=\"https://support.iterable.com/hc/articles/11559421803796\">SMS Phone Verification</a></p> <h2 id=\"webhooks\">\n<a href=\"#webhooks\" class=\"header-anchor\">#</a> Webhooks</h2> <h3 id=\"get-api-webhooks\">\n<a href=\"#get-api-webhooks\" class=\"header-anchor\">#</a> <code>GET /api/webhooks</code>\n</h3> <p><strong>Get webhooks</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#webhooks_getWebhooks\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#webhooks_getWebhooks\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>List the webhooks in the project.</p> <h3 id=\"post-api-webhooks\">\n<a href=\"#post-api-webhooks\" class=\"header-anchor\">#</a> <code>POST /api/webhooks</code>\n</h3> <p><strong>Update webhook</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#webhooks_updateWebhook\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#webhooks_updateWebhook\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Update a webhook.</p> <h2 id=\"web-push-notifications\">\n<a href=\"#web-push-notifications\" class=\"header-anchor\">#</a> Web push notifications</h2> <h3 id=\"post-api-webpush-cancel\">\n<a href=\"#post-api-webpush-cancel\" class=\"header-anchor\">#</a> <code>POST /api/webPush/cancel</code>\n</h3> <p><strong>Cancel a web push notification to a user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#webPush_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#webPush_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Cancels a web push notification to a specific user. Request must include a\n<code>campaignId</code> and an <code>email</code> or <code>userId</code>, or just a <code>scheduledMessageId</code>.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h3 id=\"post-api-webpush-target\">\n<a href=\"#post-api-webpush-target\" class=\"header-anchor\">#</a> <code>POST /api/webPush/target</code>\n</h3> <p><strong>Send web push notification to user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#webPush_target\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#webPush_target\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Sends a web push notification to a specific user. Request data fields override\nuser profile data fields. A reference to the user profile is provided via the\n<code>profile</code> field, to help resolve field collisions.</p> <p>Learn about <a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <h2 id=\"whatsapp\">\n<a href=\"#whatsapp\" class=\"header-anchor\">#</a> WhatsApp</h2> <h3 id=\"post-api-whatsapp-target\">\n<a href=\"#post-api-whatsapp-target\" class=\"header-anchor\">#</a> <code>POST /api/whatsApp/target</code>\n</h3> <p><strong>Send WhatsApp campaign to user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#whatsApp_target\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#whatsApp_target\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Sends a WhatsApp campaign to a specified user. Data fields included in the API\nrequest body take precedence over data fields on the user’s profile. Campaign\nmust be set up in Iterable prior to sending the API request. If the <code>sendAt</code>\nfield is not included, the message is sent immediately.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>  \n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1234567</span><span class=\"token punctuation\">,</span>  \n  <span class=\"token property\">\"dataFields\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>  \n  <span class=\"token property\">\"recipientEmail\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>  \n  <span class=\"token property\">\"sendAt\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>  \n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>Include a <code>recipientUserId</code> or <code>recipientEmail</code>, but not both. Learn more about\n<a href=\"https://support.iterable.com/hc/articles/29156459027348\">identifying users</a> in API requests.</p> <p>On success, this endpoint returns status code 200 and creates a <code>whatsAppSend</code>\nevent on the specified user's Iterable profile.</p> <h3 id=\"post-api-whatsapp-cancel\">\n<a href=\"#post-api-whatsapp-cancel\" class=\"header-anchor\">#</a> <code>POST /api/whatsApp/cancel</code>\n</h3> <p><strong>Cancel a WhatsApp campaign for a user</strong> <br>API Explorer: <a href=\"https://api.iterable.com/api/docs#whatsApp_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">USDC-based projects</a>,\n<a href=\"https://api.eu.iterable.com/api/docs#whatsApp_cancel\" target=\"_blank\" rel=\"noopener noreferrer\">EDC-based projects</a></p> <p>Cancels a WhatsApp campaign for a specified user. Must include either the\n<code>campaignId</code> field or the <code>scheduledMessageId</code> field. If using the <code>campaignId</code>\nfield, must also specify the appropriate user identifier (<code>email</code> or <code>userId</code>\nfield) for your <a href=\"https://support.iterable.com/hc/articles/9216719179796\">project type</a>.</p> <p>Sample request body:</p> <div class=\"language-json extra-class\"><pre class=\"language-json\"><span class=\"token punctuation\">{</span>  \n  <span class=\"token property\">\"email\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"user@example.com\"</span><span class=\"token punctuation\">,</span>  \n  <span class=\"token property\">\"campaignId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1234567</span><span class=\"token punctuation\">,</span>  \n  <span class=\"token property\">\"scheduledMessageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"210badf49fe54f2591d64ad0d055f4fb\"</span><span class=\"token punctuation\">,</span>  \n  <span class=\"token property\">\"userId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">12345</span>\n<span class=\"token punctuation\">}</span>\n</pre></div>\n<p>On success, this endpoint returns status code 200, and the campaign is not sent\nto the specified user.</p> <h2 id=\"want-to-learn-more\">\n<a href=\"#want-to-learn-more\" class=\"header-anchor\">#</a> Want to learn more?</h2> <p>For more information about some of the topics in this article, check out these\nresources. Iterable Academy is open to everyone—you don't need\nto be an Iterable customer!</p> <p><strong>Iterable Academy</strong></p> <ul><li><a href=\"https://academy.iterable.com/learn/courses/36/foundations-introduction-to-api\" target=\"_blank\" rel=\"noopener noreferrer\">Foundations: Introduction to API</a></li></ul> <p><strong>Support docs</strong></p> <ul>\n<li><a href=\"https://support.iterable.com/hc/articles/360043464871\">API Keys</a></li> <li><a href=\"https://support.iterable.com/hc/articles/204780579\">API Overview and Sample Payloads</a></li> <li><a href=\"https://support.iterable.com/hc/articles/39629320560148\">API Response Codes</a></li> <li><a href=\"https://api.iterable.com/api/docs\" target=\"_blank\" rel=\"noopener noreferrer\">API reference docs (USDC-based projects)</a></li> <li><a href=\"https://api.eu.iterable.com/api/docs\" target=\"_blank\" rel=\"noopener noreferrer\">API reference docs (EDC-based projects)</a></li>\n</ul>\n</div>   </main>","user_segment_ids":[]}}