brevo Email Templates API

Create and manage reusable email templates for transactional messaging.

Business capability
Digital Marketing Management BC-400.60

Operations 5

GET /smtp/templates List email templates #
POST /smtp/templates Create an email template #
GET /smtp/templates/{templateId} Get an email template #
PUT /smtp/templates/{templateId} Update an email template #
DELETE /smtp/templates/{templateId} Delete an email 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/brevo-email-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

brevo-email-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Brevo Transactional Email Email Templates API
  description: The Brevo Transactional Email API allows developers to send transactional emails such as order confirmations, password resets, and account notifications programmatically. It supports single and batch sending, scheduled deliveries, template-based emails, and attachment handling. The API also provides endpoints for tracking email activity including opens, clicks, bounces, and delivery status through detailed event logs and real-time webhooks.
  version: '3.0'
  contact:
    name: Brevo Support
    url: https://help.brevo.com
  termsOfService: https://www.brevo.com/legal/termsofuse/
servers:
- url: https://api.brevo.com/v3
  description: Brevo Production API Server
security:
- apiKeyAuth: []
tags:
- name: Email Templates
  description: Create and manage reusable email templates for transactional messaging.
paths:
  /smtp/templates:
    get:
      operationId: listSmtpTemplates
      summary: List email templates
      description: Retrieves all transactional email templates created in the account. Templates can be used to send personalized transactional emails with consistent formatting.
      tags:
      - Email Templates
      parameters:
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      - name: templateStatus
        in: query
        description: Filter templates by their active status.
        schema:
          type: boolean
      responses:
        '200':
          description: Templates retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplateList'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      operationId: createSmtpTemplate
      summary: Create an email template
      description: Creates a new transactional email template with HTML content, subject line, and sender information. Templates support dynamic parameters for personalization.
      tags:
      - Email Templates
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSmtpTemplate'
      responses:
        '201':
          description: Template created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTemplateResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /smtp/templates/{templateId}:
    get:
      operationId: getSmtpTemplate
      summary: Get an email template
      description: Retrieves the details of a specific transactional email template by its unique identifier.
      tags:
      - Email Templates
      parameters:
      - $ref: '#/components/parameters/templateIdParam'
      responses:
        '200':
          description: Template retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmtpTemplate'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Template not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      operationId: updateSmtpTemplate
      summary: Update an email template
      description: Updates an existing transactional email template with new content, subject line, or sender information.
      tags:
      - Email Templates
      parameters:
      - $ref: '#/components/parameters/templateIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSmtpTemplate'
      responses:
        '204':
          description: Template updated successfully
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Template not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: deleteSmtpTemplate
      summary: Delete an email template
      description: Permanently deletes a transactional email template by its unique identifier.
      tags:
      - Email Templates
      parameters:
      - $ref: '#/components/parameters/templateIdParam'
      responses:
        '204':
          description: Template deleted successfully
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Template not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    limitParam:
      name: limit
      in: query
      description: Maximum number of results to return per request.
      schema:
        type: integer
        format: int64
        default: 50
    templateIdParam:
      name: templateId
      in: path
      required: true
      description: The unique identifier of the email template.
      schema:
        type: integer
        format: int64
    offsetParam:
      name: offset
      in: query
      description: Number of results to skip for pagination.
      schema:
        type: integer
        format: int64
        default: 0
  schemas:
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Error code identifying the type of error.
        message:
          type: string
          description: Human-readable description of the error.
    CreateSmtpTemplate:
      type: object
      required:
      - templateName
      - sender
      properties:
        templateName:
          type: string
          description: Name for the new template.
        subject:
          type: string
          description: Default subject line for the template.
        htmlContent:
          type: string
          description: HTML content for the template body.
        sender:
          type: object
          description: Default sender identity for the template.
          required:
          - email
          properties:
            name:
              type: string
              description: Sender display name.
            email:
              type: string
              format: email
              description: Sender email address.
        replyTo:
          type: string
          format: email
          description: Default reply-to email address.
        isActive:
          type: boolean
          description: Whether to activate the template immediately.
    SmtpTemplate:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Unique identifier of the template.
        name:
          type: string
          description: Name of the template.
        subject:
          type: string
          description: Subject line of the template.
        isActive:
          type: boolean
          description: Whether the template is currently active.
        htmlContent:
          type: string
          description: HTML content of the template body.
        sender:
          type: object
          description: Default sender identity for the template.
          properties:
            name:
              type: string
              description: Sender display name.
            email:
              type: string
              format: email
              description: Sender email address.
        replyTo:
          type: string
          format: email
          description: Default reply-to email address for the template.
        createdAt:
          type: string
          format: date-time
          description: UTC date-time when the template was created.
        modifiedAt:
          type: string
          format: date-time
          description: UTC date-time when the template was last modified.
    CreateTemplateResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Unique identifier of the newly created template.
    TemplateList:
      type: object
      properties:
        count:
          type: integer
          format: int64
          description: Total number of templates available.
        templates:
          type: array
          description: List of email template summaries.
          items:
            $ref: '#/components/schemas/SmtpTemplate'
    UpdateSmtpTemplate:
      type: object
      properties:
        templateName:
          type: string
          description: Updated name for the template.
        subject:
          type: string
          description: Updated subject line for the template.
        htmlContent:
          type: string
          description: Updated HTML content for the template body.
        sender:
          type: object
          description: Updated sender identity for the template.
          properties:
            name:
              type: string
              description: Sender display name.
            email:
              type: string
              format: email
              description: Sender email address.
        replyTo:
          type: string
          format: email
          description: Updated reply-to email address.
        isActive:
          type: boolean
          description: Whether the template should be active.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: api-key
      description: Brevo API key passed in the api-key request header for authentication.
externalDocs:
  description: Brevo Transactional Email Documentation
  url: https://developers.brevo.com/docs/send-a-transactional-email