Iterable Templates API

Manage email, push, SMS, and in-app message templates. Retrieve template content and metadata.

Operations 29

GET /api/templates Get project templates #
POST /api/templates/bulkDelete Bulk delete templates #
GET /api/templates/email/get Get an email template by templateId #
POST /api/templates/email/preview Preview email template with custom data #
POST /api/templates/email/proof Send a proof of an email template #
POST /api/templates/email/update Update email template #
POST /api/templates/email/upsert Create email template #
GET /api/templates/embedded/get Get an embedded message template #
POST /api/templates/embedded/update Update embedded message template #
POST /api/templates/embedded/upsert Create an embedded message template #
GET /api/templates/getByClientTemplateId Get an email template by clientTemplateId #
GET /api/templates/inapp/get Get an in-app template #
POST /api/templates/inapp/preview Preview in-app template with custom data #
POST /api/templates/inapp/proof Send a proof of an in-app template #
POST /api/templates/inapp/update Update in-app template #
POST /api/templates/inapp/upsert Create an in-app template #
GET /api/templates/push/get Get a push template #
POST /api/templates/push/proof Send a proof of a push template #
POST /api/templates/push/update Update push template #
POST /api/templates/push/upsert Create a push template #
GET /api/templates/sms/get Get an SMS template #
POST /api/templates/sms/proof Send a proof of an SMS template #
POST /api/templates/sms/update Update SMS template #
POST /api/templates/sms/upsert Create an SMS template #
GET /templates/email/get Get an email template #
POST /templates/email/update Update an email template #
GET /templates/push/get Get a push notification template #
GET /templates/sms/get Get an SMS template #
GET /templates/inApp/get Get an in-app message 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/iterable-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

iterable-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Iterable Templates API
  version: '1.0'
  description: 'Operations tagged templates across 2 of this provider''s published API definitions: iterable-api-openapi.json, iterable-rest-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.iterable.com/
- url: https://api.iterable.com/api
  description: US Data Center (USDC)
- url: https://api.eu.iterable.com/api
  description: European Data Center (EDC)
tags:
- name: templates
paths:
  /api/templates:
    get:
      description: 'Get templates for a project. Use <code>page</code> and <code>pageSize</code> parameters to paginate results. If the unpaginated templates API is allowed for your project, then all templates are returned if no pagination parameters are provided. The unpaginated behavior is deprecated and may be removed in the future. <b>Rate limit</b>: 100 requests/second, per project.'
      operationId: getTemplates
      parameters:
      - description: Only retrieve templates associated with this template type
        in: query
        name: templateType
        required: false
        schema:
          type: string
          enum:
          - Base
          - Blast
          - Triggered
          - Workflow
          default: None
      - description: Only retrieve templates associated with this message medium
        in: query
        name: messageMedium
        required: false
        schema:
          type: string
          enum:
          - Email
          - Push
          - InApp
          - SMS
          default: None
      - description: Get templates created at or after this date time (yyyy-MM-dd HH:mm:ss [ZZ])
        in: query
        name: startDateTime
        required: false
        schema:
          type: string
          format: date-time
      - description: Get templates created before this date time (yyyy-MM-dd HH:mm:ss [ZZ])
        in: query
        name: endDateTime
        required: false
        schema:
          type: string
          format: date-time
      - description: Page number (starting at 1).
        in: query
        name: page
        required: false
        x-example: 1
        schema:
          type: integer
          format: int32
          default: 1
      - description: Number of results to return per page (defaults to 20, maximum of 1000).
        in: query
        name: pageSize
        required: false
        x-example: 25
        schema:
          type: integer
          format: int32
          default: 20
      - description: 'Field to sort templates by, with optional direction prefix. Use - for descending, + or no prefix for ascending. Templates can be sorted by id, name, createdAt, or updatedAt. Examples: -createdAt, +name, id'
        in: query
        name: sort
        required: false
        x-example: id
        schema:
          type: string
          default: id
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTemplatesResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Get project templates
      tags:
      - templates
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/bulkDelete:
    post:
      description: 'This endpoint deletes one or more base templates. Templates which are associated with a campaign will not be deleted. '
      operationId: bulk delete templates
      responses:
        '200':
          description: Templates deleted successfully
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Internal server error
      summary: Bulk delete templates
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkDeleteTemplatesRequest'
        description: IDs of templates to delete
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/email/get:
    get:
      description: '<b>Rate limit</b>: 100 requests/second, per project.'
      operationId: getEmailTemplate
      parameters:
      - description: Template ID
        in: query
        name: templateId
        required: true
        schema:
          type: integer
          format: int64
      - description: Locale of content to get
        in: query
        name: locale
        required: false
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEmailTemplateModel'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
        '404':
          description: Content does not exist for specified locale
      summary: Get an email template by templateId
      tags:
      - templates
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/email/preview:
    post:
      description: 'Generate a fully rendered HTML preview of an email template using custom data. This endpoint simulates how a template would appear when sent to a user, allowing you to test template rendering with specific data fields and/or data feed data. Use this to preview templates before sending campaigns or to test template logic with different data scenarios. <br/><br/>Note: If a template references a field that is not provided in the request data, that field will be rendered as an empty string, matching the behavior of actual email sends.<br/><br/><b>Rate limit</b>: 10 requests/second, per project.'
      operationId: previewEmailTemplate
      parameters:
      - description: Template ID
        in: query
        name: templateId
        required: true
        schema:
          type: integer
          format: int64
      - description: Locale of content to get
        in: query
        name: locale
        required: false
        schema:
          type: string
          default: None
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: string
        '400':
          description: Invalid parameters. This may occur if the <code>templateId</code> is invalid, if required template data is missing, or if the request body contains malformed JSON.
        '401':
          description: Invalid API key
        '404':
          description: Template not found
      summary: Preview email template with custom data
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TemplatePreviewRequest'
        description: Data to use for template rendering
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/email/proof:
    post:
      description: 'Send a proof of an email template to a specific user. <br/><br/><b>Rate limit</b>: 20 requests/second, per API key.'
      operationId: emailProof
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Send a proof of an email template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TemplateProofRequest'
        description: Template proof request
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/email/update:
    post:
      description: ''
      operationId: updateEmailTemplate
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Update email template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiEmailTemplateModel'
        description: Only the fields specified will be updated
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/email/upsert:
    post:
      description: Create email template if it doesn't exist already, otherwise update all email templates that match the name provided.
      operationId: upsertEmailTemplate
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Create email template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertEmailTemplateModel'
        description: Only the fields specified will be updated
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/embedded/get:
    get:
      description: '<b>Rate limit</b>: 100 requests/second, per project.'
      operationId: getEmbeddedTemplate
      parameters:
      - description: Template ID
        in: query
        name: templateId
        required: true
        schema:
          type: integer
          format: int64
      - description: Locale of content to get
        in: query
        name: locale
        required: false
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEmbeddedTemplateModel'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
        '404':
          description: Content does not exist for specified locale
      summary: Get an embedded message template
      tags:
      - templates
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/embedded/update:
    post:
      description: ''
      operationId: updateEmbeddedTemplate
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Update embedded message template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiEmbeddedTemplateModel'
        description: Only the fields specified will be updated
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/embedded/upsert:
    post:
      description: Create an embedded message template if it doesn't exist yet, otherwise update all embedded message templates that match the name provided.
      operationId: upsertEmbeddedTemplate
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Create an embedded message template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertEmbeddedTemplateModel'
        description: Only the fields specified will be updated
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/getByClientTemplateId:
    get:
      description: '<b>Rate limit</b>: 100 requests/second, per project.'
      operationId: getByClientTemplateId
      parameters:
      - description: Client Template Id
        in: query
        name: clientTemplateId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTemplateIdResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Get an email template by clientTemplateId
      tags:
      - templates
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/inapp/get:
    get:
      description: ''
      operationId: getInAppTemplate
      parameters:
      - description: Template ID
        in: query
        name: templateId
        required: true
        schema:
          type: integer
          format: int64
      - description: Locale of content to get
        in: query
        name: locale
        required: false
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiInAppTemplateModel'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
        '404':
          description: Content does not exit for specified locale
      summary: Get an in-app template
      tags:
      - templates
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/inapp/preview:
    post:
      description: 'Generate a fully rendered HTML preview of an in-app template using custom data. This endpoint simulates how a template would appear when sent to a user, allowing you to test template rendering with specific data fields and/or data feed data. Use this to preview templates before sending campaigns or to test template logic with different data scenarios. <br/><br/>Note: If a template references a field that is not provided in the request data, that field will be rendered as an empty string, matching the behavior of actual email sends.<br/><br/><b>Rate limit</b>: 10 requests/second, per project.'
      operationId: previewInAppTemplate
      parameters:
      - description: Template ID
        in: query
        name: templateId
        required: true
        schema:
          type: integer
          format: int64
      - description: Locale of content to get
        in: query
        name: locale
        required: false
        schema:
          type: string
          default: None
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: string
        '400':
          description: Invalid parameters. This may occur if the <code>templateId</code> is invalid, if required template data is missing, or if the request body contains malformed JSON.
        '401':
          description: Invalid API key
        '404':
          description: Template not found
      summary: Preview in-app template with custom data
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TemplatePreviewRequest'
        description: Data to use for template rendering
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/inapp/proof:
    post:
      description: 'Send a proof of an in-app template to a specific user. <br/><br/><b>Rate limit</b>: 20 requests/second, per API key.'
      operationId: inappProof
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Send a proof of an in-app template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TemplateProofRequest'
        description: Template proof request
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/inapp/update:
    post:
      description: ''
      operationId: updateInAppTemplate
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Update in-app template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiInAppTemplateModel'
        description: Only the fields specified will be updated
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/inapp/upsert:
    post:
      description: Create an in-app template if it doesn't exist yet, otherwise update all in-app templates that match the name provided.
      operationId: upsertInAppTemplate
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Create an in-app template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertInAppTemplateModel'
        description: Only the fields specified will be updated
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/push/get:
    get:
      description: '<b>Rate limit</b>: 100 requests/second, per project.'
      operationId: getPushTemplate
      parameters:
      - description: Template ID
        in: query
        name: templateId
        required: true
        schema:
          type: integer
          format: int64
      - description: Locale of content to get
        in: query
        name: locale
        required: false
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiPushTemplateModel'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
        '404':
          description: Content does not exit for specified locale
      summary: Get a push template
      tags:
      - templates
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/push/proof:
    post:
      description: 'Send a proof of a push template to a specific user. <br/><br/><b>Rate limit</b>: 20 requests/second, per API key.'
      operationId: pushProof
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Send a proof of a push template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TemplateProofRequest'
        description: Template proof request
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/push/update:
    post:
      description: ''
      operationId: updatePushTemplate
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Update push template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiPushTemplateModel'
        description: Only the fields specified will be updated
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/push/upsert:
    post:
      description: Create a push template if it doesn't exist, otherwise update all push templates that match the name provided.
      operationId: upsertPushTemplate
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Create a push template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertPushTemplateModel'
        description: Only the fields specified will be updated
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/sms/get:
    get:
      description: '<b>Rate limit</b>: 100 requests/second, per project.'
      operationId: getSMSTemplate
      parameters:
      - description: Template ID
        in: query
        name: templateId
        required: true
        schema:
          type: integer
          format: int64
      - description: Locale of content to get
        in: query
        name: locale
        required: false
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSMSTemplateModel'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
        '404':
          description: Content does not exit for specified locale
      summary: Get an SMS template
      tags:
      - templates
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/sms/proof:
    post:
      description: 'Send a proof of an SMS template to a specific user. <br/><br/><b>Rate limit</b>: 20 requests/second, per API key.'
      operationId: smsProof
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Send a proof of an SMS template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TemplateProofRequest'
        description: Template proof request
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/sms/update:
    post:
      description: ''
      operationId: updateSMSTemplate
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Update SMS template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiSMSTemplateModel'
        description: Only the fields specified will be updated
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /api/templates/sms/upsert:
    post:
      description: Create an SMS template if it doesn't exist yet, otherwise update all SMS templates that match the name provided.
      operationId: upsertSMSTemplate
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableApiResponse'
        '400':
          description: Invalid parameters
        '401':
          description: Invalid API key
      summary: Create an SMS template
      tags:
      - templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertSMSTemplateModel'
        description: Only the fields specified will be updated
        required: true
      security:
      - api_key: []
    servers:
    - url: https://api.iterable.com/
  /templates/email/get:
    get:
      operationId: getEmailTemplate
      summary: Get an email template
      description: Retrieves the content and metadata of an email template by its template ID.
      tags:
      - templates
      parameters:
      - name: templateId
        in: query
        required: true
        description: The ID of the email template to retrieve
        schema:
          type: integer
      responses:
        '200':
          description: Email template data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailTemplate'
        '401':
          description: Unauthorized
        '404':
          description: Template not found
      security:
      - apiKeyAuth: []
    servers:
    - url: https://api.iterable.com/api
      description: US Data Center (USDC)
    - url: https://api.eu.iterable.com/api
      description: European Data Center (EDC)
  /templates/email/update:
    post:
      operationId: updateEmailTemplate
      summary: Update an email template
      description: Updates the content and metadata of an existing email template.
      tags:
      - templates
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailTemplateUpdate'
      responses:
        '200':
          description: Template updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IterableResponse'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      security:
      - apiKeyAuth: []
    servers:
    - url: https://api.iterable.com/api
      description: US Data Center (USDC)
    - url: https://api.eu.iterable.com/api
      description: European Data Center (EDC)
  /templates/push/get:
    get:
      operationId: getPushTemplate
      summary: Get a push notification template
      description: Retrieves the content and metadata of a push notification template by its template ID.
      tags:
      - templates
      parameters:
      - name: templateId
        in: query
        required: true
        description: The ID of the push template to retrieve
        schema:
          type: integer
      responses:
        '200':
          description: Push template data
          content:
            application/json:
              schema:
                type: object
                properties:
                  templateId:
                    type: integer
                  name:
                    type: string
                  message:
                    type: string
                  sound:
                    type: string
                  deeplink:
                    type: string
        '401':
          description: Unauthorized
        '404':
          description: Template not found
      security:
      - apiKeyAuth: []
    servers:
    - url: https://api.iterable.com/api
      description: US Data Center (USDC)
    - url: https://api.eu.iterable.com/api
      description: European Data Center (EDC)
  /templates/sms/get:
    get:
      operationId: getSmsTemplate
      summary: Get an SMS template
      description: Retrieves the content and metadata of an SMS template by its template ID.
      tags:
      - templates
      parameters:
      - name: templateId
        in: query
        required: true
        description: The ID of the SMS template to retrieve
        schema:
          type: integer
      responses:
        '200':
          description: SMS template data
          content:
            application/json:
              schema:
                type: object
                properties:
                  templateId:
                    type: integer
                  name:
                    type: string
                  message:
                    type: string
        '401':
          description: Unauthorized
        '404':
          description: Template not found
      security:
      - apiKeyAuth: []
    servers:
    - url: https://api.iterable.com/api
      description: US Data Center (USDC)
    - url: https://api.eu.iterable.com/api
      description: European Data Center (EDC)
  /templates/inApp/get:
    get:
      operationId: getInAppTemplate
      summary: Get an in-app message template
      description: Retrieves the content and metadata of an in-app message template by its template ID.
      tags:
      - templates
      parameters:
      - name: templateId
        in: query
        required: true
        description: The ID of the in-app template to retrieve
        schema:
          type: integer
      responses:
        '200':
          description: In-app template data
          content:
            application/json:
              schema:
                type: object
                properties:
                  templateId:
                    type: integer
                  name:
                    type: string
                  html:
                    type: string
        '401':
          description: Unauthorized
        '404':
          description: Template not found
      security:
      - apiKeyAuth: []
    servers:
    - url: https://api.iterable.com/api
      description: US Data Center (USDC)
    - url: https://api.eu.iterable.com/api
      description: European Data Center (EDC)
components:
  schemas:
    PushAction:
      properties:
        data:
          description: The URL to open if the type is 'openUrl'
          type: string
        type:
          description: The type of action. Leave empty to open the app, use 'openUrl' to open the url specified in the 'data' field, or enter a custom action handler defined in your app
          type: string
      type: object
    PushActionButton:
      properties:
        action:
          $ref: '#/components/schemas/PushAction'
          description: Action to execute on button push
        actionIcon:
          $ref: '#/components/schemas/ActionIcon'
        buttonType:
          description: Type of button
          enum:
          - default
          - destructive
          - textInput
          type: string
        identifier:
          description: Used

# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/iterable/refs/heads/main/openapi/iterable-templates-api-openapi.yml