SMTP2GO Templates API

Email template management

Operations 5

POST /template/add Add an email template #
POST /template/delete Remove an email template #
POST /template/edit Update an email template #
POST /template/search View email templates #
POST /template/view View template details #

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/smtp2go-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

smtp2go-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SMTP2GO TEMPLATES API
  version: 3.0.4
  description: The SMTP2GO v3 REST API for sending transactional email and SMS, managing sender domains and single sender emails, SMTP users, API keys, IP allow lists and IP auth, templates, webhooks, suppressions, subaccounts, dedicated IPs, email archive, activity search and delivery statistics. Every operation is a POST (with a PATCH variant on two paths) carrying a JSON body; authentication is an API key supplied in the X-Smtp2go-Api-Key header or as an api_key field in the request body.
  contact:
    name: SMTP2GO Support
    url: https://support.smtp2go.com/
  termsOfService: https://www.smtp2go.com/terms/
  x-harvest:
    source: https://developers.smtp2go.com/mcp
    method: MCP tools/call get-endpoint, one call per path+method, assembled verbatim
    harvested: '2026-08-13'
    server_info:
      name: SMTP2GO-API-Docs
      version: 3.0.4
    note: SMTP2GO does not publish a single fetchable OpenAPI URL; the ReadMe registry path answers 429 to non-browser clients. The provider's own remote MCP server returns the authoritative OpenAPI 3.1.0 fragment for each endpoint anonymously, and those 73 fragments are merged here without modification.
servers:
- url: https://api.smtp2go.com/v3
  description: Regionless
- url: https://us-api.smtp2go.com/v3
  description: US Region
- url: https://eu-api.smtp2go.com/v3
  description: EU Region
- url: https://au-api.smtp2go.com/v3
  description: AU Region
security:
- sec0: []
tags:
- name: TEMPLATES
  description: Create and manage email templates
paths:
  /template/add:
    post:
      tags:
      - TEMPLATES
      summary: Add an email template
      description: Adds a new email template that you can use to format your emails.
      operationId: add-an-email-template
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - template_name
              - id
              - subject
              - html_body
              - text_body
              properties:
                template_name:
                  type: string
                  description: 'The name of the email template. Min length: 1 Character. Max length: 64 Characters.'
                id:
                  type: string
                  description: 'The case-sensitive ID of the email template. Min length: 5 Character. Max length: 24 Characters.'
                subject:
                  type: string
                  description: The subject of the email template.
                html_body:
                  type: string
                  description: The HTML body of the email template.
                text_body:
                  type: string
                  description: The Plain Text body of the email template.
                template_variables:
                  type: object
                  description: 'The variables to use within this email template in the format `{"variable1": "value1", "variable2": "value2"}`'
                tags:
                  type: array
                  description: The list of Tags to associate to this email template
                  items:
                    type: string
      responses:
        '200':
          description: Template added
          content:
            application/json:
              examples:
                Result:
                  value:
                    request_id: f00c0856-dde8-11eb-b4ce-1002b51e60a4
                    data:
                      template_name: Shiny new name
                      id: testid
                      subject: Shiny new Subject
                      html_body: Shiny HTML body. This is a {{ variable }}
                      text_body: Shiny Text body
                      template_variables:
                        variable: strawberries
                      tags:
                      - tagged
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    example: f00c0856-dde8-11eb-b4ce-1002b51e60a4
                  data:
                    type: object
                    required:
                    - id
                    - subject
                    - tags
                    properties:
                      id:
                        type: string
                        example: '5355878'
                      name:
                        type: string
                        example: Order receipt
                        description: This parameter is only returned in 'search' response
                      template_name:
                        type: string
                        example: Order receipt
                        description: This parameter is not present in 'search' response
                      subject:
                        type: string
                        example: Order receipt for {{ product_name }}
                      tags:
                        type: array
                        required:
                        - types
                        - example
                        items:
                          type: string
                          example: one
                      last_updated:
                        type: string
                        example: '2024-01-01 12:00:00'
                        description: A timestamp indicating when this template was last updated
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value:
                    request_id: 22e5acba-43bf-11e6-ae42-408d5cce2644
                    data:
                      error: You do not have permission to access this API endpoint
                      error_code: E_ApiResponseCodes.ENDPOINT_PERMISSION_DENIED
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    example: 22e5acba-43bf-11e6-ae42-408d5cce2644
                  data:
                    type: object
                    properties:
                      error:
                        type: string
                        example: You do not have permission to access this API endpoint
                      error_code:
                        type: string
                        example: E_ApiResponseCodes.ENDPOINT_PERMISSION_DENIED
      deprecated: false
  /template/delete:
    post:
      tags:
      - TEMPLATES
      summary: Remove an email template
      description: Deletes the specified email template.
      operationId: remove-an-email-template
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  description: The case-sensitive ID of the email template that you wish to remove
      responses:
        '200':
          description: Template removed
          content:
            application/json:
              examples:
                Result:
                  value:
                    request_id: 0ad5c75a-640f-11ed-83e8-f23c9216bf70
                    data: Successfully deleted template 'example'
              schema:
                type: object
                required:
                - request_id
                - data
                properties:
                  request_id:
                    type: string
                    example: 22e5acba-43bf-11e6-ae42-408d5cce2644
                  data:
                    type: string
                    example: Successfully deleted template 'example'
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value:
                    request_id: 22e5acba-43bf-11e6-ae42-408d5cce2644
                    data:
                      error: You do not have permission to access this API endpoint
                      error_code: E_ApiResponseCodes.ENDPOINT_PERMISSION_DENIED
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    example: 22e5acba-43bf-11e6-ae42-408d5cce2644
                  data:
                    type: object
                    properties:
                      error:
                        type: string
                        example: You do not have permission to access this API endpoint
                      error_code:
                        type: string
                        example: E_ApiResponseCodes.ENDPOINT_PERMISSION_DENIED
      deprecated: false
  /template/edit:
    post:
      tags:
      - TEMPLATES
      summary: Update an email template
      description: Changes details of an existing email template.
      operationId: update-an-email-template
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  description: The ID of the email template that you wish to change
                new_id:
                  type: string
                  description: If provided, will update the email template ID
                template_name:
                  type: string
                  description: If provided, will update the email template name
                subject:
                  type: string
                  description: If provided, will update the email template subject
                html_body:
                  type: string
                  description: If provided, will update the email template HTML body
                text_body:
                  type: string
                  description: If provided, will update the email template Plain Text body
                template_variables:
                  type: object
                  description: 'The pass-through values required by the template in the format `{"variable1": "value1", "variable2": "value2"}` (When template_id is provided)'
                tags:
                  type: array
                  description: If provided, will update the email template tags
                  items:
                    type: string
      responses:
        '200':
          description: Template updated
          content:
            application/json:
              examples:
                Result:
                  value:
                    request_id: 43ab454e-dde9-11eb-b4ce-1002b51e60a4
                    data:
                      template_name: Shiny new name
                      id: newid
                      subject: Shiny new Subject
                      html_body: Shiny HTML body. This is a {{ variable }}
                      text_body: Shiny Text body
                      template_variables:
                        variable: strawberries
                      tags:
                      - tagged
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    example: f00c0856-dde8-11eb-b4ce-1002b51e60a4
                  data:
                    type: object
                    required:
                    - id
                    - subject
                    - tags
                    properties:
                      id:
                        type: string
                        example: '5355878'
                      name:
                        type: string
                        example: Order receipt
                        description: This parameter is only returned in 'search' response
                      template_name:
                        type: string
                        example: Order receipt
                        description: This parameter is not present in 'search' response
                      subject:
                        type: string
                        example: Order receipt for {{ product_name }}
                      tags:
                        type: array
                        required:
                        - types
                        - example
                        items:
                          type: string
                          example: one
                      last_updated:
                        type: string
                        example: '2024-01-01 12:00:00'
                        description: A timestamp indicating when this template was last updated
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value:
                    request_id: 22e5acba-43bf-11e6-ae42-408d5cce2644
                    data:
                      error: You do not have permission to access this API endpoint
                      error_code: E_ApiResponseCodes.ENDPOINT_PERMISSION_DENIED
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    example: 22e5acba-43bf-11e6-ae42-408d5cce2644
                  data:
                    type: object
                    properties:
                      error:
                        type: string
                        example: You do not have permission to access this API endpoint
                      error_code:
                        type: string
                        example: E_ApiResponseCodes.ENDPOINT_PERMISSION_DENIED
      deprecated: false
  /template/search:
    post:
      tags:
      - TEMPLATES
      summary: View email templates
      description: Search your collection of email templates. Returns any templates that match your search criteria.
      operationId: search-email-templates
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fuzzy_search:
                  type: boolean
                  description: 'If provided, will determine whether search terms are matched exactly or using wildcards.  Default: false'
                search_terms:
                  type: array
                  description: If provided, will return email templates containing any of the strings provided in name, tag, id or subject fields.
                  items:
                    type: string
                tags:
                  type: array
                  description: If provided, will return email templates containing any of the tags provided
                  items:
                    type: string
                sort_direction:
                  type: string
                  description: 'If provided, will sort the returned email templates in ascending or descending order.  Default: asc<br><br><strong>Values:</strong> asc or desc'
                page_size:
                  type: integer
                  description: If provided, will limit the number of email templates returned. Default 100
                  format: int32
                continue_token:
                  type: string
                  description: If provided, will fetch the next page of results, following on from the previous page of results from which this continue token was returned
      responses:
        '200':
          description: Matching templates
          content:
            application/json:
              examples:
                Result:
                  value:
                    request_id: 13ab6f3a-ddea-11eb-b4ce-1002b51e60a4
                    data:
                      continue_token: null
                      templates:
                      - name: Order receipt
                        id: '5355878'
                        subject: Order receipt for {{ product_name }}
                        tags:
                        - one
                        - two
                        - five
                        - four
                        last_updated: '2024-01-01 12:00:00'
                      total_count: 1
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    example: 13ab6f3a-ddea-11eb-b4ce-1002b51e60a4
                  data:
                    type: object
                    properties:
                      continue_token: {}
                      templates:
                        type: array
                        items:
                          type: object
                          required:
                          - id
                          - subject
                          - tags
                          properties:
                            id:
                              type: string
                              example: '5355878'
                            name:
                              type: string
                              example: Order receipt
                              description: This parameter is only returned in 'search' response
                            template_name:
                              type: string
                              example: Order receipt
                              description: This parameter is not present in 'search' response
                            subject:
                              type: string
                              example: Order receipt for {{ product_name }}
                            tags:
                              type: array
                              required:
                              - types
                              - example
                              items:
                                type: string
                                example: one
                            last_updated:
                              type: string
                              example: '2024-01-01 12:00:00'
                              description: A timestamp indicating when this template was last updated
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value:
                    request_id: 22e5acba-43bf-11e6-ae42-408d5cce2644
                    data:
                      error: You do not have permission to access this API endpoint
                      error_code: E_ApiResponseCodes.ENDPOINT_PERMISSION_DENIED
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    example: 22e5acba-43bf-11e6-ae42-408d5cce2644
                  data:
                    type: object
                    properties:
                      error:
                        type: string
                        example: You do not have permission to access this API endpoint
                      error_code:
                        type: string
                        example: E_ApiResponseCodes.ENDPOINT_PERMISSION_DENIED
      deprecated: false
  /template/view:
    post:
      tags:
      - TEMPLATES
      summary: View template details
      description: Returns details of the email template with the specified ID.
      operationId: view-template-details
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  description: The case-sensitive ID of the email template that you wish to view
      responses:
        '200':
          description: Details of a template
          content:
            application/json:
              examples:
                Result:
                  value:
                    request_id: b0107930-6410-11ed-b1a0-f23c9216bf47
                    data:
                      name: Shiny new name
                      id: testid
                      subject: Shiny new Subject
                      tags:
                      - tag1
                      - tag2
                      html_body: ''
                      text_body: ''
                      template_variables:
                        variable: strawberries
                      last_updated: '2024-01-01 12:00:00'
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    example: f00c0856-dde8-11eb-b4ce-1002b51e60a4
                  data:
                    type: object
                    required:
                    - html_body
                    - id
                    - subject
                    - tags
                    - name
                    - template_variables
                    - text_body
                    properties:
                      html_body:
                        type: string
                        example: Shiny HTML body. This is a {{ variable }}
                      id:
                        type: string
                        example: testid
                      subject:
                        type: string
                        example: Shiny new Subject
                      tags:
                        type: array
                        items:
                          type: string
                          example: tagged
                      name:
                        type: string
                        example: Shiny new name
                      template_variables:
                        type: object
                        description: 'The pass-through values required by the template in the format `{"variable1": "value1", "variable2": "value2"}`'
                      text_body:
                        type: string
                        example: Shiny Text body
                      last_updated:
                        type: string
                        example: '2024-01-01 12:00:00'
                        description: A timestamp indicating when this template was last updated
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value:
                    request_id: 22e5acba-43bf-11e6-ae42-408d5cce2644
                    data:
                      error: You do not have permission to access this API endpoint
                      error_code: E_ApiResponseCodes.ENDPOINT_PERMISSION_DENIED
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    example: 22e5acba-43bf-11e6-ae42-408d5cce2644
                  data:
                    type: object
                    properties:
                      error:
                        type: string
                        example: You do not have permission to access this API endpoint
                      error_code:
                        type: string
                        example: E_ApiResponseCodes.ENDPOINT_PERMISSION_DENIED
      deprecated: false
components:
  securitySchemes:
    sec0:
      type: apiKey
      in: header
      name: X-Smtp2go-Api-Key
      x-default: ${SMTP2GO_API_KEY}