brevo Transactional Emails API

Send and manage transactional emails including order confirmations, password resets, and account notifications.

Business capability
Email AE-150.10

Operations 24

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /smtp/email Send a transactional email · Send a transactional email #
Ask an LLM
“How do I send a password reset email from my app?”
“Can I schedule a transactional email or attach files?”
Tell an agent
Send an email from {sender} to {to} with subject {subject}.
Email {to} from {sender} using template {templateId} with params {params}.
POST /smtp/email/batch Send many transactional emails in one call · Batch send transactional emails #
Ask an LLM
“Can I send different personalized emails to many recipients in one request?”
“What lets each email in a batch have its own content and parameters?”
Tell an agent
Batch send these email versions {messageVersions}.
Send the batch of personalized emails {messageVersions} in one call.
GET /smtp/email/{messageId} Get the content of a sent email · Get the content of a sent transactional email #
Ask an LLM
“What exactly did a customer receive in a transactional email I sent?”
“Can I view the rendered HTML of a sent message?”
Tell an agent
Show the content of sent email {messageId}.
Get the rendered subject and body of message {messageId}.
GET /smtp/emails List sent transactional emails · Get the list of transactional emails on the basis of allowed filters #
Ask an LLM
“Which transactional emails did we send to a particular address in the last 30 days?”
“Can I find every sent email that used a certain template?”
Tell an agent
List transactional emails sent to {email}.
List transactional emails sent with template {templateId} between {startDate} and {endDate}.
GET /smtp/emails/{uuid} Get the personalized content of a sent email · Get the personalized content of a sent transactional email #
Ask an LLM
“Which version of an email, with their own merge values, did one recipient get, looked up by the uuid from the logs?”
“Can I view the rendered body of one sent email by its uuid?”
Tell an agent
Pull the per-recipient personalized email for log uuid {uuid}.
Fetch the rendered body the recipient saw for email {uuid}.
DELETE /smtp/email/{identifier} Cancel scheduled transactional emails · Delete scheduled emails by batchId or messageId #
Ask an LLM
“How do I cancel a transactional email I scheduled but haven't sent yet?”
“Can I delete an entire scheduled batch by its batchId?”
Tell an agent destructive · confirm first
Delete the scheduled email or batch {identifier}.
Cancel scheduled batch {identifier} before it goes out.
GET /smtp/emailStatus/{identifier} Check the status of scheduled emails · Fetch scheduled emails by batchId or messageId #
Ask an LLM
“Has my scheduled batch of transactional emails been sent yet?”
“Can I filter a scheduled batch to see only the emails still in queue?”
Tell an agent
Fetch the status of scheduled batch or message {identifier}.
Show the emails in scheduled batch {identifier} with status {status}.
POST /smtp/deleteHardbounces Clear hard bounces · Delete hardbounces #
Ask an LLM
“Can I remove hard bounces caused by a temporary ISP outage?”
“How do I clear the hard bounce record for one contact's email?”
Tell an agent destructive · confirm first
Delete hard bounces recorded for {contactEmail}.
Delete all hard bounces logged between {startDate} and {endDate}.
GET /smtp/statistics/reports Get daily transactional email stats · Get your transactional email activity aggregated per day #
Ask an LLM
“What were my transactional email delivery and open numbers per day this week?”
“Can I get day-by-day email stats for one tag only?”
Tell an agent
Show my transactional email stats per day for the last {days} days.
Give me the day-by-day transactional report for tag {tag} from {startDate} to {endDate}.
GET /smtp/statistics/events List individual transactional email events · Get all your transactional email activity (unaggregated events) #
Ask an LLM
“Which transactional emails to one address bounced or were opened, event by event?”
“Can I see the raw delivery, open and click events for a single message id?”
Tell an agent
List every transactional email event for {email} in the last {days} days.
Show the {event} events for transactional emails sent with template {templateId}.
GET /smtp/statistics/aggregatedReport Get total transactional email stats for a period · Get your transactional email activity aggregated over a period of time #
Ask an LLM
“What were my overall transactional email delivery, open and bounce totals over the last quarter?”
“Can I get one summed-up email activity figure for a single tag?”
Tell an agent
Give me the aggregated transactional email totals from {startDate} to {endDate}.
Sum up transactional email activity for tag {tag} over the past {days} days.
DELETE /smtp/log/{identifier} Delete transactional email logs · Delete an SMTP transactional log #
Ask an LLM
“Can I erase the transactional email logs for a person's address?”
“Is it possible to delete SMTP logs for one message ID within a date window?”
Tell an agent destructive · confirm first
Delete the SMTP transactional logs for {identifier}.
Delete transactional logs for {identifier} from {from_date} to {to_date}.
GET /smtp/templates List transactional email templates · Get the list of email templates #
Ask an LLM
“Which transactional email templates do I have in my account?”
“Can I list only the inactive email templates?”
Tell an agent
List my email templates where active is {templateStatus}.
Show {limit} email templates, oldest first by {sort}.
POST /smtp/templates Create a transactional email template · Create an email template #
Ask an LLM
“How do I build a new reusable transactional email template?”
“Can I create a template from an HTML URL instead of pasting the HTML?”
Tell an agent
Create email template {templateName} with subject {subject} from sender {sender}.
Create active template {templateName} sent by {sender}, subject {subject}, body loaded from {htmlUrl}.
DELETE /smtp/templates/{templateId} Delete an inactive email template · Delete an inactive email template #
Ask an LLM
“How do I permanently remove an email template I no longer use?”
“Why can't I delete a template that is still active?”
Tell an agent destructive · confirm first
Delete inactive email template {templateId}.
Permanently remove template {templateId} from my account.
PUT /smtp/templates/{templateId} Edit an existing email template · Update an email template #
Ask an LLM
“Can I change the subject line of an email template I already made?”
“How do I deactivate an email template so I can delete it later?”
Tell an agent
Change the subject of email template {templateId} to {subject}.
Set template {templateId} active flag to {isActive}.
GET /smtp/templates/{templateId} Get one email template's details · Returns the template information #
Ask an LLM
“What subject, sender and HTML does a specific email template use?”
“Can I tell whether a template is a double opt-in template?”
Tell an agent
Show the details of email template {templateId}.
Open template {templateId} and tell me whether it is active.
POST /smtp/templates/{templateId}/sendTest Send a test of a transactional template · Send a template to your test list #
Ask an LLM
“Can I send myself a test of a transactional template before using it?”
“What happens if I leave the recipient list empty when testing a template?”
Tell an agent
Send a test of template {templateId} to {emailTo}.
Send template {templateId} to my test list.
POST /smtp/template/preview Preview a rendered transactional template · Generate the rendered preview of transactional template #
Ask an LLM
“What will a transactional template look like once its variables are filled in?”
“Can I render a template with a real contact's data before sending?”
Tell an agent
Generate a rendered preview of a transactional template.
Render the template preview with resolved variables using API key {api_key}.
GET /smtp/blockedContacts List blocked or unsubscribed transactional contacts · Get the list of blocked or unsubscribed transactional contacts #
Ask an LLM
“Which contacts are blocked from receiving our transactional emails and why?”
“Can I see who unsubscribed from transactional mail during a date range?”
Tell an agent
List blocked transactional contacts between {startDate} and {endDate}.
Show blocked or unsubscribed contacts for senders {senders}.
DELETE /smtp/blockedContacts/{email} Unblock a transactional contact · Unblock or resubscribe a transactional contact #
Ask an LLM
“How do I let a blocked address receive transactional emails again?”
“Can I resubscribe someone who unsubscribed from transactional mail?”
Tell an agent destructive · confirm first
Unblock transactional contact {email}.
Remove {email} from the transactional blocklist so they get emails again.
POST /smtp/blockedDomains Block a recipient domain · Add a new domain to the list of blocked domains #
Ask an LLM
“Can I stop all emails from going to an entire domain?”
“How do I add a domain to the blocklist?”
Tell an agent
Block domain {domain}.
Add {domain} to the blocked domains list.
GET /smtp/blockedDomains List blocked email domains · Get the list of blocked domains #
Ask an LLM
“Which recipient domains am I blocking from transactional sends?”
“Where can I see my domain blocklist?”
Tell an agent
List my blocked domains.
Show the domain blocklist on my account using API key {api_key}.
DELETE /smtp/blockedDomains/{domain} Unblock a recipient domain · Unblock an existing domain from the list of blocked domains #
Ask an LLM
“How do I allow emails to a domain I blocked earlier?”
“Can I take a domain off the blocklist?”
Tell an agent destructive · confirm first
Unblock domain {domain}.
Remove {domain} from my blocked domains.

Documentation

Specifications

Schemas & Data

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:brevo-transactional-emails-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-transactional-emails-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Brevo Transactional Email Transactional Emails 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:


# --- truncated at 32 KB (131 KB total) ---
# Full source: https://artifacts.apis.io/brevo/openapi/brevo-transactional-emails-api-openapi.yml