OAuth 2.0
Token-based authentication — machine-to-machine or on behalf of a user
Brevo’s OAuth 2.0 support covers two different flows, depending on who’s authenticating:
Which flavor of OAuth do I need?
If your integration is a backend service calling Brevo on its own behalf — the same role a static API key plays today — use machine-to-machine. It’s scoped and short-lived where an API key is all-access and long-lived, and it’s the recommended replacement for a static API key in new integrations.
Reach for the authorization_code flow below only when there’s an actual Brevo user in the loop: your app needs to act with that specific user’s permissions, and they need to see and approve a consent screen.
API key vs OAuth 2.0
The rest of this page covers the OAuth apps (authorization_code) flow — for machine-to-machine, see Machine-to-machine (M2M) instead.
How it works
Key concepts
Scopes
Scopes are the permissions your app requests on a user’s Brevo account. Each scope follows the pattern {resource}:{action} — for example, contacts:read to list contacts or transactional.email:write to send transactional emails.
- New apps created with
brevo app createare seeded withcontacts:read,contacts:write,crm:read,crm:write. Change them by editingauth.scopesinapp-config.jsonand runningbrevo app upload. :writedoes not imply:read. Request both if your app needs both.- Request the minimum your app needs — users see every requested scope on the consent screen.
See the Scopes reference for the full catalog and how to inspect a token’s scopes.
OAuth apps are currently private only. A private app can only be authorized by users within your own Brevo organisation — it cannot be distributed to external users or listed in any marketplace. This makes it suitable for internal tools, automations, and integrations you build for your own team.
Support for public apps — where any Brevo user can authorize your integration — is planned for a future release.
Building an app?
Creating an OAuth app, requesting scopes, and the full authorization-code walkthrough now live under Apps.