Exchange API key for an access token
const url = 'https://dev-api.infiniteaudience.ai/v1/auth/token';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"api_key":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://dev-api.infiniteaudience.ai/v1/auth/token \ --header 'Content-Type: application/json' \ --data '{ "api_key": "example" }'Public endpoint — no token required. Exchanges an org API key (cf_live_...) for a short-lived Bearer access token. Include the returned access_token as Authorization: Bearer <access_token> on all subsequent protected requests. Suspended organisations and children of a suspended agency cannot exchange API keys.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Organisation API key in format cf_live_…
Examplegenerated
{ "api_key": "example"}Responses
Section titled “Responses”Access token issued
object
Bearer access token — include as Authorization header on protected requests
Token lifetime in seconds
Example
{ "token_type": "bearer"}Invalid request — malformed body, missing required attribute, or failed validation. See error and message for details.
object
Stable machine-readable error code (e.g. INVALID_STATUS_TRANSITION, BILLING_INSUFFICIENT_BALANCE). Always present.
Human-readable explanation of the error.
Alternate machine-readable code — present on some endpoints as an alias for error for backward compatibility.
Opaque support/debug identifier when available.
Examples
{ "error": "Bad Request", "code": "MISSING_SEGMENTS", "message": "segment_ids is required for filter audiences."}Missing or invalid Bearer token. Obtain one via POST /v1/auth/token. When a token was supplied but rejected, code distinguishes TOKEN_EXPIRED (the token’s lifetime has passed — request a new one via POST /v1/auth/token and retry) from TOKEN_INVALID (malformed or revoked — re-authenticate).
object
Stable machine-readable error code (e.g. INVALID_STATUS_TRANSITION, BILLING_INSUFFICIENT_BALANCE). Always present.
Human-readable explanation of the error.
Alternate machine-readable code — present on some endpoints as an alias for error for backward compatibility.
Opaque support/debug identifier when available.
Examples
{ "error": "Unauthorized: Missing or invalid Authorization header"}{ "error": "Unauthorized", "code": "TOKEN_EXPIRED", "message": "Your session has expired. Please sign in again."}The authenticated organisation is suspended or otherwise forbidden from performing this operation.
object
Stable machine-readable error code (e.g. INVALID_STATUS_TRANSITION, BILLING_INSUFFICIENT_BALANCE). Always present.
Human-readable explanation of the error.
Alternate machine-readable code — present on some endpoints as an alias for error for backward compatibility.
Opaque support/debug identifier when available.
Examplegenerated
{ "error": "example", "message": "example", "code": "example", "request_id": "example"}