Dotdigital Campaign Templates API

The Campaign Templates API from Dotdigital — 2 operation(s) for campaign templates.

Operations 4

POST /v2/templates Create template #
GET /v2/templates Get templates #
GET /v2/templates/{id} Get template by id #
PUT /v2/templates/{id} Update template #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dotdigital-campaign-templates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dotdigital-campaign-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Campaign Templates API
  description: 'Create, retrieve, and update reusable email campaign templates. Use this API to

    create templates with HTML and plain-text content, list all templates with

    pagination, fetch a specific template by ID, and update an existing template''s

    name, subject, from name, and content.'
  version: 2.0.1
servers:
- url: https://{region}-api.dotdigital.com
  variables:
    region:
      default: r1
      enum:
      - r1
      - r2
      - r3
      description: The Dotdigital region id your account belongs to
security:
- basicAuth: []
tags:
- name: Campaign Templates
paths:
  /v2/templates:
    parameters:
    - in: header
      name: x-ddg-integration-token
      required: false
      description: If you are a partner of Dotdigital and have a [verified integration](https://developer.dotdigital.com/docs/partner-integration-verification) then include your [integration tracking token](https://developer.dotdigital.co/docs/verified-integration-tracking) here.
      schema:
        type: string
        pattern: /^(?:\{{0,1}(?:[0-9a-fA-F]){8}-(?:[0-9a-fA-F]){4}-(?:[0-9a-fA-F]){4}-(?:[0-9a-fA-F]){4}-(?:[0-9a-fA-F]){12}\}{0,1})$/
        example: 5a96bc79-19a7-4544-973b-e2da0c9136f9
    post:
      summary: Create template
      deprecated: false
      description: Creates an email campaign template
      operationId: create-template
      tags:
      - Campaign Templates
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - subject
              - fromName
              - htmlContent
              - plainTextContent
              properties:
                name:
                  type: string
                  description: The name of the template being created
                subject:
                  type: string
                  description: The email subject line of the template
                fromName:
                  type: string
                  description: The from name of the template
                htmlContent:
                  type: string
                  description: The HTML content of the template
                plainTextContent:
                  type: string
                  description: The plain text content of the template
            examples:
              Request Example:
                value:
                  name: New product promotion 2
                  subject: New product!
                  fromName: Company name
                  htmlContent: '

                    <!-- Easy Editor -->

                    <table width="100%" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="ee_resizable ee_mobiletemplate" data-dmtmp="true">

                    <tbody>

                    <tr>

                    <td align="center" bgcolor="#ffffff" cellpadding="0" cellspacing="0">

                    <table width="600" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="eem_mainouterzone">

                    <tbody>

                    <tr>

                    <td bgcolor="#ffffff" class="ee_dropzone" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" align="left">

                    <table width="100%" cellpadding="0" cellspacing="0" style="width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;" class="ee_element" bgcolor="#ffffff">

                    <tbody>

                    <tr>

                    <td align="left" style="padding: 0px; width: 600px;" class=""><div class="ee_editable"><font style="font-family: ''trebuchet ms'', verdana, arial, sans-serif; font-size: 13px;"><a href="http://$UNSUB$" style="color: black;"> Unsubscribe from this newsletter</a></font> </div></td>

                    </tr>

                    </tbody>

                    </table>

                    </td>

                    </tr>

                    </tbody>

                    </table>

                    </td>

                    </tr>

                    </tbody>

                    </table>'
                  plainTextContent: '


                    ---

                    Want to unsubscribe? $UNSUB$'
                summary: Request Example
      responses:
        '201':
          description: '201'
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 4
                  name:
                    type: string
                    examples:
                    - New product promotion 2
                  subject:
                    type: string
                    examples:
                    - New product!
                  fromName:
                    type: string
                    examples:
                    - Company name
                  htmlContent:
                    type: string
                    examples:
                    - '

                      <!-- Easy Editor -->

                      <table width="100%" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="ee_resizable ee_mobiletemplate" data-dmtmp="true">

                      <tbody>

                      <tr>

                      <td align="center" bgcolor="#ffffff" cellpadding="0" cellspacing="0">

                      <table width="600" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="eem_mainouterzone">

                      <tbody>

                      <tr>

                      <td bgcolor="#ffffff" class="ee_dropzone" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" align="left">

                      <table width="100%" cellpadding="0" cellspacing="0" style="width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;" class="ee_element" bgcolor="#ffffff">

                      <tbody>

                      <tr>

                      <td align="left" style="padding: 0px; width: 600px;" class=""><div class="ee_editable"><font style="font-family: ''trebuchet ms'', verdana, arial, sans-serif; font-size: 13px;"><a href="http://$UNSUB$" style="color: black;"> Unsubscribe from this newsletter</a></font> </div></td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>'
                  plainTextContent:
                    type: string
                    examples:
                    - '


                      ---

                      Want to unsubscribe? $UNSUB$'
                  replyAction:
                    type: string
                    examples:
                    - Unset
                  replyToAddress:
                    type: string
                    examples:
                    - ''
              examples:
                Result:
                  summary: Result
                  value:
                    id: 4
                    name: New product promotion 2
                    subject: New product!
                    fromName: Company name
                    htmlContent: '

                      <!-- Easy Editor -->

                      <table width="100%" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="ee_resizable ee_mobiletemplate" data-dmtmp="true">

                      <tbody>

                      <tr>

                      <td align="center" bgcolor="#ffffff" cellpadding="0" cellspacing="0">

                      <table width="600" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="eem_mainouterzone">

                      <tbody>

                      <tr>

                      <td bgcolor="#ffffff" class="ee_dropzone" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" align="left">

                      <table width="100%" cellpadding="0" cellspacing="0" style="width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;" class="ee_element" bgcolor="#ffffff">

                      <tbody>

                      <tr>

                      <td align="left" style="padding: 0px; width: 600px;" class=""><div class="ee_editable"><font style="font-family: ''trebuchet ms'', verdana, arial, sans-serif; font-size: 13px;"><a href="http://$UNSUB$" style="color: black;"> Unsubscribe from this newsletter</a></font> </div></td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>'
                    plainTextContent: '


                      ---

                      Want to unsubscribe? $UNSUB$'
                    replyAction: Unset
                    replyToAddress: ''
    get:
      summary: Get templates
      deprecated: false
      description: Gets a list of all email campaign templates
      operationId: get-templates
      tags:
      - Campaign Templates
      parameters:
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name:
                      type: string
                      examples:
                      - Monthly newsletter Dec 2015
                    subject:
                      type: string
                      examples:
                      - Monthly newsletter
                    fromName:
                      type: string
                      examples:
                      - Company name
                    htmlContent: {}
                    plainTextContent: {}
                    replyAction:
                      type: string
                      examples:
                      - Unset
                    replyToAddress: {}
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: Monthly newsletter Dec 2015
                    subject: Monthly newsletter
                    fromName: Company name
                    htmlContent: null
                    plainTextContent: null
                    replyAction: Unset
                    replyToAddress: null
                  - id: 2
                    name: Financial update
                    subject: Financial update
                    fromName: Company name
                    htmlContent: null
                    plainTextContent: null
                    replyAction: Unset
                    replyToAddress: null
                  - id: 3
                    name: New product promotion
                    subject: New product!
                    fromName: Company name
                    htmlContent: null
                    plainTextContent: null
                    replyAction: WebMailForward
                    replyToAddress: shop@company-name123.com
  /v2/templates/{id}:
    parameters:
    - in: header
      name: x-ddg-integration-token
      required: false
      description: If you are a partner of Dotdigital and have a [verified integration](https://developer.dotdigital.com/docs/partner-integration-verification) then include your [integration tracking token](https://developer.dotdigital.co/docs/verified-integration-tracking) here.
      schema:
        type: string
        pattern: /^(?:\{{0,1}(?:[0-9a-fA-F]){8}-(?:[0-9a-fA-F]){4}-(?:[0-9a-fA-F]){4}-(?:[0-9a-fA-F]){4}-(?:[0-9a-fA-F]){12}\}{0,1})$/
        example: 5a96bc79-19a7-4544-973b-e2da0c9136f9
    get:
      summary: Get template by id
      deprecated: false
      description: Gets an email campaign template by id
      operationId: get-template-by-id
      tags:
      - Campaign Templates
      parameters:
      - name: id
        in: path
        description: The id of the email campaign template
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - New product promotion
                  subject:
                    type: string
                    examples:
                    - New product!
                  fromName:
                    type: string
                    examples:
                    - Company name
                  htmlContent:
                    type: string
                    examples:
                    - '

                      <!-- Easy Editor -->

                      <table width="100%" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="ee_resizable ee_mobiletemplate" data-dmtmp="true">

                      <tbody>

                      <tr>

                      <td align="center" bgcolor="#ffffff" cellpadding="0" cellspacing="0">

                      <table width="600" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="eem_mainouterzone">

                      <tbody>

                      <tr>

                      <td bgcolor="#ffffff" class="ee_dropzone" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" align="left">

                      <table width="100%" cellpadding="0" cellspacing="0" style="width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;" class="ee_element" bgcolor="#ffffff">

                      <tbody>

                      <tr>

                      <td align="left" style="padding: 0px; width: 600px;" class=""><div class="ee_editable"><font style="font-family: ''trebuchet ms'', verdana, arial, sans-serif; font-size: 13px;"><a href="http://$UNSUB$" style="color: black;"> Unsubscribe from this newsletter</a></font> </div></td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>'
                  plainTextContent:
                    type: string
                    examples:
                    - '


                      ---

                      Want to unsubscribe? $UNSUB$'
                  replyAction:
                    type: string
                    examples:
                    - WebMailForward
                  replyToAddress:
                    type: string
                    examples:
                    - shop@company-name123.com
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: New product promotion
                    subject: New product!
                    fromName: Company name
                    htmlContent: '

                      <!-- Easy Editor -->

                      <table width="100%" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="ee_resizable ee_mobiletemplate" data-dmtmp="true">

                      <tbody>

                      <tr>

                      <td align="center" bgcolor="#ffffff" cellpadding="0" cellspacing="0">

                      <table width="600" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="eem_mainouterzone">

                      <tbody>

                      <tr>

                      <td bgcolor="#ffffff" class="ee_dropzone" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" align="left">

                      <table width="100%" cellpadding="0" cellspacing="0" style="width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;" class="ee_element" bgcolor="#ffffff">

                      <tbody>

                      <tr>

                      <td align="left" style="padding: 0px; width: 600px;" class=""><div class="ee_editable"><font style="font-family: ''trebuchet ms'', verdana, arial, sans-serif; font-size: 13px;"><a href="http://$UNSUB$" style="color: black;"> Unsubscribe from this newsletter</a></font> </div></td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>'
                    plainTextContent: '


                      ---

                      Want to unsubscribe? $UNSUB$'
                    replyAction: WebMailForward
                    replyToAddress: shop@company-name123.com
    put:
      summary: Update template
      deprecated: false
      description: Creates an email campaign template
      operationId: update-template
      tags:
      - Campaign Templates
      parameters:
      - name: id
        in: path
        description: The id of the template being updated
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - subject
              - fromName
              - htmlContent
              - plainTextContent
              properties:
                name:
                  type: string
                  description: The name of the template being created
                subject:
                  type: string
                  description: The email subject line of the template
                fromName:
                  type: string
                  description: The from name of the template
                htmlContent:
                  type: string
                  description: The HTML content of the template
                plainTextContent:
                  type: string
                  description: The plain text content of the template
            examples:
              Request Example:
                value:
                  name: New product promotion
                  subject: New product!
                  fromName: Company name
                  htmlContent: '

                    <!-- Easy Editor -->

                    <table width="100%" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="ee_resizable ee_mobiletemplate" data-dmtmp="true">

                    <tbody>

                    <tr>

                    <td align="center" bgcolor="#ffffff" cellpadding="0" cellspacing="0">

                    <table width="600" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="eem_mainouterzone">

                    <tbody>

                    <tr>

                    <td bgcolor="#ffffff" class="ee_dropzone" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" align="left">

                    <table width="100%" cellpadding="0" cellspacing="0" style="width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;" class="ee_element" bgcolor="#ffffff">

                    <tbody>

                    <tr>

                    <td align="left" style="padding: 0px; width: 600px;" class=""><div class="ee_editable"><font style="font-family: ''trebuchet ms'', verdana, arial, sans-serif; font-size: 13px;"><a href="http://$UNSUB$" style="color: black;"> Unsubscribe from this newsletter</a></font> </div></td>

                    </tr>

                    </tbody>

                    </table>

                    </td>

                    </tr>

                    </tbody>

                    </table>

                    </td>

                    </tr>

                    </tbody>

                    </table>'
                  plainTextContent: '


                    ---

                    Want to unsubscribe? $UNSUB$'
                summary: Request Example
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 4
                  name:
                    type: string
                    examples:
                    - New product promotion 2
                  subject:
                    type: string
                    examples:
                    - Brand new product released!
                  fromName:
                    type: string
                    examples:
                    - Company name
                  htmlContent:
                    type: string
                    examples:
                    - '

                      <!-- Easy Editor -->

                      <table width="100%" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="ee_resizable ee_mobiletemplate" data-dmtmp="true">

                      <tbody>

                      <tr>

                      <td align="center" bgcolor="#ffffff" cellpadding="0" cellspacing="0">

                      <table width="600" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="eem_mainouterzone">

                      <tbody>

                      <tr>

                      <td bgcolor="#ffffff" class="ee_dropzone" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" align="left">

                      <table width="100%" cellpadding="0" cellspacing="0" style="width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;" class="ee_element" bgcolor="#ffffff">

                      <tbody>

                      <tr>

                      <td align="left" style="padding: 0px; width: 600px;" class=""><div class="ee_editable"><font style="font-family: ''trebuchet ms'', verdana, arial, sans-serif; font-size: 13px;"><a href="http://$UNSUB$" style="color: black;"> Unsubscribe from this newsletter</a></font> </div></td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>'
                  plainTextContent:
                    type: string
                    examples:
                    - '


                      ---

                      Want to unsubscribe? $UNSUB$'
                  replyAction:
                    type: string
                    examples:
                    - Unset
                  replyToAddress:
                    type: string
                    examples:
                    - ''
              examples:
                Result:
                  summary: Result
                  value:
                    id: 4
                    name: New product promotion 2
                    subject: Brand new product released!
                    fromName: Company name
                    htmlContent: '

                      <!-- Easy Editor -->

                      <table width="100%" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="ee_resizable ee_mobiletemplate" data-dmtmp="true">

                      <tbody>

                      <tr>

                      <td align="center" bgcolor="#ffffff" cellpadding="0" cellspacing="0">

                      <table width="600" border="0" cellspacing="0" cellpadding="0" style="table-layout: auto;" class="eem_mainouterzone">

                      <tbody>

                      <tr>

                      <td bgcolor="#ffffff" class="ee_dropzone" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" align="left">

                      <table width="100%" cellpadding="0" cellspacing="0" style="width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;" class="ee_element" bgcolor="#ffffff">

                      <tbody>

                      <tr>

                      <td align="left" style="padding: 0px; width: 600px;" class=""><div class="ee_editable"><font style="font-family: ''trebuchet ms'', verdana, arial, sans-serif; font-size: 13px;"><a href="http://$UNSUB$" style="color: black;"> Unsubscribe from this newsletter</a></font> </div></td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>

                      </td>

                      </tr>

                      </tbody>

                      </table>'
                    plainTextContent: '


                      ---

                      Want to unsubscribe? $UNSUB$'
                    replyAction: Unset
                    replyToAddress: ''
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
externalDocs:
  description: Learn more about Dotdigital APIs
  url: https://developer.dotdigital.com
x-readme:
  headers: []
  explorer-enabled: true
  proxy-enabled: true
x-readme-fauxas: true
x-samples-languages:
- curl
- csharp
- java
- javascript
- node
- python
- php
- ruby