OAuth 2.0

Token-based authentication for Brevo integrations that act on behalf of a user

Brevo OAuth 2.0 lets your application request access to a user’s Brevo account with their consent. The user authenticates directly with Brevo — your app never handles their password.

API key vs OAuth 2.0

API keyOAuth 2.0
Who authenticatesYour serverThe end user
Best forServer-to-server, direct integrationsApps acting on behalf of users
SetupCopy key from dashboardbrevo app create
Token lifetimeUntil revokedAccess token: 1 hour · Refresh token: 30 days

How it works

Key concepts

TermDescription
client_idUnique identifier for your OAuth app — safe to expose client-side
client_secretSecret used to authenticate your app with Brevo — never expose this
redirect_uriURL Brevo redirects to after the user authorizes — must be pre-registered
scopePermissions your app requests — currently all
access_tokenBearer token included in API requests. Expires after 1 hour.
refresh_tokenUsed to obtain a new access token when the current one expires. Valid for 30 days.

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.

Next steps