3.7 KiB
3.7 KiB
Brevo Routing Reference
App name: brevo
Base URL proxied: api.brevo.com
API Path Pattern
/brevo/v3/{resource}
Common Endpoints
Account
GET /brevo/v3/account
Contacts
List Contacts
GET /brevo/v3/contacts?limit=50&offset=0
Get Contact
GET /brevo/v3/contacts/{identifier}
Create Contact
POST /brevo/v3/contacts
Content-Type: application/json
{
"email": "contact@example.com",
"attributes": {"FIRSTNAME": "John", "LASTNAME": "Doe"},
"listIds": [2]
}
Update Contact
PUT /brevo/v3/contacts/{identifier}
Content-Type: application/json
{
"attributes": {"FIRSTNAME": "Updated"}
}
Delete Contact
DELETE /brevo/v3/contacts/{identifier}
Lists
List All Lists
GET /brevo/v3/contacts/lists
Create List
POST /brevo/v3/contacts/lists
Content-Type: application/json
{
"name": "New List",
"folderId": 1
}
Add Contacts to List
POST /brevo/v3/contacts/lists/{listId}/contacts/add
Content-Type: application/json
{
"emails": ["contact@example.com"]
}
Folders
List Folders
GET /brevo/v3/contacts/folders
Create Folder
POST /brevo/v3/contacts/folders
Content-Type: application/json
{
"name": "New Folder"
}
Transactional Emails
Send Email
POST /brevo/v3/smtp/email
Content-Type: application/json
{
"sender": {"name": "John", "email": "john@example.com"},
"to": [{"email": "recipient@example.com", "name": "Jane"}],
"subject": "Hello!",
"htmlContent": "<html><body><h1>Hi!</h1></body></html>"
}
Get Email Statistics
GET /brevo/v3/smtp/statistics/events?limit=50
Email Templates
List Templates
GET /brevo/v3/smtp/templates
Create Template
POST /brevo/v3/smtp/templates
Content-Type: application/json
{
"sender": {"name": "Company", "email": "noreply@company.com"},
"templateName": "Welcome Email",
"subject": "Welcome {{params.name}}!",
"htmlContent": "<html><body><h1>Hello {{params.name}}!</h1></body></html>"
}
Email Campaigns
List Campaigns
GET /brevo/v3/emailCampaigns
Create Campaign
POST /brevo/v3/emailCampaigns
Content-Type: application/json
{
"name": "Newsletter",
"subject": "Monthly Update",
"sender": {"name": "Company", "email": "news@company.com"},
"htmlContent": "<html><body><h1>News</h1></body></html>",
"recipients": {"listIds": [2]}
}
Send Campaign
POST /brevo/v3/emailCampaigns/{campaignId}/sendNow
Senders
List Senders
GET /brevo/v3/senders
Create Sender
POST /brevo/v3/senders
Content-Type: application/json
{
"name": "Marketing",
"email": "marketing@company.com"
}
Attributes
List Attributes
GET /brevo/v3/contacts/attributes
Pagination
Brevo uses offset-based pagination:
GET /brevo/v3/contacts?limit=50&offset=0
Parameters:
limit- Results per page (max varies by endpoint, typically 500)offset- Starting index (0-based)
Response includes count:
{
"contacts": [...],
"count": 150
}
Notes
- All endpoints require
/v3/prefix - Attribute names must be UPPERCASE
- Contact identifiers: email, phone, or ID
- Template parameters:
{{params.name}}syntax - PUT/DELETE return 204 No Content on success
- Rate limit: 300 calls/min (free), higher on paid plans