Manage your contacts in Brevo
Import contacts to Brevo to send email campaigns, SMS, and marketing automation messages. Use the API to create and update contacts programmatically.
Import at least the contact’s email address. You can also import additional contact attributes such as first name, last name, birthday, mobile phone number, and other custom fields.
Other methods to manage contacts
To manage contacts through the Brevo app or import contacts using CSV files, see the help center tutorial.
Before you start
Get your API key
Retrieve your API key from your account settings. Read the Authentication guide for details.
Create a contact
Create contacts using the POST /v3/contacts endpoint. You can create email contacts, SMS contacts, or both.
Endpoint
Request parameters
Create different types of contacts:
Request
Email contact:
SMS contact:
Email and SMS contact with attributes:
Assign to contact lists:
Get contact list IDs from Contacts > Lists in the Brevo platform or using the get all lists endpoint.
Request example
Response
A successful response returns status code 201 with the contact ID:
If the request fails, you’ll receive a 400 error. Common errors include:
- Invalid email address or phone number
- Email or phone number already exists in your database
- Missing or invalid API key
- Missing
Content-Type: application/jsonheader
Verify the contact
After creating a contact, verify it was created:
- Check the Contacts section in the Brevo platform
- Use the retrieve contact information endpoint
API Reference testing
You can test the endpoint using the API Reference. When testing, you make real API calls that count against your rate limits and credits.
Code examples
For each request, include the following headers:
api-key: YOUR_API_KEYcontent-type: application/jsonaccept: application/json
Using API clients
For production integrations, use our API clients which provide shortcuts and easier integration. Available clients: C#, Go, Java, Node.js, PHP, Python, Ruby, and TypeScript.
Update a contact
Update existing contacts using the PUT /v3/contacts/{identifier} endpoint.
Endpoint
PUT https://api.brevo.com/v3/contacts/{identifier}
The identifier is the contact’s email address or phone number in the format <phone_number>@mailin-sms.com (e.g., 0612345678@mailin-sms.com).
Request example
Response
A successful update returns status code 204 with no response body.
Code examples
Manage contact lists
Assign contacts to lists:
Unassign contacts from lists:
Common use cases
Create a contact with email and attributes
Update contact attributes
Add contact to multiple lists
Troubleshooting
Error: Invalid email address
Problem: Request fails with email validation error.
Solution: Verify the email address format is correct (e.g., user@example.com).
Error: Contact already exists
Problem: Request fails because contact already exists.
Solution: Set updateEnabled: true in the create request to update existing contacts, or use the update endpoint instead.
Error: Missing API key
Problem: Request fails with authentication error.
Solution: Ensure the api-key header is included in your request with a valid API key.
Next steps
- Learn about contact attributes
- Manage contact lists
- Import contacts using CSV files
- Review the full API reference