Skip to main content

Authentication

BPP supports two authentication methods.

:::info MCP access Connecting an AI agent (Claude, ChatGPT, …) over the Model Context Protocol uses its own credential type — personal MCP tokens — separate from the methods below. See BPP MCP Server. :::

JWT Authentication​

JWT (JSON Web Token) authentication is used for user-facing API access — for example, from custom integrations using user credentials.

Obtain a token​

POST /api/v1/jwt/create/
Content-Type: application/json

{
"email": "user@example.com",
"password": "yourpassword"
}

Response:

{
"access": "<access_token>",
"refresh": "<refresh_token>"
}
  • The access token is short-lived (minutes to hours).
  • The refresh token is long-lived and used to obtain new access tokens without re-entering credentials.

Use the token​

Include the access token in the Authorization header of every API request:

Authorization: Bearer <access_token>

Refresh the token​

POST /api/v1/jwt/refresh/
Content-Type: application/json

{
"refresh": "<refresh_token>"
}

Verify a token​

POST /api/v1/jwt/verify/
Content-Type: application/json

{
"token": "<token_to_verify>"
}

Returns 200 OK if the token is valid.

Logout​

To invalidate the refresh token:

POST /api/v1/jwt/logout/
Authorization: Bearer <access_token>

Static API Key Authentication​

Static API keys are used for automated integrations — for example, custom scripts or scheduled jobs that call the BPP API.

Using the API key​

Authorization: Api-Key <your-api-key>

Obtaining an API key​

Static API keys are provisioned by your BPP administrator. Contact your administrator to request or rotate a key.

Key rotation​

To rotate a static API key:

  1. Request a new key from your BPP administrator.
  2. Update all integrations that use the old key.
  3. Confirm everything is working before decommissioning the old key.

Social Login​

BPP supports social login via:

  • Google OAuth — for user authentication and for connecting Google Ads accounts.
  • Facebook OAuth — for connecting Meta Ads accounts.

Social login for users is handled via the /api/v1/auth/ endpoints. Connection-level OAuth flows (Google Ads, Meta Ads) are initiated from the Connections section of the BPP UI.

Data isolation​

All authenticated API requests are automatically scoped to the customer workspace associated with the authenticated user. You cannot access data from other workspaces.