# Dotdigital MCP connector

The Dotdigital connector brings your email campaigns, sends, opens and clicks into Claude, ChatGPT, Cursor and other AI clients, so your team can build, send and report on Dotdigital campaigns by asking in plain language.

Source: https://elaichi.ai/connectors/dotdigital/

## Facts

| | |
| --- | --- |
| Application | Dotdigital |
| Category | Marketing Automation |
| AI tools | 314 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 314 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Dotdigital is connected

- Show me campaigns sent to the EMEA list last week.
- Draft a split test for the spring campaign.
- Which campaigns still need an attachment added.

## Connect Dotdigital in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Dotdigital.
2. Optionally set Share with, then press Connect.
3. Paste a Dotdigital API key. One person generates a token in Dotdigital and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Dotdigital tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Dotdigital to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Dotdigital to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Dotdigital to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Dotdigital to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Dotdigital tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Dotdigital through Elaichi

### Draft next week's campaign from a brief

Marketing. Turn a short brief into a new Dotdigital campaign with the subject line, sender details and content in place, ready for a final look before it goes to a list.

### Copy last month's winner and refresh it

Marketing. Take the campaign that performed best, make a copy in Dotdigital, and update the subject, dates and offer without rebuilding it from scratch.

### Set up a split test on subject lines

Email marketing. Create a split test in Dotdigital with two or three subject line variants, then read back which one earned more opens once the results are in.

### Schedule a send at the best time

Email marketing. Queue a Dotdigital campaign send for a chosen address book, or let send time optimization pick the moment each contact is most likely to open.

### See who clicked the promotion link

Ecommerce. Pull the clicks for a sale campaign in Dotdigital, grouped by link, to learn which products drew attention and which parts of the email were ignored.

### Summarize campaign results before the Monday meeting

Leadership. Ask for a plain summary of every Dotdigital campaign sent since a date, with opens and clicks side by side, and get it as a paragraph rather than an export.

## Frequently asked questions

### How do I connect Dotdigital to Claude?

First connect Dotdigital in Elaichi, which asks for a Dotdigital API key rather than a full sign-in, and there is no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in with your Elaichi account when Claude asks, and Dotdigital campaigns, sends and reports are available in the chat.

### Does Dotdigital work with ChatGPT and Cursor as well as Claude?

Yes. Once Dotdigital is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Dotdigital once and every client picks it up.

### What can an AI agent actually do with my Dotdigital data?

An agent can list your Dotdigital campaigns, create new ones, copy or update existing ones, add attachments, set up split tests and schedule sends, including send time optimization. It can also read the results: opens, clicks grouped by link, activity since a given date and per-campaign summaries. Because Dotdigital exposes a lot of actions, short concrete asks such as 'clicks for the spring sale campaign' work better than long sentences.

### Does connecting Dotdigital give the AI everything in my account?

No. An agent working through Elaichi only reaches what the Dotdigital API key it was connected with can already reach, and it acts as the person who signed in. Elaichi can narrow that further, for example to reporting only, but it can never widen access beyond what Dotdigital itself allows.

### Can my team share one Dotdigital connection?

Yes. One person connects Dotdigital in Elaichi and shares it with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so every campaign created or send scheduled in Dotdigital is recorded against the person who did it.

### Can I stop an agent from deleting or changing things in Dotdigital?

Yes. Restrictions in Elaichi work per action, so you can allow reading Dotdigital campaign reports while blocking deleting campaigns, removing attachments or scheduling sends. A blocked action is never shown to Claude, ChatGPT or any other client, so no prompt can reach it.

### What happens to a Dotdigital connection when someone leaves?

Offboarding a person in Elaichi ends their access to Dotdigital through every AI client at once. A Dotdigital connection they shared keeps working for everyone else on the team. If you later want it gone entirely, disconnecting Dotdigital once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client together.

## All 314 Dotdigital tools

Every tool below is callable through https://api.elaichi.ai/mcp once Dotdigital is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Dotdigital campaigns** (List). List all dotdigital campaigns. Returns: id, name, subject, fromName, fromAddress, htmlContent, plainTextContent, replyAction, replyToAddress, isSplitTest, status. Max 1000 records per page.
- **Create a Dotdigital campaign** (Create). Create a new dotdigital campaign. Returns: id, name, subject, fromName, fromAddress, htmlContent, plainTextContent, replyAction, replyToAddress, isSplitTest, status, type. Required: name, subject, fromName, htmlContent, plainTextContent.
- **Get single Dotdigital campaign by ID** (Get). Get a single dotdigital campaign by id. Returns: id, examples, name. Required: id.
- **Update a Dotdigital campaign by ID** (Update). Update a dotdigital campaign by id. Returns: id, subject, fromName, fromAddress, htmlContent, plainTextContent, replyAction, replyToAddress, isSplitTest, status, examples, name. Required: id.
- **Delete a Dotdigital campaign by ID** (Delete). Delete a dotdigital campaign by id. Returns an empty 204 response on success. Required: id.
- **Create a Dotdigital campaigns split test** (Create). Create an email split test campaign in dotdigital by providing a campaign name plus content arrays that define one or more variations. Returns: id, name, subjects, fromNames, fromAddresses, htmlContents, plainTextContents, replyAction, replyToAddress, customReplyToAddress, status. Required: name, plainTextContents. Maximum 10 variations; any field being split-tested must have the same number of…
- **Create a Dotdigital campaign copy** (Create). Copy a dotdigital campaign, returning the newly created duplicate. Returns: id, examples. Required: campaign_id.
- **Create a Dotdigital campaigns send** (Create). Send a dotdigital campaign to one or more address books, segments, or contacts, either immediately or scheduled for a future date. Returns: id, campaignId, addressBookIds, contactIds, sendDate, splitTestOptions, status.
- **Get single Dotdigital campaigns send by ID** (Get). Get the status of a dotdigital campaign send by its send ID (GUID). Returns: id, campaignId, addressBookIds, contactIds, sendDate, splitTestOptions, status. Required: id.
- **Create a Dotdigital campaigns send time optimised** (Create). Send a dotdigital campaign to one or more address books or contacts at the optimised time based on recipients' previous opens. Returns: id, campaignId, addressBookIds, contactIds, sendDate, splitTestOptions, status. Required: campaignID.
- **Delete a Dotdigital campaign attachment by ID** (Delete). Remove a document attachment from a dotdigital campaign. Returns an empty 204 response on success. Required: campaign_id, id.
- **List all Dotdigital campaign attachments** (List). List documents currently attached to a dotdigital campaign. Returns: id, name, fileName, fileSize, dateCreated, dateModified. Required: campaign_id.
- **Create a Dotdigital campaign attachment** (Create). Add a document to a dotdigital campaign as an attachment. Returns the attached document object including id, name, fileName, fileSize, dateCreated, and dateModified. Required: campaign_id.
- **List all Dotdigital campaigns filtereds** (List). List dotdigital campaigns with optional filters for type, tags, status, sent date, and scheduled date range. Returns: id, type. Max 1000 records per request.
- **List all Dotdigital campaign with details** (List). Get a dotdigital campaign with all its details by campaign id. Returns: id, type, examples. Required: campaign_id.
- **List all Dotdigital campaign summaries** (List). Get a summary of reporting information for a specified dotdigital campaign. Returns: examples. Required: campaign_id.
- **List all Dotdigital campaign opens** (List). List campaign opens for a specific dotdigital campaign. Returns: contactId, email, mailClient, mailClientVersion, ipAddress, userAgent, isHtml, isForward, dateOpened. Required: campaign_id.
- **List all Dotdigital activitie opens** (List). List campaign opens for a specific contact in dotdigital. Returns: contactId, email, mailClient, mailClientVersion, ipAddress, userAgent, isHtml, isForward, dateOpened. Required: campaign_id, contact_id.
- **List all Dotdigital campaign activities** (List). List dotdigital campaign activities for all contacts sent a campaign. Returns: contactId, email, numOpens, numPageViews, numClicks, numForwards, numEstimatedForwards, numReplies, dateSent, dateFirstOpened, dateLastOpened, firstOpenIp, unsubscribed, softBounced, hardBounced. Required: campaign_id.
- **Get single Dotdigital campaign activity by ID** (Get). Get a single dotdigital campaign activity by id. Returns: contactId, email, numOpens, numPageViews, numClicks, numForwards, numEstimatedForwards, numReplies, dateSent, dateFirstOpened, dateLastOpened, firstOpenIp, unsubscribed, softBounced, hardBounced. Required: campaign_id, id.
- **List all Dotdigital activities since dates** (List). List dotdigital campaign activity since a specified date for contacts who showed activity (opens, clicks, forwards). Returns: examples. Required: campaign_id, date. Max 1000 records per page.
- **List all Dotdigital campaign clicks** (List). List link clicks for a dotdigital campaign. Returns: contactId, email, url, ipAddress, userAgent, dateClicked, keyword. Required: campaign_id.
- **List all Dotdigital campaign clicks with groups** (List). List campaign link clicks with assigned link groups for a dotdigital campaign. Returns: contactId, email, url, ipAddress, userAgent, dateClicked, keyword, groups. Required: campaign_id. Max 1000 records per page.
- **List all Dotdigital clicks since dates** (List). List link clicks for a dotdigital campaign since a specified date. Returns: contactId, email, url, ipAddress, userAgent, dateClicked, keyword. Required: campaign_id, date (ISO 8601). Max 1000 records per request.
- **List all Dotdigital clicks with groups since dates** (List). List link clicks for a dotdigital campaign with assigned link groups, starting from a specified date. Returns: contactId, email, url, ipAddress, userAgent, dateClicked, keyword, groups. Required: campaign_id, date. The date must be in ISO 8601 format.
- **List all Dotdigital opens since dates** (List). List campaign opens in dotdigital recorded since a specified date. Returns: contactId, email, mailClient, mailClientVersion, ipAddress, userAgent, isHtml, isForward, dateOpened. Required: campaign_id, date.
- **List all Dotdigital campaign address books** (List). List address books and segments that a dotdigital campaign has ever been sent to. Returns: id, name, visibility, contacts. Required: campaign_id.
- **List all Dotdigital activitie clicks** (List). List campaign link clicks for a contact in dotdigital. Returns: contactId, email, url, ipAddress, userAgent, dateClicked, keyword. Required: campaign_id, contact_id. Max 1000 records per request.
- **List all Dotdigital activitie clicks with groups** (List). List dotdigital campaign link clicks with assigned link groups for a specific contact. Returns: contactId, email, url, ipAddress, userAgent, dateClicked, keyword, groups. Required: campaign_id, contact_id.
- **List all Dotdigital campaigns with activity sinces** (List). List dotdigital sent campaigns that have had activity (e.g. clicks, opens) after a specified date. Returns: id, name, subject, fromName, fromAddress, htmlContent, plainTextContent, replyAction, replyToAddress, isSplitTest, status. Required: date in ISO 8601 format.
- **List all Dotdigital activitie page views** (List). List page views for a specific campaign contact in dotdigital. Returns: contactId, email, url, dateViewed. Required: campaign_id, contact_id. Max 1000 records per page.
- **List all Dotdigital page views since dates** (List). List page views for a dotdigital campaign since a specified date. Returns: url. Required: campaign_id, date.
- **List all Dotdigital activitie replies** (List). List campaign replies for a specific contact in dotdigital. Returns: contactId, email, fromAddress, toAddress, subject, message, isHtml, dateReplied, replyType. Required: campaign_id, contact_id.
- **List all Dotdigital activitie roi details** (List). List campaign ROI activity details for a specific contact in dotdigital. Returns: contactId, email, markerName, dataType, value, dateEntered. Required: campaign_id, contact_id.
- **List all Dotdigital roi details since dates** (List). List dotdigital campaign ROI activity records since a specified date. Returns: contactId, email, markerName, dataType, value, dateEntered. Required: campaign_id, date.
- **List all Dotdigital campaign social bookmark views** (List). List social bookmark views for a dotdigital campaign. Returns: contactId, email, bookmarkName, numViews. Required: campaign_id.
- **List all Dotdigital activitie social bookmark views** (List). List social bookmark views for a specific contact within a dotdigital campaign. Returns: contactId, email, bookmarkName, numViews. Required: campaign_id, contact_id.
- **List all Dotdigital campaign hard bouncing contacts** (List). List contacts who hard bounced when sent a particular dotdigital campaign. Returns: id, email, optInType, emailType, dataFields, status. Required: campaign_id.
- **List all Dotdigital campaign split tests** (List). Get the split test results for a dotdigital campaign by campaign_id. Returns the split test results including versions with subjectLine, fromName, fromAddress, version, winningVersion, resultsActual, resultsPercentage, and splitTestWinnerMetric. Required: campaign_id.
- **List all Dotdigital custom from addresses** (List). List custom from addresses available for use in dotdigital campaigns. Returns: id, email, _links, _items.
- **List all Dotdigital revenue since dates** (List). Get campaign revenue data collated since a specified date in dotdigital. Returns: campaignID, dateSent, currency, revenue, numOrders, conversionRate. Required: campaign_id, date.
- **List all Dotdigital activitie revenues** (List). Get campaign revenue for a specific contact in dotdigital. Returns: campaignID, dateSent, currency, revenue, numOrders, conversionRate. Required: campaign_id, contact_id.
- **List all Dotdigital campaigns metrics** (List). List dotdigital campaign metrics between two UTC dates for all sent campaigns with activity. Returns: campaignId, campaignName, campaignType, sent, delivered, uniqueOpens, clicks, revenue, and percentage metrics per campaign. Required: startDate, endDate. Up to 1000 records per request via the select parameter.
- **List all Dotdigital ecommerce orders** (List). List dotdigital ecommerce orders placed since a specified date. Returns each order's id, email, contactId, items, orderTotal, orderDate, currency, and delivery/billing address details. Required: fromDate (ISO 8601 date; time component is ignored). Max 1000 records per page.
- **List all Dotdigital segments** (List). List all segments in dotdigital. Returns each segment's id, name, and the number of contacts it contains. No required parameters.
- **Get single Dotdigital segments refresh by ID** (Get). Get the refresh progress for a dotdigital segment by id. Returns: id, status. Required: id. The source documents only these two fields for this endpoint.
- **Create a Dotdigital segments refresh** (Create). Trigger a refresh of a dotdigital segment. Returns: id, status. The response is asynchronous (202 Accepted). Required: refresh_id.
- **Create a Dotdigital programs enrolment** (Create). Create a program enrolment in dotdigital by enrolling contacts and/or address books into a program. Processing happens asynchronously; use the returned id to track progress. Returns: id, programId, status, dateCreated, contacts, addressBooks. Required: programId. At least one contact or address book must be supplied; contacts are limited to 25 and address books to 10.
- **Get single Dotdigital programs enrolment by ID** (Get). Get a single dotdigital program enrolment by id. Returns: id, programId, status, dateCreated, contacts, addressBooks. Required: id.
- **List all Dotdigital programs** (List). List all dotdigital programs in your account. Returns: id, name, status, dateCreated. Select up to 1000 records per request.
- **Get single Dotdigital program by ID** (Get). Get a single dotdigital program by its numeric id. Returns: id, name, status, dateCreated. Required: id.
- **List all Dotdigital enrolment report faults** (List). List dotdigital contacts that were not successfully enrolled in a program enrolment. Returns a CSV report with columns: Id, Email, TelephoneNumber, Reason. Required: enrolment_id. The report is unavailable while the enrolment is still processing.
- **List all Dotdigital sms campaigns** (List). List SMS campaigns in dotdigital. Returns each campaign with id, name, message, sendingIdentity, sendingIdentityId, toggleShortLinks, and status. Max 1000 records per page.
- **Create a Dotdigital sms campaign** (Create). Create a new SMS campaign in dotdigital. Returns the created campaign including id, name, message, sendingIdentity, sendingIdentityId, toggleShortLinks, and status. Required: name, message.
- **Get single Dotdigital sms campaign by ID** (Get). Get a single SMS campaign by id in dotdigital. Returns: id, name, message, sendingIdentity, sendingIdentityId, toggleShortLinks, status. Required: id.
- **Update a Dotdigital sms campaign by ID** (Update). Update an existing SMS campaign in dotdigital, as long as it has not been sent. Returns: id, name, message, sendingIdentity, sendingIdentityId, toggleShortLinks, status. Required: id, name, message.
- **Delete a Dotdigital sms campaign by ID** (Delete). Delete an SMS campaign by id in dotdigital. Returns an empty 200 response on success. Required: id.
- **Create a Dotdigital campaigns copy** (Create). Create a copy of an existing SMS campaign in dotdigital. Returns: id, name, message, sendingIdentity, sendingIdentityId, toggleShortLinks, status. Required: campaignId, copyName. Copy name limited to 255 characters; deleted campaigns cannot be copied.
- **Create a Dotdigital sms messages send to** (Create). Send a single SMS message to a dotdigital contact by telephone number in E.164 format. Returns an empty 204 response on success. Required: telephone_number, message.
- **Create a Dotdigital email** (Create). Send a transactional email to one or more recipients in dotdigital. Returns an empty 200 response on success. Required: toAddresses, subject. Max 100 recipients per address field; attachments up to 15 MB each.
- **Create a Dotdigital email batch** (Create). Send batch transactional emails to multiple recipients in dotdigital. Returns an array of results per email with index, failureCode, and failureReason. Required: toAddresses and subject per email item. Max 100 recipients per address field; metadata max 1500 characters; attachments max 15 MB.
- **Create a Dotdigital email triggered campaign** (Create). Send a transactional email in dotdigital using a triggered campaign with recipient addresses, personalization values, and optional attachments. Returns an empty 200 response on success. Required: toAddresses, campaignId. Max 100 recipients per address field; attachments up to 15 MB each; metadata limited to 1500 characters.
- **Create a Dotdigital triggered campaign batch** (Create). Send batch transactional emails in dotdigital using triggered campaigns. Returns an array of per-email results including index, failureCode, and failureReason (failure fields appear only for failed items). Required: a JSON array body where each item must include toAddresses and campaignId. Max 100 addresses per email; attachments up to 15 MB each; metadata limited to 1500 characters.
- **List all Dotdigital stats since dates** (List). List dotdigital transactional email reporting statistics for a specified time period. Returns: startDate, endDate, numSent, numDelivered, numOpens, numClicks, numIspComplaints, numBounces. Required: date.
- **List all Dotdigital image folders** (List). List dotdigital image folders as a tree structure. Returns each folder with id, name, and childFolders (nested recursively).
- **Get single Dotdigital image folder by ID** (Get). Get a single dotdigital image folder by id. Returns: id, name, childFolders. Required: id. The root folder id is 0.
- **Create a Dotdigital image folder** (Create). Create a new image folder within an existing dotdigital image folder. Returns: id, name, childFolders. Required: image_folder_id (parent folder id, root is 0) and name (max 20 characters, alphanumeric with hyphens and underscores only).
- **List all Dotdigital image folder images** (List). List images in a dotdigital image folder. Returns: url, filename, mimeType, sizeInBytes, widthInPixels, heightInPixels, contentTags. Required: image_folder_id.
- **Create a Dotdigital image folder image** (Create). Upload a new image to a dotdigital image folder using a JSON body with Base64-encoded file data. Returns: id, name, path. Required: image_folder_id, fileName, data. Permitted file types: GIF, JPEG, PNG.
- **List all Dotdigital contacts scores** (List). List contact scoring for all contacts in a dotdigital account. Returns: contactId, email, dateModified, scoreLabel, score, engagement, suitability. The select parameter controls how many records to retrieve (1–1000, defaults to 1000).
- **List all Dotdigital score modified sinces** (List). List dotdigital contacts whose contact scoring data has been modified since a given UTC date-time. Returns: contactId, email, dateModified, scoreLabel, score, engagement, suitability. Required: date.
- **List all Dotdigital contact scores** (List). Get contact scoring information for a specific dotdigital contact. Returns: contactId, email, dateModified, scoreLabel, score, engagement, suitability. Required: contact_identifier (either the contact's email address or numeric contact ID).
- **List all Dotdigital products recommendations** (List). List all product recommendations in dotdigital. Returns: id, dateLastRefreshed, dateModified, dateLastUsed, name, type, status, fallbackRecommendationId, revenue.
- **List all Dotdigital account infos** (List). Get a summary of the current dotdigital account status, including email and SMS send credits, premium wallet balance, API call usage in the last hour and remaining, managed users list, account name, main email, main mobile number, API locale, API endpoint, currency code, campaign email MTA pool, clock display setting, and IANA timezone. Returns: id, properties.
- **List all Dotdigital server times** (List). Get the UTC server time as set on dotdigital's servers. Returns the current date and time in ISO-8601 format (e.g., 2021-09-24 09:21:55.661571+00:00).
- **Create a Dotdigital accounts empty recycle bin** (Create). Empty the recycle bin in dotdigital, permanently deleting everything in it. Returns an empty 202 response on success.
- **List all Dotdigital templates** (List). List all email campaign templates in dotdigital. Returns: id, name, subject, fromName, htmlContent, plainTextContent, replyAction, replyToAddress.
- **Create a Dotdigital template** (Create). Create a new email campaign template in dotdigital. Returns the created template including id, name, subject, fromName, htmlContent, plainTextContent, replyAction, and replyToAddress. Required: name, subject, fromName, htmlContent, plainTextContent.
- **Get single Dotdigital template by ID** (Get). Get a single email campaign template in dotdigital by id. Returns: id, example, name. Required: id.
- **Update a Dotdigital template by ID** (Update). Update an email campaign template in dotdigital by id. Returns the updated template including id, name, subject, fromName, htmlContent, plainTextContent, replyAction, and replyToAddress. Required: id, name, subject, fromName, htmlContent, plainTextContent.
- **List all Dotdigital data fields** (List). List all contact data fields in the dotdigital account. Returns: name, type, visibility, defaultValue, _links, _items.
- **Create a Dotdigital data field** (Create). Create a contact data field in the dotdigital account. Returns: name, type, visibility, defaultValue. Required: name, type. The field name must be alphanumeric (hyphens and underscores allowed) with a maximum of 20 characters.
- **Dotdigital data fields bulk delete** (Delete). Delete a contact data field in the dotdigital account by name. Returns: dependencies, result. Required: name.
- **Create a Dotdigital document folder** (Create). Create a new document folder inside an existing dotdigital folder. Returns: id, name, childFolders. Required: document_folder_id, name. The folder name must be up to 20 characters, alphanumeric only with hyphens and underscores permitted.
- **List all Dotdigital document folders** (List). List dotdigital document folders as a tree structure. Returns each root folder with id, name, and nested childFolders.
- **List all Dotdigital document folder documents** (List). List all uploaded documents in a dotdigital document folder. Returns: id, name, fileName, fileSize, dateCreated, dateModified. Required: document_folder_id.
- **Create a Dotdigital document folder document** (Create). Upload a document to a dotdigital document folder. Returns: id, name, childFolders. Required: document_folder_id. Only one file may be uploaded per call.
- **Get single Dotdigital contacts deletion by ID** (Get). Get the progress of a bulk contact deletion in dotdigital by deletion request id. Returns: Id, Status. Required: id (the deletion request id returned from a previous bulk contact deletion call).
- **List all Dotdigital contacts** (List). List dotdigital contacts with optional filtering by created date, modified date, list, or segment, and control which data fields and associated data sets are returned. Returns each contact's id, email, optInType, emailType, dataFields, and status. Data is returned in ascending order. The ~created and ~modified filters are mutually exclusive; the ~listId and ~segmentId filters are mutually…
- **Create a Dotdigital contact** (Create). Create a contact in dotdigital; fails with a 409 if the contact's identifiers already exist in the account. Returns: id, email, optInType, emailType, dataFields, status. Required: email.
- **Update a Dotdigital contact by ID** (Update). Replace a dotdigital contact entirely by identifier and value. Returns: id, email, optInType, emailType, dataFields, status. Required: identifier, id. This replaces the entire contact; use PATCH to update select fields only. It is not possible to modify the contactId field.
- **Delete a Dotdigital contact by ID** (Delete). Delete a dotdigital contact by identifier type and value. Returns an empty 204 response on success. Required: identifier, id.
- **Get single Dotdigital contact by ID** (Get). Get a dotdigital contact's details by identifier type and value. Returns: id, email, optInType, emailType, dataFields, status. Required: identifier, id.
- **Dotdigital contacts partial update** (Update). Import a single contact in dotdigital by identifier type and value, updating an existing contact with only the fields passed or creating a new one if not found. Returns: id, email, optInType, emailType, dataFields, status. Required: identifier, id. The merge_option parameter controls how new data merges into existing contacts (defaults to overwrite). It is not possible to modify the contactId…
- **Create a Dotdigital contacts with consent** (Create). Create or update a dotdigital contact along with their consent information. Returns: contact, consentFields. Required: contact (with email).
- **Create a Dotdigital contacts with consent and preference** (Create). Create or update a dotdigital contact with consent data and marketing preferences. Returns the created contact (id, email, optInType, emailType, status), consentFields, and preferences with opt-in states. Required: contact (with email).
- **Create a Dotdigital contacts import collection** (Create). Bulk create or update dotdigital contacts from a JSON collection, optionally adding them to address books. Returns: id, status. Required: addressBookIds and contacts. The import is asynchronous — the response status will be 'NotFinished' until processing completes.
- **Create a Dotdigital contacts import** (Create). Bulk import contacts in dotdigital from a base64-encoded file. Returns: id, status. Required: filename, data.
- **Get single Dotdigital contacts import by ID** (Get). Get the status of a dotdigital contacts import request by id. Returns: id, status. Required: id.
- **Dotdigital contacts imports bulk update** (Update). Import a collection of contacts in dotdigital, creating new contacts and updating existing ones. Async operation — poll the get import status endpoint for completion. Returns: id. Required: contacts.
- **List all Dotdigital reports** (List). Get a dotdigital contact import report with statistics on successfully and unsuccessfully imported contacts. Returns: newContacts, updatedContacts, globallySuppressed, invalidEntries, duplicateEmails, blocked, unsubscribed, hardBounced, softBounced, ispComplaints, mailBlocked, domainSuppressed, pendingDoubleOptin, failures, suppressedContacts. Required: import_id.
- **List all Dotdigital report faults** (List). List contact import records that were not successfully imported in dotdigital. Returns each faulted record with Reason, email, firstname, fullname, gender, lastname, and postcode. Required: import_id.
- **Dotdigital contact with consent and preferences bulk update** (Update). Update a dotdigital contact by id with consent information and/or marketing preferences. Returns: contact (id, email, status), consentFields, preferences (id, publicName, isOptedIn). Required: id, contact (email is required within contact).
- **List all Dotdigital contact with consents** (List). Get a dotdigital contact with their consent information by contact identifier (id or email address). Returns the contact object including id, email, optInType, emailType, dataFields, status, and the consentFields array. Required: contact_identifier.
- **Dotdigital contact with consents bulk update** (Update). Update a dotdigital contact by id with consent information. Returns the updated contact object including id, email, optInType, emailType, dataFields, status, and the consentFields array. Required: id, contact (with email).
- **List all Dotdigital contact address books** (List). List dotdigital address books that a contact belongs to. Returns: id, name, visibility, contacts. Required: contact_id.
- **List all Dotdigital contacts counts** (List). Get the total number of contacts in the dotdigital account. Returns: a single integer representing the count of all contacts (e.g., 42525). No required parameters.
- **List all Dotdigital contacts created sinces** (List). List dotdigital contacts created after a specified date. Returns each contact's id, email, optInType, emailType, dataFields, and status. Required: date.
- **List all Dotdigital contacts modified sinces** (List). List dotdigital contacts modified since a specified date within an address book. Returns: id, email, optInType, emailType, dataFields, status. Required: address_book_id, date. The select parameter accepts values between 1 and 1000.
- **Create a Dotdigital contacts transactional data** (Create). Add a single piece of transactional/insight data to a dotdigital contact or account in a named collection. Returns: key, contactIdentifier, json. Required: collection_name, key, contactIdentifier, json.
- **Delete a Dotdigital contacts transactional data by ID** (Delete). Delete a piece of transactional data from a dotdigital contact by key within a named collection. Returns an empty 204 response on success. Required: collection_name, id.
- **Update a Dotdigital contacts transactional data by ID** (Update). Replace a piece of dotdigital transactional/insight data by key within a collection. Returns: _links, _items. Required: collection_name, id, json.
- **Get single Dotdigital contacts transactional data by ID** (Get). Get a single piece of dotdigital transactional/insight data by key within a collection. Returns: _links, _items. Required: collection_name, id.
- **Create a Dotdigital transactional data import** (Create). Bulk add transactional/insight data to contacts in a dotdigital transactional data collection asynchronously. Returns: id, status. Required: collection_name, and a body array of insight data items each containing key, contactIdentifier, and json. Poll the returned id via the get method to check import status.
- **Get single Dotdigital transactional data import by ID** (Get). Get the import status of a previously started dotdigital transactional data import by id. Returns: id, status. Required: id.
- **List all Dotdigital contact transactional datas** (List). List transactional data records for a dotdigital contact in a specific collection. Returns up to 100 records sorted by transactional record key, each containing key, contactIdentifier, and json. Required: selector, collection_name.
- **Dotdigital contact transactional datas bulk delete** (Delete). Delete all transactional data for a dotdigital contact in a specific collection, identified by email or contact ID. Returns an empty 204 response on success. Required: selector, collection_name.
- **List all Dotdigital transactional datas** (List). List dotdigital transactional/insight data records from a named collection at account level. Returns: key, contactIdentifier, json. Required: collection_name. Max 100 records per page.
- **List all Dotdigital contacts transactional data collections** (List). List transactional/insight data collections at account and contact level in dotdigital. Returns: Id, Name. Up to 1000 records per page.
- **Dotdigital transactional data empties bulk update** (Update). Empty a dotdigital transactional data collection by removing all records from the specified collection. Returns an empty 204 response on success. Required: collection_name.
- **List all Dotdigital address book campaigns** (List). List campaigns sent to a dotdigital address book or segment. Returns: id, name, subject, fromName, fromAddress, htmlContent, plainTextContent, replyAction, replyToAddress, isSplitTest, status. Required: address_book_id.
- **List all Dotdigital address books** (List). List all address books in dotdigital. Returns: id, name, visibility, contacts.
- **Create a Dotdigital address book** (Create). Create a new address book in dotdigital. Returns: id, name, visibility, contacts. Required: name.
- **Get single Dotdigital address book by ID** (Get). Get a single dotdigital address book by id. Returns: id, name, visibility, contacts. Required: id.
- **Update a Dotdigital address book by ID** (Update). Update a dotdigital address book by id. Returns: id, name, visibility, contacts. Required: id, name.
- **Delete a Dotdigital address book by ID** (Delete). Delete a dotdigital address book by id. Returns an empty 204 response on success. Required: id.
- **List all Dotdigital address books privates** (List). List all private address books (private lists) in dotdigital. Returns each address book's id, name, visibility, and contact count.
- **List all Dotdigital address books publics** (List). List all public address books in dotdigital. Returns: id, name, visibility, contacts.
- **List all Dotdigital contacts unsubscribed sinces** (List). List dotdigital contacts who have unsubscribed from a specific address book since a given date. Returns each record with suppressedContact (id, email, optInType, emailType, dataFields, status), dateRemoved, and reason. Required: id, date.
- **Create a Dotdigital contacts unsubscribe** (Create). Unsubscribe a contact from the dotdigital account. Returns the suppressed contact object including id, email, optInType, emailType, dataFields, and status, plus dateRemoved and reason. Required: email.
- **Create a Dotdigital contacts resubscribe** (Create). Resubscribe a previously unsubscribed contact. Returns the contact and a resubscribe status of ContactAdded, ContactChallenged, ContactCannotBeUnsuppressed or NotAvailableInThisVersion. A status of ContactChallenged means an automated confirmation email was sent. Contact data fields can be updated as part of the resubscribe. Required in body: unsubscribedContact.
- **Create a Dotdigital contacts resubscribe with no challenge** (Create). Resubscribe a previously unsubscribed contact to a dotdigital address book without sending a challenge email. Returns a contact object (id, email, optInType, emailType, dataFields, status) and a result status. Required: id (address book ID) and unsubscribedContact containing email.
- **Delete a Dotdigital address book contact by ID** (Delete). Delete a contact from a dotdigital address book by id. Returns an empty 204 response on success. Required: address_book_id, id.
- **List all Dotdigital address book contacts** (List). List contacts in a dotdigital address book or segment. Returns: id, email, optInType, emailType, dataFields, status. Required: address_book_id.
- **Create a Dotdigital address book contact** (Create). Add a contact to a dotdigital address book. Returns the created contact object including id, email, optInType, emailType, dataFields, and status. Required: address_book_id, email.
- **Delete a Dotdigital contacts delete by ID** (Delete). Delete multiple contacts in dotdigital asynchronously using whichever identifier you wish. Returns: id, status. Required: body (array of 1 to 5000 contact identifiers). Max 5000 items per request.
- **Get single Dotdigital contacts delete by ID** (Get). Get the status of a dotdigital delete contacts job and its results if complete. Returns: id. Required: id.
- **Delete a Dotdigital contacts delete all by ID** (Delete). Delete all contacts from a dotdigital address book or list. Returns: id, status. Required: address_book_id. The operation is asynchronous and returns a 202 Accepted response with a job id for tracking.
- **List all Dotdigital contacts with preferences** (List). List dotdigital contacts who are opted into a given preference and belong to a given address book. Returns: id. Required: address_book_id, preference_id.
- **Get single Dotdigital contacts with preference by ID** (Get). Get dotdigital contacts who are opted into a given preference by preference id. Returns: id, email. Required: id.
- **List all Dotdigital with preference opt ins sinces** (List). List up to 1000 dotdigital contacts with a specific preference opt-in modified since a given date. Returns: contact, marketingPreferenceOptIns. Required: preference_id, date, addressBookId. Limited to top 1000 results.
- **Create a Dotdigital import with merge option** (Create). Bulk import contacts into a dotdigital address book with a specified merge option by uploading a base64-encoded file. Returns: id, status. Required: address_book_id, merge_option, filename, data. The merge_option accepts 0 (overwrite all data fields), 1 (skip blank values), or 2 (skip populated fields). Processing is asynchronous — the response returns a job id with status NotFinished.
- **List all Dotdigital surveys** (List). List all dotdigital survey forms in the account. Returns: id, url. Optional filter: assignedToAddressBookOnly. Max 500 results per request.
- **Get single Dotdigital survey by ID** (Get). Get a single dotdigital survey form by its integer id. Returns: id, url, example. Required: id.
- **List all Dotdigital surveys with activity sinces** (List). List dotdigital surveys that have had activity since the specified date. Returns each survey with its id, name, url, state, response totals, completion time statistics, and traffic source breakdowns. Required: date.
- **List all Dotdigital survey fields** (List). List the pages and fields of a dotdigital survey form. Each page has an id, name, and a fields array containing field definitions with type, text, isRequired, choices, and contact data field mapping. Required: survey_id.
- **List all Dotdigital survey responses** (List). List all responses submitted for a specific dotdigital survey form. Returns: id, email, started, dateStarted, complete, dateCompleted, givenAnswers. Required: survey_id.
- **List all Dotdigital responses with activity sinces** (List). List dotdigital survey responses that have changed since a specified date. Returns: id, email, started, dateStarted, complete, dateCompleted, givenAnswers. Required: survey_id, date. The date must be in ISO 8601 format.
- **Dotdigital contacts suppress contacts bulk update** (Update). Suppress a batch of contacts from a dotdigital account, identifying each by id or email address. Returns: suppressed, notFound.
- **List all Dotdigital contacts suppressed sinces** (List). List suppressed dotdigital contacts since a given date, along with the reason for each suppression. Returns: suppressedContact (with id, email, optInType, emailType, status), dateRemoved, and reason. Required: date (ISO 8601 date format).
- **List all Dotdigital preferences** (List). List all dotdigital preferences and preference categories. Returns: id, publicName, privateName, isPreference, order, isPublic, categoryId, preferenceCount, created, lastModified, preferences.
- **Create a Dotdigital preference** (Create). Create a new preference or preference category in dotdigital. Returns: id, publicName, privateName, isPreference, order, isPublic, categoryId, preferenceCount, created, lastModified. Required: publicName, privateName.
- **Update a Dotdigital preference by ID** (Update). Update a dotdigital preference or preference category by id. Returns: id, publicName, privateName, isPreference, order, isPublic, categoryId, lastModified. Required: id, publicName, privateName.
- **Delete a Dotdigital preference by ID** (Delete). Delete a dotdigital preference or preference category by id. Returns a plain text confirmation message. Required: id.
- **List all Dotdigital preferences modified sinces** (List). List dotdigital preferences and preference categories that have been modified since a given date. Returns each item with id, publicName, privateName, isPreference2, isPublic, categoryId, preferenceCount, created, lastModified, and a nested preferences array. Required: date.
- **List all Dotdigital contact preferences** (List). List all dotdigital preference categories for a contact and indicate which individual preferences the contact is opted into. Returns: id, example. Required: contact_identifier.
- **Dotdigital contact preferences bulk update** (Update). Update a dotdigital contact's preference opt-ins by sending an array of preference and preference category objects. Returns: value. Required: contact_identifier.
- **List all Dotdigital whatsapp clouds** (List). List all Cloud WhatsApp Channel configurations for a dotdigital API Space. Returns WhatsApp Cloud channel configuration objects with fields defined by the upstream schema. Filter by configurationStatus, wabaIds, phoneNumbers, or include deleted channels.
- **Create a Dotdigital whatsapp cloud** (Create). Create a new Cloud WhatsApp Channel configuration in dotdigital. Returns an empty 202 Accepted response on success.
- **Get single Dotdigital whatsapp cloud by ID** (Get). Get a WhatsApp Cloud Channel configuration by id from dotdigital. Returns: phoneNumber, wabaId, configurationStatus. Required: id.
- **Dotdigital whatsapp clouds bulk delete** (Delete). Delete a WhatsApp Cloud Channel number configuration in dotdigital permanently. Returns an empty 204 response on success. Required: phone_number. This action cannot be undone.
- **Create a Dotdigital cloud register** (Create). Register a WhatsApp Cloud configuration for a phone number in dotdigital. Returns a registration result object indicating the outcome of the cloud registration attempt. Required: phone_number. The phone number must be in E164 format and associated with a WhatsApp Business Messaging account.
- **List all Dotdigital businessaccount templates** (List). List WhatsApp templates for a specific WhatsApp Business Account (WABA) in dotdigital. Returns the collection of WhatsApp templates associated with the account. Required: waba_id.
- **Get single Dotdigital businessaccount template by ID** (Get). Get a WhatsApp template for a specific WABA in dotdigital by template id. Returns the WhatsApp template object including id and template-specific attributes defined in the upstream whatsAppTemplate schema. Required: waba_id, id.
- **List all Dotdigital analytics conversationmessages** (List). List dotdigital conversation message analytics aggregated by time period. Returns the count of sent, delivered, and read messages for each period bucket. Required: from, to.
- **List all Dotdigital analytics chats** (List). List dotdigital chat analytics for a specific time period, optionally filtered by team or agent and aggregated by time-based or team/agent dimensions. Returns an array of chat analytics records with aggregation-dependent attributes whose fields vary based on the `by` criteria. Required: from, to.
- **List all Dotdigital chats lives** (List). List live chat analytics from dotdigital, optionally filtered by a specific team and aggregated by team or agent. Returns an array of live chat analytics records, each containing attributes with the aggregated metrics. The exact field set is defined by the upstream liveChatAnalytics OpenAPI schema, which is not fully resolved in the discovered source.
- **List all Dotdigital analytics messages** (List). List dotdigital message analytics aggregated over a date range. Returns: counts of sent, delivered, read, inbound, and failed messages plus segments used. Required: from, to.
- **List all Dotdigital messages metrics** (List). List dotdigital message metrics for a specific time period, optionally aggregated by hour, day, month, year, alltime, system, or recipient country code. Returns an array of message metric objects per the ApiProfilingAnalytics schema with schema-specific fields. Required: from, to.
- **List all Dotdigital analytics sessions** (List). List session analytics from dotdigital CPaaS for a given time range, optionally aggregated by hour, day, month, or year. Returns, for each aggregation period, the count of started sessions and the count of explicitly ended sessions. Required: from, to.
- **List all Dotdigital sms trackings** (List). List SMS URL tracking analytics from dotdigital, aggregated by time period. Returns: period, sentUrls, clicks. Required: from, to.
- **List all Dotdigital sms verifies** (List). List SMS verify analytics from dotdigital, aggregated over a time range. Returns an array of analytics records with counts of notVerified, verified, expired, and locked verify calls. Required: from, to.
- **List all Dotdigital sms inbounds** (List). List inbound SMS analytics from dotdigital aggregated over a UTC date range. Returns: datetime, received. Required: from, to.
- **List all Dotdigital sms outbounds** (List). Retrieve outbound SMS analytics from dotdigital, aggregated by time period. Returns an array of analytics records each containing period, submitted, delivered, filtered, and undeliverable message counts. Required: from, to.
- **List all Dotdigital whatsapp conversations** (List). List WhatsApp conversation analytics in dotdigital, aggregated by time period with optional breakdowns by category, direction, type, country, and phone number. Returns: period, conversation, conversation_category, conversation_direction, conversation_type, country, phone. Required: from, to.
- **List all Dotdigital whatsapp dailymessagingusages** (List). List WhatsApp business-initiated conversation analytics for the last 24 hours in dotdigital. Returns an array of daily messaging usage objects containing the counts of marketing, utility, and authentication conversations. Optional: wabaIds.
- **Get single Dotdigital cpaas chat by ID** (Get). Get a specific dotdigital CPaaS chat by id. Returns the full Chat object including its id. Required: id. Optionally set includeDeleted to true to retrieve soft-deleted chats.
- **Update a Dotdigital cpaas chat by ID** (Update). Update a dotdigital CPaaS chat by id. Returns: id. Required: id. An optional if-match ETag header supports optimistic concurrency control.
- **Delete a Dotdigital cpaas chat by ID** (Delete). Delete a dotdigital chat by id. Returns an empty 204 response on success. Required: id.
- **List all Dotdigital cpaas chats** (List). List dotdigital chats with optional filtering by profile, scope, and inclusion of closed or deleted chats. Returns: id.
- **Create a Dotdigital cpaas chat** (Create). Create a new chat in dotdigital CPaaS. Returns the created chat object including id, created_at, and updated_at. A JSON request body with chat details is required. Returns 409 if the chat already exists.
- **Dotdigital cpaas chats bulk update** (Update). Assign a dotdigital chat to an agent by providing assignment details in the request body. Returns the updated chat object including its id. Required: chat_id.
- **Dotdigital chat closes bulk update** (Update). Close a dotdigital CPaaS chat by chat_id. Returns the updated chat object including its id. Required: chat_id.
- **Dotdigital chat channels bulk update** (Update). Change the channel for an existing dotdigital chat. Returns the updated chat object including its id. Required: chat_id. An optional if-match ETag header can be supplied for optimistic concurrency control.
- **Create a Dotdigital chat form** (Create). Send a form to a dotdigital chat by chat id. The request body contains options relating to sending a form to a chat. Returns an empty 200 response on success. Required: chat_id.
- **Create a Dotdigital chat typing** (Create). Send a typing indicator for a dotdigital chat, signalling that the caller is currently typing in that chat. Returns an empty 204 response on success. Required: chat_id.
- **Dotdigital chat typings bulk delete** (Delete). Stop the typing indicator for a dotdigital chat, signalling that the caller has stopped typing in that chat. Returns an empty 204 response on success. Required: chat_id.
- **List all Dotdigital chat participants** (List). List participants of a specific dotdigital chat. Returns each participant's id and attributes. Required: chat_id.
- **List all Dotdigital chat configs** (List). Retrieve the chat configuration for a dotdigital apiSpace. Returns: attributes. No caller-supplied parameters required; the apiSpace is determined by authentication context.
- **Get single Dotdigital config team by ID** (Get). Get the members of a dotdigital chat team by id. Returns the team member details object including id and attributes, where attributes contains the member fields defined by the dotdigital teamMembers schema. Required: id.
- **Delete a Dotdigital config team by ID** (Delete). Delete the configuration for a dotdigital chat team by id. Returns an empty 200 response on success. Required: id.
- **Dotdigital team app messagings bulk update** (Update). Update the App Messaging configuration for a team in dotdigital. Returns the updated appMessagingConfig object. Required: team_id.
- **Dotdigital team app messagings bulk delete** (Delete). Delete the App Messaging configuration for a team in dotdigital. Returns an empty 204 response on success. Required: team_id.
- **Dotdigital team settings bulk update** (Update). Update general settings for a dotdigital chat team. Returns the full updated team settings object as defined in the upstream settings schema. Required: team_id.
- **Dotdigital team settings bulk delete** (Delete). Remove the general settings for a dotdigital chat team. Returns an empty 200 response on success. Required: team_id.
- **Create a Dotdigital messages statusupdate** (Create). Post message status updates back to a dotdigital conversation. Accepts a JSON array of MessageStatusUpdate objects describing the per-message status changes. Required: conversation_id. Returns a 200 success acknowledgment confirming the status updates were received, with no response body.
- **List all Dotdigital cpaas presences** (List). Retrieve presence settings for agent profiles in dotdigital CPaaS by profile id, optionally filtering by current status. Returns: id. Required: id.
- **List all Dotdigital presence appmessagings** (List). List App Messaging presence settings for user profiles in dotdigital by profile id. Returns the presence information for each requested profile. Required: id.
- **Create a Dotdigital cpaas content** (Create). Upload a file to dotdigital CPaaS content storage. Returns the uploaded file object including its id, created_at, and updated_at. Required: a request body with the file details and data.
- **Get single Dotdigital cpaas content by ID** (Get). Retrieve a file from dotdigital CPaaS content storage by id. Returns the file object including its id, created_at, and updated_at. Required: id.
- **Delete a Dotdigital cpaas content by ID** (Delete). Delete a file from dotdigital CPaaS content storage by id. Returns an empty 204 response on success. Required: id.
- **Get single Dotdigital cpaas conversation by ID** (Get). Get a dotdigital CPaaS conversation by id. Returns the conversation object including its id. Required: id.
- **Update a Dotdigital cpaas conversation by ID** (Update). Update a dotdigital CPaaS conversation by id. Returns the updated conversation object including its id. Required: id.
- **Delete a Dotdigital cpaas conversation by ID** (Delete). Delete a dotdigital CPaaS conversation by id. Returns an empty 204 response on success. Required: id.
- **List all Dotdigital cpaas conversations** (List). List dotdigital CPaaS conversations, optionally filtered by scope, profile participation, or deleted status. Returns: id.
- **Create a Dotdigital cpaas conversation** (Create). Create a new dotdigital CPaaS conversation. Returns the created conversation object including its id.
- **Create a Dotdigital conversation typing** (Create). Indicate that the caller is typing in a dotdigital conversation. Returns an empty 204 response on success. Required: conversation_id.
- **Dotdigital conversation typings bulk delete** (Delete). Indicate that the caller has stopped typing in a dotdigital conversation. Returns an empty 204 response on success. Required: conversation_id.
- **List all Dotdigital conversation participants** (List). List all participants in a dotdigital conversation. Returns: id. Required: conversation_id.
- **Create a Dotdigital conversation participant** (Create). Add a list of participants to a dotdigital conversation by sending an array of participant objects. Returns an empty 201 response on success. Required: conversation_id.
- **Dotdigital conversation participants bulk delete** (Delete). Remove a list of participants from a dotdigital conversation by their profile ids. Returns an empty 204 response on success. Required: conversation_id, id.
- **List all Dotdigital sms dedicated numbers** (List). List SMS dedicated phone numbers allocated to your dotdigital account. Returns: number, countryIsoCode.
- **List all Dotdigital sms shortcodes** (List). List SMS shortcodes in dotdigital. Returns: number, keyword, countryIsoCode.
- **List all Dotdigital sms keywords** (List). List SMS keywords in dotdigital. Returns: number, keyword, countryIsoCode.
- **Create a Dotdigital facebook state** (Create). Generate Facebook metadata to help attach a Facebook Messenger ID to a dotdigital CPaaS profile. Returns an encoded string token used for the association. Required: apiSpaceId, profileId.
- **Get single Dotdigital data firehose configuration by ID** (Get). Get a dotdigital Data Firehose configuration by id. Returns: id. Required: id.
- **Update a Dotdigital data firehose configuration by ID** (Update). Update a dotdigital Data Firehose configuration with new details. Returns: id. Required: id.
- **Delete a Dotdigital data firehose configuration by ID** (Delete). Delete a dotdigital Data Firehose configuration by id. Returns an empty 204 response on success. Cannot be deleted while a data sync is in progress (returns 409). Required: id.
- **Create a Dotdigital data firehose configuration** (Create). Create a new dotdigital Data Firehose configuration. Returns: id.
- **Dotdigital configuration status bulk update** (Update). Update the status of a dotdigital Data Firehose configuration by setting it to enabled or disabled. Required: id, new_status. Returns an empty 204 response on success.
- **List all Dotdigital configuration custom identifiers** (List). List all custom identifiers defined for the dotdigital account. Returns: name.
- **Create a Dotdigital configuration custom identifier** (Create). Create a new custom identifier in dotdigital that will be available to identify contacts. Returns: name. Required: name. The name must be less than 50 characters and must not already exist.
- **Dotdigital configuration custom identifiers bulk delete** (Delete). Delete a custom identifier by name in dotdigital if it exists. Returns an empty 204 response on success. Required: name.
- **Get single Dotdigital insight data import by ID** (Get). Get the status and results of a dotdigital Insight data import by id. Returns: importId, status, collectionName, summary, failures. Required: id.
- **Dotdigital insight data imports bulk update** (Update). Bulk import Insight data records into a dotdigital collection, upserting existing or creating new records asynchronously. Returns: importId, status. Required: collectionName, collectionScope, collectionType, records. If targeting a contact-scoped collection, each record must include a contactIdentity. Check import completion by polling the get import status endpoint with the returned importId.
- **Get single Dotdigital insight data async by ID** (Get). Get the status of an asynchronous Insight data job in dotdigital by id, including any results if available. Returns: jobId, status. Required: id. Use this endpoint to poll the progress of async operations such as emptying or deleting collections.
- **List all Dotdigital insight data collections** (List). List all Insight data collections in dotdigital at both account and contact level. Returns: type.
- **Create a Dotdigital insight data collection** (Create). Create an empty Insight data collection in dotdigital. If the collection already exists, a successful result is returned. Returns an empty response on success (201 when created, 200 if already exists). Maximum of 1000 Insight data collections per account. Required: collection_name, collectionScope, collectionType.
- **Dotdigital insight data collections bulk delete** (Delete). Delete an Insight data collection and all its records in dotdigital. The deletion is asynchronous and progress can be monitored via getAsyncStatus. Deleting a contact-scoped collection deletes it for all contacts. Returns: jobId. Required: collection_name.
- **Dotdigital account delete records bulk delete** (Delete). Delete 1 to 5000 records from a dotdigital account scoped Insight Data collection by specifying record keys in the request body. Returns the delete confirmation response with operation attributes. Required: collection_name.
- **Dotdigital collection empties bulk delete** (Delete). Empty all records from a dotdigital Insight data collection without deleting the collection itself, preserving dependencies on product recommendations, campaigns, and segments. Returns: jobId. Required: collection_name. The deletion is asynchronous and progress can be monitored via the async status endpoint.
- **List all Dotdigital collection schemas** (List). Get the JSON schema for a dotdigital Insight data collection by collection name. Returns the collection's schema definition (attributes) that all records added to the collection must adhere to, though records are allowed to extend it. Required: collection_name.
- **List all Dotdigital insight data accounts** (List). List all Insight data collections for a dotdigital account. Returns: _links, _items. Results are paginated.
- **Update a Dotdigital insight data account by ID** (Update). Upsert a record into an account Insight data collection in dotdigital, creating it if it does not exist or replacing it if it does. Returns an empty 201 response on creation or 204 on replacement. Required: collection_name, id.
- **Delete a Dotdigital insight data account by ID** (Delete). Delete a single record from an account Insight data collection in dotdigital. Returns an empty 204 response on success. Required: collection_name, id.
- **Get single Dotdigital insight data account by ID** (Get). Get a single record from an account Insight data collection in dotdigital. Returns: _links, _items. Required: collection_name, id.
- **List all Dotdigital insight data contacts** (List). List Insight data records from a contact-scoped collection in dotdigital. Records are returned in ascending order. Returns: id, name, created, updated, marketSector, users. Required: collection_name. Max 5000 records per page.
- **Update a Dotdigital insight data contact by ID** (Update). Upsert (create or replace) an Insight data record in a contact-scoped Insight data collection for a specific dotdigital contact. The request body is a free-form JSON object whose fields depend on the collection schema. Returns an empty 204 response on success (or 201 when a new record is created). Required: identifier, value, collection_name, id.
- **Delete a Dotdigital insight data contact by ID** (Delete). Delete a single Insight data record from a contact's collection in dotdigital. Returns an empty 204 response on success. Required: identifier, value, collection_name, id.
- **Get single Dotdigital insight data contact by ID** (Get). Retrieve a single Insight data record from a contact's collection in dotdigital. Returns: id, name, created, updated, marketSector, users, _links, _items. Required: identifier, value, collection_name, id.
- **Dotdigital delete records bulk delete** (Delete). Delete 1 to 5000 records from a contact-scoped Insight Data collection in dotdigital in a single call. Returns a confirmation of the bulk delete operation. Required: identifier, value, collection_name, keys.
- **Dotdigital empties bulk delete** (Delete). Empty all records from a specified Insight data collection for a single contact in dotdigital. The collection itself is not deleted, so new data can be added without affecting data dependencies. The deletion is asynchronous and can be monitored via getAsyncStatus. Returns: jobId. Required: identifier, value, collection_name.
- **Create a Dotdigital events import** (Create). Import a batch of events associated to contacts in dotdigital. The request body is a JSON array of 1–5000 event objects processed asynchronously. Returns a 202 Accepted response with no body, indicating the import is being processed. Required: body.
- **Get single Dotdigital events export by ID** (Get). Retrieve a set of queued events from a dotdigital events subscription by id. Returns: checkPoint, events. Omit checkPoint on the first call to get the earliest queued events; pass the returned checkPoint on subsequent calls to page through newer events. Required: id. Maximum call duration is 30 seconds; subscriptions not polled within 30 days are automatically set to inactive.
- **List all Dotdigital export subscriptions** (List). List all dotdigital events subscriptions and their details. Returns: id, name, status, subscribedEventTypes, alertsConfiguration, created, updated.
- **Create a Dotdigital export subscription** (Create). Create a dotdigital events subscription. The name must be unique within the account's subscriptions; all filters on an event type must match (logical AND). Returns: id, status, subscribedEventTypes, alertsConfiguration, created, updated, name. Required: name, status, subscribedEventTypes, alertsConfiguration.
- **Get single Dotdigital export subscription by ID** (Get). Get a single dotdigital events subscription by id. Returns: id, name, status, subscribedEventTypes, alertsConfiguration, created, updated. Required: id.
- **Update a Dotdigital export subscription by ID** (Update). Update a dotdigital events subscription by id with new details. All filters on an event type must match (logical AND). Returns: id, name. Required: id, name, status, subscribedEventTypes, alertsConfiguration.
- **Delete a Dotdigital export subscription by ID** (Delete). Delete a dotdigital events subscription by id. Once deleted it cannot be restored — this is a destructive call. Returns an empty 204 response on success. Required: id.
- **Get single Dotdigital events lob by ID** (Get). Get a large object (LOB) from dotdigital events by id. Returns the binary large object data; the content-type header indicates the data type. Required: id.
- **Create a Dotdigital marketing email send** (Create). Send a marketing email in dotdigital via raw HTML or a triggered campaign template. Returns a 201 response with no body on success. Required: to, from, content. Marketing emails must include the '$UNSUB$' unsubscribe token; email marketing status is checked for known addresses and contacts are created for unknown ones.
- **Create a Dotdigital marketing email batch** (Create). Send a batch of marketing emails in dotdigital. Unsubscribed or suppressed contacts are skipped; unknown addresses are created as contacts. Returns a 201 response confirming the email batch was accepted. Required: body (array of email request objects, minimum 1 item, each with to, from, and content). HTML content must include an unsubscribe link ($UNSUB$ token).
- **List all Dotdigital cpaas profiles** (List). List dotdigital CPaaS profiles matching the search criteria. Returns: id. The query uses mongo-querystring syntax; numeric strings can be wrapped in single quotes to prevent interpretation as numbers.
- **Dotdigital cpaas profiles bulk update** (Update). Create or update multiple dotdigital CPaaS profiles in a single request. Returns an empty 200 response on success.
- **Dotdigital cpaas profiles bulk delete** (Delete). Delete multiple dotdigital CPaaS profiles by id. Returns an empty 200 response on success. Required: id.
- **Get single Dotdigital cpaas profile by ID** (Get). Get a single dotdigital CPaaS profile by id. Returns: id. Required: id.
- **Update a Dotdigital cpaas profile by ID** (Update). Update or undelete a dotdigital CPaaS profile by id. Returns: id. Underscore (_) characters are not allowed in profile field names. Required: id.
- **Delete a Dotdigital cpaas profile by ID** (Delete). Delete a dotdigital CPaaS profile by id. Returns an empty 204 response on success. Required: id.
- **Create a Dotdigital cpaas profile** (Create). Create a new dotdigital CPaaS profile with custom fields. Returns the created profile including its id and all custom profile fields. Underscore (_) characters are not allowed in profile field names.
- **Dotdigital cpaas profiles partial update** (Update). Partially update a dotdigital CPaaS profile by id, changing only the supplied properties while leaving others intact. Returns the updated profile including its id and all custom profile fields. Required: id and a profile body. Underscore (_) characters are not allowed in profile field names.
- **List all Dotdigital automation inboundrules** (List). List dotdigital inbound rule configurations. Returns the configuration objects with schema-defined fields.
- **Create a Dotdigital automation inboundrule** (Create). Create a dotdigital inbound rule configuration. Returns the created configuration object with schema-defined fields.
- **Get single Dotdigital automation inboundrule by ID** (Get). Get a single dotdigital inbound rule configuration by id. Returns the configuration object with schema-defined fields. Required: id.
- **Update a Dotdigital automation inboundrule by ID** (Update). Update a dotdigital inbound rule configuration by id. Returns the updated configuration object with schema-defined fields. Required: id.
- **Delete a Dotdigital automation inboundrule by ID** (Delete). Delete a dotdigital inbound rule configuration by id. Returns an empty 204 response on success. Required: id.
- **Create a Dotdigital message status** (Create). Post a status for a dotdigital message. Returns the created message status object confirming the status was received. Required: message_id, status. Valid status values: failed, delivered, read, expired, sent, filtered.
- **Get single Dotdigital cpaas message by ID** (Get). Get a specific CPaaS message in dotdigital by id. Returns the message details including its id. Required: id.
- **Update a Dotdigital cpaas message by ID** (Update). Patch a CPaaS message in dotdigital by id. Returns an empty 202 response on success. Required: id, a request body with patch options.
- **Delete a Dotdigital cpaas message by ID** (Delete). Delete a CPaaS message in dotdigital by id. Returns an empty 204 response on success. Required: id.
- **Create a Dotdigital cpaas message** (Create). Send a new CPaaS message in dotdigital. Returns the created message object including its id. Required: a request body with message details and options.
- **Create a Dotdigital messages batch** (Create). Send a batch of outbound omnichannel messages in one call. The request body is an ARRAY of message objects. Returns an array of {index, messageId} pairs, where index is the 0-based position in the submitted batch. Required per message: to, rules. Max 5000 messages or 50MB per call.
- **Create a Dotdigital messages inbound** (Create). Post an inbound message to dotdigital CPaaS. Returns the accepted inbound message object including its id and message attributes. The request body (InboundMessage schema) is required.
- **Create a Dotdigital inbound status** (Create). Post a delivery or read status for an inbound message in dotdigital. Returns the inbound message object including its id. Required: inbound_message_id, status. Valid status values: delivered, read.
- **List all Dotdigital phonevalidation singles** (List). Validate a single phone number in dotdigital. Returns a validation result object with details about the submitted number. Required: phoneNumber. Provide countryCode when the number is in local format.
- **Dotdigital cpaas phonevalidations bulk list** (List). List bulk phone number validation jobs in dotdigital. Returns an array of JobDetails objects, each containing the job's jobId and status. No required parameters.
- **Dotdigital cpaas phonevalidations bulk create** (Create). Queue a bulk phone number validation job in dotdigital by uploading a CSV file of phone numbers to validate. Returns the unique job identifier as an integer for tracking the asynchronous validation job. Required: file. Only one file per call is allowed; the job runs asynchronously.
- **Get single Dotdigital phonevalidation bulk by ID** (Get). Get the details and current status of a dotdigital bulk phone number validation job by its job id. Returns: id. Required: id.
- **List all Dotdigital results** (List). Get the results CSV file of a successful bulk phone number validation job in dotdigital. Returns a CSV file with columns including Phone Number, Status, MCCMNC, Network Name, Is Ported, and Roaming details. Required: job_id. Failed or incomplete jobs return no data.
- **Create a Dotdigital profiles export** (Create). Export dotdigital profile query results as a formatted file for download. Returns the exported data in the requested format. For CSV exports, only primitive types are included; nested fields must be referenced explicitly (e.g., address.line1). No required parameters.
- **Dotdigital profile optins bulk update** (Update). Set opt-in preferences for specified channels on a dotdigital CPaaS profile. Returns the full profile with updated opt-in settings. Required: id.
- **Dotdigital profile optins bulk delete** (Delete). Opt out a dotdigital profile from specified channels by removing its opt-in settings. Returns the full profile object with updated opt-in settings. Required: id.
- **Update a Dotdigital rels primary by ID** (Update). Create a primary profile relationship in dotdigital where the linked profile is the primary and this profile is a child. Returns the updated profile object including its id and profile-specific attributes. Required: id, linked_id.
- **Delete a Dotdigital rels primary by ID** (Delete). Delete a dotdigital profile's relationship to its primary profile. Returns the updated profile object including its id and profile-specific attributes. Required: id, linked_id.
- **Update a Dotdigital rels link by ID** (Update). Create a relationship link in dotdigital where the primary profile is the parent and the linked profile becomes a child. Returns: id. Required: id, linked_id.
- **Delete a Dotdigital rels link by ID** (Delete). Delete a profile relationship link in dotdigital, removing the primary profile's parent relationship to the linked child profile. Returns: id. Required: id, linked_id.
- **Delete a Dotdigital profile device by ID** (Delete). Remove a device from a dotdigital profile and close related open sessions. Returns an empty 204 response on success. Required: api_space_id, id, device_id.
- **Create a Dotdigital push validation** (Create). Validate push notification capabilities for dotdigital profiles by submitting a list of profile IDs to query. Returns the push capabilities summary object. Required: api_space_id.
- **List all Dotdigital profiles optins** (List). Get the default profile opt-in/out options for each channel in the dotdigital CPaaS channel service. Returns a map of channel names to boolean opt-in values where true means default opt in and false means default opt out.
- **Dotdigital profiles optins bulk update** (Update). Set the default profile opt-in/out options for each channel in the dotdigital CPaaS channel service. Returns the updated map of channel names to boolean opt-in values where true means default opt in and false means default opt out.
- **List all Dotdigital tokens anons** (List). Get an anonymous session token in dotdigital that can be used to start an anonymous session. Returns: token. Required: id, nonce.
- **Get single Dotdigital cpaas session by ID** (Get). Get details about a specific dotdigital CPaaS session by id. Returns: id. Required: id.
- **Delete a Dotdigital cpaas session by ID** (Delete). Delete a dotdigital CPaaS session by id, ending the session and revoking access to services. Returns an empty 204 response on success. Required: id.
- **List all Dotdigital cpaas templates** (List). List all available dotdigital CPaaS templates. Returns each template with id and attributes containing the full template fields as defined in the dotdigital OpenAPI templateFull schema.
- **Create a Dotdigital cpaas template** (Create). Create a new dotdigital CPaaS template by supplying template details in the request body. Returns the created template with id and attributes containing the full template fields as defined in the dotdigital OpenAPI templateFull schema.
- **Get single Dotdigital cpaas template by ID** (Get). Get a single dotdigital CPaaS template by id. Returns the template with id and attributes containing the full template fields as defined in the dotdigital OpenAPI templateFull schema. Required: id.
- **Update a Dotdigital cpaas template by ID** (Update). Update a dotdigital CPaaS template by id, supplying updated template details in the request body. Returns the updated template with id and attributes containing the full template fields as defined in the dotdigital OpenAPI templateFull schema. Required: id.
- **Delete a Dotdigital cpaas template by ID** (Delete). Delete a dotdigital CPaaS template by id. Returns an empty 204 response on success. Required: id.
- **List all Dotdigital cpaas webhooks** (List). List dotdigital webhook configurations for the account. Returns each configuration's id, macBatchSize, and batchTimeout. Set includeDeleted to true to also return deleted webhook configurations.
- **Create a Dotdigital cpaas webhook** (Create). Create a new dotdigital webhook configuration and start streaming events. Batching is encouraged — a batch is sent when the number of events reaches macBatchSize or after batchTimeout seconds, whichever occurs first. Returns: id, url, secret, subscriptions, batch, name. Required: name, url.
- **Get single Dotdigital cpaas webhook by ID** (Get). Get a single dotdigital webhook configuration by id. Returns: id, name, url, secret, subscriptions, batch. Set includeDeleted to true to also retrieve deleted webhook configurations. Required: id.
- **Update a Dotdigital cpaas webhook by ID** (Update). Update an individual dotdigital webhook configuration by id. Returns: id, name, url, secret, subscriptions, batch. Required: id, name, url.
- **Delete a Dotdigital cpaas webhook by ID** (Delete). Delete a dotdigital webhook by id. Returns an empty 204 response on success. Required: id.
- **List all Dotdigital webhooks availableevents** (List). List available dotdigital webhook events you can subscribe to, along with optional filters for refining event selection. Returns the available events and their optional filters; set includeSchemas to true to also receive schema information for each event.
- **List all Dotdigital webhooks availabletemplates** (List). List available webhook event templates in dotdigital that can be used when creating a webhook. Event templates are pre-defined groups of events covering common use-cases. Returns: name, description, events.
- **List all Dotdigital chat messages** (List). List dotdigital chat messages for a specific chat, retrieving messages from a point in time and working backwards through chat events. Returns: id. Required: chat_id.
- **Create a Dotdigital chat message** (Create). Send a message to a dotdigital chat. The request body contains the message details to send, and the response confirms the message was successfully sent. Required: chat_id.
- **List all Dotdigital chat events** (List). List events for a dotdigital chat, reading forward from a given event id. Returns an array of MessageEvent objects including id and event-specific attributes. Required: chat_id.
- **List all Dotdigital conversation messages** (List). List dotdigital conversation messages, working backwards from a given event in time. Returns partial and complete messages aggregated from the conversation events. Required: conversation_id. Max 100 messages per page.
- **Create a Dotdigital conversation message** (Create). Send a message into an existing dotdigital conversation. Returns the created message id and the event id it occupies in the conversation stream. Required: conversation_id. Required in body: parts.
- **List all Dotdigital conversation events** (List). List conversation events for a dotdigital conversation by reading forward from a specified event id. Returns: id. Required: conversation_id.
- **List all Dotdigital address book contact scores** (List). List contact scoring for contacts within a specific dotdigital address book or segment. Returns: contactId, email, dateModified, scoreLabel, score, engagement, suitability. Required: address_book_id. Max 1000 records per page.
- **List all Dotdigital insight data accounts by collection** (List). List all records from a dotdigital Insight data account-level collection. Returns: id, name, created, updated, marketSector, users. Required: collection_name. All data is returned in ascending order.
- **List all Dotdigital insight data contacts by identifier** (List). Get a dotdigital contact's details by a specific identifier (contactId, email, mobileNumber, or a custom identifier). Returns the contact object including contactId, identifiers, dataFields, and status. Required: identifier, value. The value must match the type of the identifier.
- **List all Dotdigital insight data contacts by collection** (List). List insight data records for a specific dotdigital contact within a named collection. Returns: id, name, created, updated, marketSector, users. Required: identifier, value, collection_name.
