OpenAPI Specification
openapi: 3.0.3
info:
title: SMTP2GO Email Activity Templates API
description: REST API for sending transactional emails and SMS, managing sender domains, SMTP users, API keys, templates, webhooks, suppressions, and accessing delivery reports and activity statistics. All requests use POST with JSON bodies. Authentication is via API key in request body or X-Smtp2go-Api-Key header.
version: 3.0.4
contact:
name: SMTP2GO Support
url: https://support.smtp2go.com/
license:
name: Proprietary
url: https://www.smtp2go.com/terms/
servers:
- url: https://api.smtp2go.com/v3
description: Global endpoint (auto-routes to nearest region)
- url: https://us-api.smtp2go.com/v3
description: United States region
- url: https://eu-api.smtp2go.com/v3
description: European Union region
- url: https://au-api.smtp2go.com/v3
description: Oceania region
security:
- ApiKeyHeader: []
- ApiKeyBody: []
tags:
- name: Templates
description: Email template management
paths:
/template/add:
post:
operationId: addEmailTemplate
summary: Add an email template
description: Adds a new email template that you can use to format your emails
tags:
- Templates
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EmailTemplateRequest'
responses:
'200':
description: Email template added
content:
application/json:
schema:
$ref: '#/components/schemas/EmailTemplateResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/template/edit:
post:
operationId: updateEmailTemplate
summary: Update an email template
description: Changes details of an existing email template
tags:
- Templates
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EmailTemplateRequest'
responses:
'200':
description: Template updated
content:
application/json:
schema:
$ref: '#/components/schemas/EmailTemplateResponse'
/template/delete:
post:
operationId: removeEmailTemplate
summary: Remove an email template
description: Deletes the specified email template
tags:
- Templates
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- template_id
properties:
template_id:
type: string
responses:
'200':
description: Template removed
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
/template/search:
post:
operationId: searchEmailTemplates
summary: View email templates
description: Search your collection of email templates
tags:
- Templates
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
template_name:
type: string
template_id:
type: string
tags:
type: array
items:
type: string
responses:
'200':
description: Templates list
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
/template/view:
post:
operationId: viewTemplateDetails
summary: View template details
description: Returns details of the email template with the specified ID
tags:
- Templates
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- template_id
properties:
template_id:
type: string
responses:
'200':
description: Template details
content:
application/json:
schema:
$ref: '#/components/schemas/EmailTemplateResponse'
components:
schemas:
StandardResponse:
type: object
properties:
request_id:
type: string
data:
type: object
additionalProperties: true
EmailTemplateRequest:
type: object
required:
- template_name
- id
- subject
- html_body
- text_body
properties:
template_name:
type: string
description: Template name (1-64 characters)
minLength: 1
maxLength: 64
id:
type: string
description: Case-sensitive template ID (5-24 characters)
minLength: 5
maxLength: 24
subject:
type: string
description: Email subject line
html_body:
type: string
description: HTML email content
text_body:
type: string
description: Plain text email content
template_variables:
type: object
additionalProperties:
type: string
description: Variables to use within this email template
tags:
type: array
items:
type: string
description: Tags to associate with the template
ErrorResponse:
type: object
properties:
request_id:
type: string
data:
type: object
properties:
error:
type: string
description: Human-readable error message
error_code:
type: string
description: Specific error code
EmailTemplateResponse:
type: object
properties:
request_id:
type: string
data:
type: object
properties:
id:
type: string
template_name:
type: string
subject:
type: string
tags:
type: array
items:
type: string
last_updated:
type: string
securitySchemes:
ApiKeyHeader:
type: apiKey
in: header
name: X-Smtp2go-Api-Key
description: API key passed as an HTTP header
ApiKeyBody:
type: apiKey
in: header
name: api_key
description: API key can also be included in the JSON request body as the "api_key" field
externalDocs:
description: SMTP2GO Developer Documentation
url: https://developers.smtp2go.com/docs/introduction-guide