Skip to content

Exchange Code

POST/api/v1/oauth2/exchange

Exchange a single-use code or refresh token for access + refresh tokens.

Called from the SPA — no client credentials required. The code was already authenticated when created via POST /oauth2/token.

Code exchange: Provide code from the /token response. Token refresh: Provide refresh_token from a previous exchange.

Operation ID: exchange_code·View as markdown·OpenAPI slice

Authentication

Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.

Responses

200Successful Response

access_tokenstringrequired

The access token (JWT)

token_typestring

Token type (always 'Bearer')

expires_inintegerrequired

Access token lifetime in seconds

refresh_tokenstring

Refresh token for obtaining new access tokens

scopestring

Granted scope (may differ from requested)

business_idstring

MCP grants bound to one business: that business's id. Absent when the grant reaches every business the user can.

business_namestring

MCP grants bound to one business: that business's name

422Validation Error

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.