Skill Overview
---
name: brevo
version: 1.0.0
description: Brevo (formerly Sendinblue) email marketing API for managing contacts, lists, sending transactional emails, and campaigns. Use when importing contacts, sending emails, managing subscriptions, or working with email automation.
---
# Brevo Email Marketing API
Manage contacts, send emails, and automate marketing via Brevo's REST API.
## Authentication
```bash
BREVO_KEY=$(cat ~/.config/brevo/api_key)
```
All requests require header: `api-key: $BREVO_KEY`
## Base URL
```
https://api.brevo.com/v3
```
## Common Endpoints
### Contacts
| Action | Method | Endpoint |
|--------|--------|----------|
| Create contact | POST | `/contacts` |
| Get contact | GET | `/contacts/{email}` |
| Update contact | PUT | `/contacts/{email}` |
| Delete contact | DELETE | `/contacts/{email}` |
| List contacts | GET | `/contacts?limit=50&offset=0` |
| Get blacklisted | GET | `/contacts?emailBlacklisted=true` |
### Lists
| Action | Method | Endpoint |
|--------|--------|----------|
| Get all lists | GET | `/contacts/lists` |
| Create list | POST | `/contacts/lists` |
| Get list contacts | GET | `/contacts/lists/{listId}/contacts` |
| Add to list | POST | `/contacts/lists/{listId}/contacts/add` |
| Remove from list | POST | `/contacts/lists/{listId}/contacts/remove` |
### Emails
| Action | Method | Endpoint |
|--------|--------|----------|
| Send transactional | POST | `/smtp/email` |
| Send campaign | POST | `/emailCampaigns` |
| Get templates | GET | `/smtp/templates` |
## Examples
### Create/Update Contact
```bash
curl -X POST "https://api.brevo.com/v3/contacts" \
-H "api-key: $BREVO_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"listIds": [10],
"updateEnabled": true,
"attributes": {
"NOMBRE": "John",
"APELLIDOS": "Doe"
}
}'
```
### Get Contact Info
```bash
curl "https://api.brevo.com/v3/contacts/user@example.com" \
-H "api-key: $BREVO_KEY"
```
### Update CBot Reviews(1)
email marketing contacts via a rest api
brevo wraps the email marketing api for contacts, lists, transactional sends, campaigns, and templates, with plain endpoint tables an agent can follow. The dependency is explicit: the key is read from a file under the config directory and sent as an api-key header on every request. Nothing here is reversible in the ordinary sense. Deleting a contact and sending a campaign both push outward immediately, and the documented flow offers no staging step, so testing belongs against a small list first. It is a hosted service, so offline use is impossible and data residency follows the vendor.
Use case: syncing webinar signups to a list
Study Guides(1)
Managing contacts and campaigns over a mail api
This skill covers a transactional and marketing mail service. It manages contacts and lists, sends individual messages and campaigns, and reads saved templates, all through one http interface with a single key. ## What it does - Creates, reads, updates and deletes contacts. - Lists contacts with paging and filters, including suppressed addresses. - Groups contacts into lists and moves them in and out. - Sends transactional mail and full campaigns. - Reads saved templates. ## When it is the wrong choice It sends real mail. There is no dry run among the described endpoints, so a test against a live list reaches actual inboxes, and a campaign cannot be recalled once it has gone. The credential is a bare key sent in its own header rather than a bearer token kept in a file, which makes file permissions matter more than they would otherwise. Contact attributes are defined per account, so a payload built around one account's field names will not fit another without checking, and the example in the skill uses attribute names in a language the account happens to speak. The whole surface is a marketing tool rather than a mail server, so delivery behaviour belongs to the provider. Templates and campaigns are also separate surfaces with their own payload shapes, so a body built for one is not accepted by the other. ```bash curl -s "$brevo_base/contacts" -H "api-key: $brevo_key" ``` ## Working notes - The key travels in its own header rather than as a bearer token. - List reads support paging and a suppressed address filter. - Contact attributes are defined per account.
Quick Facts
Install
npx clawhub@latest install brevo