Set up a loyalty program
Overview
This guide walks through creating and configuring a loyalty program via API — from creation through to publishing. You can also configure programs in the Brevo UI (Loyalty > Programs) and use the API exclusively for runtime operations.
Authentication
All Loyalty API requests require your Brevo API key as a request header.
Retrieve your API key from Settings > API Keys in the Brevo app, or at app.brevo.com/settings/keys/api.
Never expose your API key in client-side code. All Loyalty API calls must be made server-side.
Steps
Create the program
Endpoint: POST https://api.brevo.com/v3/loyalty/config/programs
Request parameters
Response (200)
Save the returned id — you will use it as {pid} (program ID) in all subsequent calls.
state starts as inactive. Members cannot be enrolled until the program is published in Step 4.
Define a balance definition
Endpoint: POST https://api.brevo.com/v3/loyalty/config/programs/{pid}/balance-definitions
Request parameters
Configure tier groups (optional)
Endpoint: POST https://api.brevo.com/v3/loyalty/config/programs/{pid}/tier-groups
Tier group parameters
Tier evaluation trigger options
Set upgradeEvaluationTrigger: real_time and downgradeEvaluationTrigger: membership_anniversary. This upgrades members instantly while protecting them from losing status mid-year.
Tier thresholds within the same group must be unique — two tiers cannot share the same entry point. Any threshold change requires re-publishing the program.
Publish the program
Endpoint: POST https://api.brevo.com/v3/loyalty/config/programs/{pid}/publish
Response (200): Returns the updated program object with "state": "active".
Any configuration changes made after publishing — to tiers, balance definitions, or rewards — require calling /publish again before they take effect for members.