Getting started
Authentication
API keys, the Authorization header, number restrictions and revocation.
Every request is authenticated with an API key sent in the Authorization header. There is no Bearer prefix.
Authorization: bzp_live_7dQx1sVnKp0aZ2mB9tLcW4eR6yH3uJfG5iN8oPqXsKey format
Production keys look like bzp_live_ followed by 43 alphanumeric characters. After creation the dashboard only shows its prefix (for example bzp_live_7dQx1s), so store the full key somewhere safe right away.
Organization
A key belongs to exactly one organization, and every request is scoped to it. There is no organization_id parameter anywhere in the API: it always comes from the key.
Restricting a key to numbers
- No restriction (default): the key can act from any WhatsApp number of the organization.
- One number: the key can only use that number, and its
integration_idis injected automatically when you omit it. - Several numbers: you must pass
integration_idexplicitly on routes that act from a number. Omitting it returns403 INTEGRATION_ID_REQUIRED; a number outside the list returns403 INTEGRATION_NOT_ALLOWED.
Revocation
Revoke a key from Settings → API keys. Authorization results are cached for up to 5 minutes, so a revoked key may keep working for that long. Rotate by creating the new key first, deploying it, then revoking the old one.
Treat API keys like passwords: keep them on the server side, never in a browser, a mobile app or a public repository.
