Skip to main content
Every endpoint except GET /health requires an OAuth 2.0 bearer access token, obtained through the Authorization Code flow against Dialbird’s OIDC provider. The token is a signed JWT with aud: "public-api", which the API verifies against the issuer’s JWKS.

OAuth 2.0 endpoints

The flow is Authorization Code (PKCE supported). After the user authorizes your client, exchange the authorization code at the token endpoint for an access token and refresh token.

Sending the token

Send the access token as a bearer token on every request:
Access tokens must never be passed as a ?access_token= query parameter. Requests that do are rejected with 401 invalid_token.

Scopes

Request only the scopes your integration needs. Each endpoint documents the scope it requires. A token missing the required scope for an endpoint receives 403 insufficient_scope.

Verifying a token

Call GET /me to confirm a token is valid and see what it resolves to. Zapier and other OAuth clients use this as their “Test Authentication” URL.

Token errors

When a token is expired, use the refresh token against the token endpoint to obtain a new access token rather than re-running the full authorization flow.