--- title: "Iterable technical setup for Jacquard" slug: "iterable-technical-setup-for-jacquard" updated: 2026-10-20T09:20:20Z published: 2026-10-20T09:20:20Z canonical: "support.jacquard.com/iterable-technical-setup-for-jacquard" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.jacquard.com/llms.txt > Use this file to discover all available pages before exploring further. # Iterable technical setup for Jacquard For Iterable admins and developers. Covers the runtime key, data feeds, the events webhook and the API connection. **Placeholders:** example values (for example names in code) and values in angle brackets are account-specific. Your Jacquard contact provides them. **Existing customers:** only needed for new touchpoints. Existing data feeds and webhook keep working. ## Technical setup For your Iterable admin or developer. Doesn’t affect existing sends. ### 1. Jacquard | Create the Jacquard runtime key **1.1 Create the key** - In Jacquard, go to **Admin > API keys & webhooks** and click **+ New API key**. - Name: `Iterable data feed` - Scopes: `runtime:select` - Integration type: Iterable - Leave other fields blank. Click **Create key**. **1.2 Copy the key** The key starts `jq_live_`. It’s shown once only. ### 2. Iterable | Create the data feeds **2.1 Copy the select URL** From the touchpoint’s **Connect** tab in Jacquard. **2.2 Create the data feed** - In Iterable, go to **Content > Data Feeds > New Data Feed**. - Name: `Jacquard – <touchpoint ID>` - URL: the select URL - Method: POST - Format: JSON - Headers: `x-api-key` = your `jq_live_` key; `Content-Type` = `application/json` - Body: ```plaintext { "recipient_id": "{{userId}}" } ``` Use `{{email}}` instead of `{{userId}}` if that’s your Iterable identifier. **2.3 Don’t use the Authorization token field** Jacquard only accepts `x-api-key`. The wrong field fails silently and sends show fallback copy. **2.4 Enter the Data Feed ID in Jacquard** In the touchpoint’s delivery checklist. **2.5 Repeat** One data feed per touchpoint. ### 3. Iterable | Send events with a System Webhook **Existing customers:** keep your existing Jacquard System Webhook. Skip this section. **3.1 Get tokens** *(Jacquard does this)* Jacquard sends an endpoint token and bearer token through a secure channel. **3.2 Create a System Webhook** Go to **Integrations > System Webhooks** (or **Webhooks**). **3.3 Set the details** - URL: `https://<jacquard-callback-url>/{endpointToken}` - **Authentication Token**: the bearer token - Events: sent, open, click, bounce, unsubscribe, push_open, push_click, sms_click, send_failure **3.4 Enable** Save, set the status to Enabled, and tell your Jacquard contact. ## API connection Imports touchpoints and checks wiring. Part 1 is still required. ### 4. Who and when | **Who** | Iterable project admin with permission to create API keys. | | --- | --- | | **New customers** | Any time after you have Jacquard access. | | **Existing customers** | Any time from upgrade stage 2. Doesn’t affect sends. | #### What it adds | Without | With | | --- | --- | | Touchpoints set up with your Jacquard contact | Import campaigns and journeys as touchpoints | | Templates wired manually | Jacquard can create a template with wiring in place | | Proof send only | Jacquard checks wiring before go-live | ### 5. Iterable | Create an API key **5.1 Create the key** - In Iterable, go to **Integrations > API Keys** and click **New API Key**. - Name: `Jacquard`. - Type: server-side. - If permissions are selectable, grant only those below. **5.2 Copy the key** Shown once only. | Permission | Purpose | | --- | --- | | `Campaigns: Read` | List and read campaigns | | `Campaigns: Write` | Create Jacquard triggered campaign copies | | `Templates: Read` | Read templates and check wiring | | `Templates: Write` | Create the Jacquard template | | `Workflows / Journeys: Read` | List journeys (optional) | ### 6. Jacquard | Connect and import **6.1 Connect** In Jacquard, go to **Connectors > Iterable > Connect**, paste the key and click **Save connection**. **6.2 Sync** Click **Sync**. No changes are made in Iterable. **6.3 Import** Select campaigns to import as touchpoints. ### 7. Iterable | After connecting **7.1 Verification** Run delivery verification on each touchpoint. Each check takes up to a minute. | Code | Meaning | Fix | | --- | --- | --- | | `DATA_FEED_MISMATCH` | Wrong feed, or more than one | Detach all but the feed whose ID is in Jacquard | | `SELECTED_REGIONS_MISMATCH` | A selected part isn’t wired | Wire it or deselect it | ## Ready to send emails 1. **Confirm setup** *(Jacquard does this)* Your Jacquard contact confirms the data feeds and events work. 2. **Hand over** Send your marketing team the data feed name for each touchpoint. 3. **Configure your templates** See the guide on configuring your templates: *Set up Iterable templates for Jacquard*. ## Reference ### Reference and troubleshooting | Item | Source | Destination | | --- | --- | --- | | `jq_live_` runtime key | Jacquard Admin > API keys & webhooks | Data feed `x-api-key` header | | Select URL | Touchpoint Connect tab | Data feed URL | | Data Feed ID | Iterable Data Feeds | Touchpoint delivery checklist | | Webhook endpoint and bearer tokens | Jacquard (secure channel) | Iterable System Webhook | #### Troubleshooting **Proofs show fallback copy** Check the method is POST, the header is exactly `x-api-key`, the body sends `recipient_id`, and the key is active with `runtime:select` scope. **No events in Jacquard** Check the webhook is enabled, the URL ends in your endpoint token, and the bearer token is correct. #### API connection troubleshooting **Connection failed** Check the key is server-side, active, and has the five permissions. **Disconnect** Revoke the key in Iterable. Data feeds and sends keep working. #### Keys and tokens - Don’t share keys by email, chat, tickets or shared documents. - If a key is exposed: create a new one, update it everywhere, revoke the old one (**Admin > API keys & webhooks**).