canonical: https://jentic.com/apis/brevo.com/brevo

# Brevo Email API

Jentic publishes the only available OpenAPI specification for Brevo Email API, keeping it validated and agent-ready. Send transactional emails with template support, retrieve delivery statistics with event-level granularity, and manage blocked contacts and hard bounces. Supports 16 endpoints covering SMTP email sending, template management, delivery event tracking, and aggregated reporting with per-message UUID-based status lookups.

## For AI agents

Send transactional emails via SMTP relay, manage reusable email templates, track delivery events, and retrieve aggregated sending statistics. Covers 16 endpoints for email delivery and monitoring.

## Scope

Does not handle marketing campaign management, audience segmentation, or SMS messaging - use for transactional email delivery, template management, and delivery monitoring only.

## Capabilities

- Send transactional emails with dynamic template variables, attachments, and per-recipient personalization
- Track delivery events including opens, clicks, bounces, and spam reports at per-message granularity
- Retrieve aggregated sending statistics with daily breakdowns for deliverability monitoring
- Manage reusable email templates with variable placeholders for consistent transactional messaging
- Delete hard-bounced contacts to maintain sender reputation and list hygiene
- Look up individual email delivery status by message UUID or identifier

## Use cases

### AI Agent Transactional Email Delivery

AI agents use the Brevo Email API through Jentic to send transactional emails triggered by application events - order confirmations, password resets, shipping notifications, and account alerts. The agent searches for 'send transactional email' via Jentic, receives the POST /smtp/email operation schema with required fields (sender, to, subject, htmlContent or templateId), and executes the send without parsing Brevo documentation. Integration takes under an hour through Jentic versus 1-2 days for direct API key setup and template configuration.

Example prompt: Send a transactional email using template ID 5 to user@example.com with dynamic variables for order_id and shipping_date, then verify delivery status using the returned message UUID

### Email Delivery Monitoring and Analytics

Retrieve detailed delivery event logs and aggregated statistics to monitor email performance and sender reputation. The /smtp/statistics/events endpoint returns per-message events (delivered, opened, clicked, bounced, spam) with timestamps. The /smtp/statistics/aggregatedReport endpoint provides daily rollups of sends, deliveries, opens, clicks, and bounces for trend analysis and alerting on deliverability drops.

Example prompt: Retrieve the aggregated email report for the last 7 days and flag any day where the bounce rate exceeds 3%

### Template-Based Email Workflows

Create and manage reusable email templates with dynamic variable placeholders at /smtp/templates. Templates support HTML content with Brevo's templating syntax for personalization - recipient names, order details, account information. The POST /smtp/email endpoint accepts a templateId with params object, rendering the template server-side before delivery. Template updates propagate instantly to all future sends without code changes.

Example prompt: Create a new email template with HTML content containing variables for first_name and activation_link, then send a test email using that template

### Sender Reputation and List Hygiene

Maintain sender reputation by identifying and removing hard-bounced and blocked contacts. The DELETE /smtp/deleteHardbounces endpoint purges contacts that have permanently bounced. The GET /smtp/blockedContacts endpoint lists contacts blocked due to bounces, spam complaints, or unsubscribes. Regular automated cleanup prevents deliverability degradation from sending to invalid addresses.

Example prompt: Retrieve all blocked contacts, filter for hard bounces in the last 30 days, and execute the delete hard bounces operation to clean the sending list

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /smtp/email | Send a transactional email |
| GET | /smtp/emails | List transactional emails sent |
| GET | /smtp/emails/{uuid} | Get email details by UUID |
| GET | /smtp/statistics/events | Retrieve delivery event logs |
| GET | /smtp/statistics/aggregatedReport | Get aggregated sending statistics |
| GET | /smtp/templates | List email templates |
| DELETE | /smtp/deleteHardbounces | Purge hard-bounced contacts |
| GET | /smtp/blockedContacts | List blocked contacts |

## Key resources

- **SMTP Email** — Send transactional emails with templates, attachments, and personalization variables
- **Statistics** — Retrieve delivery events and aggregated reports for monitoring sender performance
- **Templates** — Create and manage reusable email templates with dynamic variable support
- **Blocked Contacts** — View and manage contacts blocked from receiving emails due to bounces or complaints

## Why Jentic

- **Setup:** Wiring Brevo by hand means setting the api-key header on every request, tracking which SMTP endpoint sends versus reports, and polling delivery statistics yourself. Through Jentic you install once, import the Brevo Email API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Brevo's transactional endpoints carry their target in the request body and query, not as a resource id in the URL path, so scoping is operations-only: limit the agent to the operations it needs, such as sending a transactional email and reading delivery events. You choose which operations it may call, so a destructive one like deleting hard bounces is not included unless you add it.
- **Credential handling:** Your Brevo API key is stored once, encrypted, by your own Jentic One instance and injected as the api-key header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send a transactional email with a template', and Jentic returns the matching Brevo operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **SendGrid Mail API** — High-volume transactional email delivery with advanced deliverability infrastructure and IP management
- **Postmark Server API** — Transactional email focused on fast inbox delivery with strict sending policies
- **SparkPost API** — Email delivery with predictive analytics and inbox placement testing
- **Mailchimp Marketing API** — Full marketing email platform with audience management, campaigns, and automations

## FAQ

### Why is there no official OpenAPI spec for Brevo Email API?

Brevo does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Brevo Email API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Brevo Email API use?

The Brevo Email API uses an API key passed in the 'api-key' header with each request. Through Jentic, your Brevo API key is stored encrypted in your Jentic One instance. Agents receive scoped access tokens so the raw key never enters the agent's context.

### Can I send emails with dynamic templates using the Brevo Email API?

Yes. POST to /smtp/email with a templateId field and a params object containing your variable values (e.g., first_name, order_id). Brevo renders the template server-side with your parameters before delivery. Templates are managed via GET and POST /smtp/templates.

### What are the rate limits for the Brevo Email API?

Brevo enforces sending limits based on your plan. Free plans allow 300 emails per day. Paid plans start at 20,000 emails per month with no daily limit. The API itself allows multiple concurrent requests but will return 429 status when plan sending limits are reached.

### How do I track email delivery status through Jentic?

Search Jentic for 'check email delivery status' to find the GET /smtp/emails/{uuid} operation. Each sent email returns a messageId UUID that you can use to query delivery status including whether it was delivered, opened, clicked, or bounced. Install with pip install jentic and use the search-load-execute flow.

### How do I clean hard-bounced contacts from my sending list?

Use DELETE /smtp/deleteHardbounces to purge all contacts that have permanently bounced. To review before deleting, first call GET /smtp/blockedContacts to see the full list of blocked addresses with their block reason and date. Regular cleanup prevents deliverability issues from accumulating invalid addresses.

### Can I retrieve per-message event logs with the Brevo Email API?

Yes. GET /smtp/statistics/events returns event-level logs including deliveries, opens, clicks, bounces, and spam reports. Filter by date range, event type, or email address. For individual message tracking, GET /smtp/emails/{uuid} returns the full event history for a specific email by its UUID.

### Can I limit what my agent is allowed to do with the Brevo Email API?

Yes. Brevo's transactional endpoints carry their target in the request body and query rather than as a resource id in the URL path, so scoping is operations-only: because Jentic One runs self-hosted, your own rules decide which Brevo operations the agent may call. You can allow it to send a transactional email and read delivery events and statistics while withholding a destructive operation such as deleting hard bounces at /smtp/deleteHardbounces, which stays off unless you add it. Your API key is injected only at execution time, so the agent never sees the raw credential.
