ActiveCampaign Templates API

The Templates API from ActiveCampaign — 1 operation(s) for templates.

Operations 6

GET /templates/{id} ActiveCampaign Retrieve a Template #
GET /channel/whatsapp/channels/whatsapp/template List WhatsApp Templates #
GET /channel/whatsapp/channels/whatsapp/template/{id} Get WhatsApp Template #
PUT /channel/whatsapp/channels/whatsapp/template/{id} Update WhatsApp Template #
DELETE /channel/whatsapp/channels/whatsapp/template/{id} Delete WhatsApp Template #
POST /channel/whatsapp/channels/whatsapp/template/{id}/send Send a WhatsApp Template #

Documentation

Specifications

Schemas & Data

Other Resources

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/activecampaign-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

activecampaign-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Activecampaign Templates API
  x-refined-note:
  - x-generated-from differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged Templates across 2 of this provider''s published API definitions: activecampaign-templates-api-openapi.yml, activecampaign-whatsapp-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://{yourAccountName}.api-us1.com/api/3
  description: US-based Users
  variables:
    yourAccountName:
      default: yourAccountName
- url: https://{youraccountname}.api-us1.com/api/3
  description: Production Server
tags:
- name: Templates
paths:
  /templates/{id}:
    servers:
    - url: https://{yourAccountName}.api-us1.com/api/3
      description: US-based Users
      variables:
        yourAccountName:
          default: yourAccountName
    get:
      summary: ActiveCampaign Retrieve a Template
      description: ''
      operationId: retrieve-a-template
      parameters:
      - name: id
        in: path
        description: ID of the template to retrieve
        schema:
          type: integer
          format: int32
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n    \"template\": {\n        \"userid\": \"1\",\n        \"ed_instanceid\": \"0\",\n        \"ed_version\": \"0\",\n        \"name\": \"Test 2\",\n        \"subject\": null,\n        \"content\": \"sdsf\",\n        \"categoryid\": \"1\",\n        \"used\": \"1\",\n        \"waitpreview\": \"1\",\n        \"importnum\": \"0\",\n        \"mdate\": \"2018-08-28 11:54:54\",\n        \"preview_content\": null,\n        \"modified\": \"1\",\n        \"hidden\": \"0\",\n        \"links\": [],\n        \"id\": \"2\"\n    }\n}"
              schema:
                type: object
                properties:
                  template:
                    type: object
                    properties:
                      userid:
                        type: string
                        example: '1'
                      ed_instanceid:
                        type: string
                        example: '0'
                      ed_version:
                        type: string
                        example: '0'
                      name:
                        type: string
                        example: Test 2
                      subject: {}
                      content:
                        type: string
                        example: sdsf
                      categoryid:
                        type: string
                        example: '1'
                      used:
                        type: string
                        example: '1'
                      waitpreview:
                        type: string
                        example: '1'
                      importnum:
                        type: string
                        example: '0'
                      mdate:
                        type: string
                        example: '2018-08-28 11:54:54'
                      preview_content: {}
                      modified:
                        type: string
                        example: '1'
                      hidden:
                        type: string
                        example: '0'
                      links:
                        type: array
                      id:
                        type: string
                        example: '2'
        '404':
          description: '404'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n    \"message\": \"No Result found for Template with id 10\"\n}"
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: No Result found for Template with id 10
      deprecated: false
      tags:
      - Templates
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiToken: []
  /channel/whatsapp/channels/whatsapp/template:
    servers:
    - url: https://{youraccountname}.api-us1.com/api/3
      description: Production Server
    get:
      operationId: List WhatsApp Templates
      description: Lists WhatsApp Templates. You can search with the `name` and `status` fields using the `?seach=my-template-name` query parameter.
      summary: List WhatsApp Templates
      parameters:
      - in: query
        name: category
        schema:
          type: string
          enum:
          - ACCOUNT_UPDATE
          - ALERT_UPDATE
          - APPOINTMENT_UPDATE
          - AUTHENTICATION
          - AUTO_REPLY
          - ISSUE_RESOLUTION
          - MARKETING
          - OTP
          - PAYMENT_UPDATE
          - PERSONAL_FINANCE_UPDATE
          - RESERVATION_UPDATE
          - SHIPPING_UPDATE
          - TICKET_UPDATE
          - TRANSACTIONAL
          - TRANSPORTATION_UPDATE
          - UTILITY
        description: '* `ACCOUNT_UPDATE` - Account Update

          * `PAYMENT_UPDATE` - Payment Update

          * `PERSONAL_FINANCE_UPDATE` - Personal Finance Update

          * `SHIPPING_UPDATE` - Shipping Update

          * `RESERVATION_UPDATE` - Reservation Update

          * `ISSUE_RESOLUTION` - Issue Resolution

          * `APPOINTMENT_UPDATE` - Appointment Update

          * `TRANSPORTATION_UPDATE` - Transportation Update

          * `TICKET_UPDATE` - Ticket Update

          * `ALERT_UPDATE` - Alert Update

          * `AUTO_REPLY` - Auto Reply

          * `TRANSACTIONAL` - Transactional

          * `MARKETING` - Marketing

          * `OTP` - Otp

          * `AUTHENTICATION` - Authentication

          * `UTILITY` - Utility'
      - in: query
        name: category__in
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: channel
        schema:
          type: integer
      - in: query
        name: channel__in
        schema:
          type: array
          items:
            type: integer
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: status
        schema:
          type: string
          enum:
          - approved
          - deleted
          - disabled
          - draft
          - in_appeal
          - pending
          - pending_deletion
          - rejected
          - submitted
        description: '* `draft` - Draft

          * `approved` - Approved

          * `in_appeal` - In Appeal

          * `pending` - Pending

          * `rejected` - Rejected

          * `pending_deletion` - Pending Deletion

          * `deleted` - Deleted

          * `disabled` - Disabled

          * `submitted` - Submitted'
      - in: query
        name: status__in
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      tags:
      - Templates
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedWhatsAppTemplateSimpleReadList'
          description: ''
  /channel/whatsapp/channels/whatsapp/template/{id}:
    servers:
    - url: https://{youraccountname}.api-us1.com/api/3
      description: Production Server
    get:
      operationId: Get WhatsApp Template
      description: Gets a WhatsApp Template by Id.
      summary: Get WhatsApp Template
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Templates
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhatsAppTemplateRead'
          description: ''
    put:
      operationId: channels_whatsapp_template_update
      description: Update a WhatsApp Template by Id.
      summary: Update WhatsApp Template
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WhatsAppTemplateRead'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/WhatsAppTemplateRead'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/WhatsAppTemplateRead'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhatsAppTemplateRead'
          description: ''
    delete:
      operationId: Delete WhatsApp Template
      description: Deletes a WhatsApp Template by Id.
      summary: Delete WhatsApp Template
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Templates
      security:
      - tokenAuth: []
      responses:
        '204':
          description: No response body
  /channel/whatsapp/channels/whatsapp/template/{id}/send:
    servers:
    - url: https://{youraccountname}.api-us1.com/api/3
      description: Production Server
    post:
      operationId: Send a WhatsApp Template Message
      description: 'Send a single WhatsApp message: select a template to use and call our endpoint with the recipient phone number and the variables the template needs. That''s it!'
      summary: Send a WhatsApp Template
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: Template Id
        required: true
        examples:
          TheTemplateIdThatWeWantToSend:
            value: a3ff7ee5-0c11-49e2-a0d6-7e316626f7b1
            summary: The Template Id that we want to send
      tags:
      - Templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WhatsAppTemplateSend'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/WhatsAppTemplateSend'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/WhatsAppTemplateSend'
        required: true
      security:
      - tokenAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhatsAppTemplateSendPublicResponse'
              examples:
                WhatsAppTemplateSendPublicResponse:
                  value:
                    id: a513da3a-8b73-42aa-a938-0eb1e0141533
                    conversation: ee49ab6c-dfd8-4cb6-a512-5880f4385622
                  description: Returns the Message Id and its Conversation Id.
          description: ''
components:
  schemas:
    WhatsAppTemplateSimpleRead:
      type: object
      properties:
        name:
          type: string
          maxLength: 120
        language:
          $ref: '#/components/schemas/LanguageEnum'
        components: {}
        id:
          type: string
          format: uuid
          readOnly: true
          description: The UUID of the WhatsApp Template to be sent.
        category:
          $ref: '#/components/schemas/CategoryEnum'
        status:
          $ref: '#/components/schemas/WhatsAppTemplateStatusEnum'
        rejected_reason:
          type:
          - string
          - 'null'
        is_deleted:
          type: boolean
        channel:
          allOf:
          - $ref: '#/components/schemas/SimpleChannel'
          description: The ID of the WhatsApp Channel that the WhatsApp Template is for.
        show_in_sandbox:
          type: boolean
      required:
      - category
      - channel
      - id
      - language
      - name
    ChannelStatusEnum:
      enum:
      - NEW
      - ACTIVE
      - INACTIVE
      type: string
      description: '* `NEW` - New

        * `ACTIVE` - Active

        * `INACTIVE` - Inactive'
    CategoryEnum:
      enum:
      - ACCOUNT_UPDATE
      - PAYMENT_UPDATE
      - PERSONAL_FINANCE_UPDATE
      - SHIPPING_UPDATE
      - RESERVATION_UPDATE
      - ISSUE_RESOLUTION
      - APPOINTMENT_UPDATE
      - TRANSPORTATION_UPDATE
      - TICKET_UPDATE
      - ALERT_UPDATE
      - AUTO_REPLY
      - TRANSACTIONAL
      - MARKETING
      - OTP
      - AUTHENTICATION
      - UTILITY
      type: string
      description: '* `ACCOUNT_UPDATE` - Account Update

        * `PAYMENT_UPDATE` - Payment Update

        * `PERSONAL_FINANCE_UPDATE` - Personal Finance Update

        * `SHIPPING_UPDATE` - Shipping Update

        * `RESERVATION_UPDATE` - Reservation Update

        * `ISSUE_RESOLUTION` - Issue Resolution

        * `APPOINTMENT_UPDATE` - Appointment Update

        * `TRANSPORTATION_UPDATE` - Transportation Update

        * `TICKET_UPDATE` - Ticket Update

        * `ALERT_UPDATE` - Alert Update

        * `AUTO_REPLY` - Auto Reply

        * `TRANSACTIONAL` - Transactional

        * `MARKETING` - Marketing

        * `OTP` - Otp

        * `AUTHENTICATION` - Authentication

        * `UTILITY` - Utility'
    LanguageEnum:
      enum:
      - af
      - sq
      - ar
      - az
      - bn
      - bg
      - ca
      - zh_CN
      - zh_HK
      - zh_TW
      - hr
      - cs
      - da
      - nl
      - en
      - en_GB
      - en_US
      - et
      - fil
      - fi
      - fr
      - ka
      - de
      - el
      - gu
      - ha
      - he
      - hi
      - hu
      - id
      - ga
      - it
      - ja
      - kn
      - kk
      - rw_RW
      - ko
      - ky_KG
      - lo
      - lv
      - lt
      - mk
      - ms
      - ml
      - mr
      - nb
      - fa
      - pl
      - pt_BR
      - pt_PT
      - pa
      - ro
      - ru
      - sr
      - sk
      - sl
      - es
      - es_AR
      - es_ES
      - es_MX
      - sw
      - sv
      - ta
      - te
      - th
      - tr
      - uk
      - ur
      - uz
      - vi
      - zu
      type: string
      description: '* `af` - Afrikaans

        * `sq` - Albanian

        * `ar` - Arabic

        * `az` - Azerbaijani

        * `bn` - Bengali

        * `bg` - Bulgarian

        * `ca` - Catalan

        * `zh_CN` - Chinese (CHN)

        * `zh_HK` - Chinese (HKG)

        * `zh_TW` - Chinese (TAI)

        * `hr` - Croatian

        * `cs` - Czech

        * `da` - Danish

        * `nl` - Dutch

        * `en` - English

        * `en_GB` - English (UK)

        * `en_US` - English (US)

        * `et` - Estonian

        * `fil` - Filipino

        * `fi` - Finnish

        * `fr` - French

        * `ka` - Georgian

        * `de` - German

        * `el` - Greek

        * `gu` - Gujarati

        * `ha` - Hausa

        * `he` - Hebrew

        * `hi` - Hindi

        * `hu` - Hungarian

        * `id` - Indonesian

        * `ga` - Irish

        * `it` - Italian

        * `ja` - Japanese

        * `kn` - Kannada

        * `kk` - Kazakh

        * `rw_RW` - Kinyarwanda

        * `ko` - Korean

        * `ky_KG` - Kyrgyz (Kyrgyzstan)

        * `lo` - Lao

        * `lv` - Latvian

        * `lt` - Lithuanian

        * `mk` - Macedonian

        * `ms` - Malay

        * `ml` - Malayalam

        * `mr` - Marathi

        * `nb` - Norwegian

        * `fa` - Persian

        * `pl` - Polish

        * `pt_BR` - Portuguese (BR)

        * `pt_PT` - Portuguese (POR)

        * `pa` - Punjabi

        * `ro` - Romanian

        * `ru` - Russian

        * `sr` - Serbian

        * `sk` - Slovak

        * `sl` - Slovenian

        * `es` - Spanish

        * `es_AR` - Spanish (ARG)

        * `es_ES` - Spanish (SPA)

        * `es_MX` - Spanish (MEX)

        * `sw` - Swahili

        * `sv` - Swedish

        * `ta` - Tamil

        * `te` - Telugu

        * `th` - Thai

        * `tr` - Turkish

        * `uk` - Ukrainian

        * `ur` - Urdu

        * `uz` - Uzbek

        * `vi` - Vietnamese

        * `zu` - Zulu'
    ChannelProviderEnum:
      enum:
      - META_CLOUD_API
      - TECH_PROVIDER_CLOUD_API
      - D360_CLOUD_API
      - 360DIALOG
      type: string
      description: '* `META_CLOUD_API` - Meta Cloud Api

        * `TECH_PROVIDER_CLOUD_API` - Tech Provider Cloud Api

        * `D360_CLOUD_API` - D360 Cloud Api

        * `360DIALOG` - Dialog360'
    WhatsAppTemplateStatusEnum:
      enum:
      - draft
      - approved
      - in_appeal
      - pending
      - rejected
      - pending_deletion
      - deleted
      - disabled
      - submitted
      type: string
      description: '* `draft` - Draft

        * `approved` - Approved

        * `in_appeal` - In Appeal

        * `pending` - Pending

        * `rejected` - Rejected

        * `pending_deletion` - Pending Deletion

        * `deleted` - Deleted

        * `disabled` - Disabled

        * `submitted` - Submitted'
    PaginatedWhatsAppTemplateSimpleReadList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/WhatsAppTemplateSimpleRead'
    WhatsAppTemplateRead:
      type: object
      properties:
        name:
          type: string
          maxLength: 120
        language:
          $ref: '#/components/schemas/LanguageEnum'
        components: {}
        id:
          type: string
          format: uuid
          readOnly: true
          description: The UUID of the WhatsApp Template to be sent.
        category:
          $ref: '#/components/schemas/CategoryEnum'
        status:
          $ref: '#/components/schemas/WhatsAppTemplateStatusEnum'
        rejected_reason:
          type:
          - string
          - 'null'
        is_deleted:
          type: boolean
        channel:
          allOf:
          - $ref: '#/components/schemas/SimpleChannel'
          readOnly: true
          description: The ID of the WhatsApp Channel that the WhatsApp Template is for.
        is_sample:
          type: boolean
        show_in_sandbox:
          type: boolean
      required:
      - category
      - channel
      - id
      - language
      - name
    ChannelTypeEnum:
      enum:
      - WHATSAPP
      - EMAIL
      - INSTAGRAM
      - FB_MESSENGER
      - TELEGRAM
      - SMS
      - VOICE
      type: string
      description: '* `WHATSAPP` - Whatsapp

        * `EMAIL` - Email

        * `INSTAGRAM` - Instagram

        * `FB_MESSENGER` - Fb Messenger

        * `TELEGRAM` - Telegram

        * `SMS` - Sms

        * `VOICE` - Voice'
    WhatsAppTemplateSend:
      type: object
      properties:
        variables:
          type: array
          items:
            type: string
          description: An array of variables to be used in the WhatsApp Template. Variables are taken in order HEADER, BODY and BUTTONs. (e.g. position 0 corresponds to the HEADER (if it exists) or variable {{1}}, position 1 to variable {{2}} and so on.
        phone:
          type: string
          description: The phone number to send the WhatsApp Template to.
          maxLength: 20
      required:
      - phone
    WhatsAppTemplateSendPublicResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Message Id
        conversation:
          type: string
          format: uuid
          description: Message Conversation Id
      required:
      - conversation
      - id
    SimpleChannel:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        channel_type:
          $ref: '#/components/schemas/ChannelTypeEnum'
        name:
          type: string
          maxLength: 100
        channel_id:
          type: string
          maxLength: 100
        status:
          $ref: '#/components/schemas/ChannelStatusEnum'
        created_on:
          type: string
          format: date-time
          title: Creado el
        channel_provider:
          $ref: '#/components/schemas/ChannelProviderEnum'
        is_sandbox:
          type: boolean
      required:
      - channel_id
      - id
  securitySchemes:
    ApiToken:
      type: apiKey
      name: Api-Token
      in: header
      description: Your ActiveCampaign API token
    tokenAuth:
      type: apiKey
      in: header
      name: Token
      description: Token-based authentication with required prefix "Token"
x-refined-from:
- activecampaign-templates-api-openapi.yml
- activecampaign-whatsapp-api-openapi.yml