Two credentials, one header
Personal access token. Found under Settings → Profile. A 48-character hex string with your full role, no expiry. Good for exploring; rotate it withPOST /core/profile/reset_access_token if it ever leaks.
Scoped API key. Created by an account admin at
Account → Developer API. Recognised by the hc_ prefix. Carries
only the scopes selected in HueChat, plus its own rate limit, optional IP
allowlist and expiry. Keys are created, rotated, reviewed and revoked in the
authenticated HueChat app; those account-management operations are not
published in this developer portal. A key works on
/core/accounts/{account_id}/… and /api/v2/accounts/{account_id}/… only;
it cannot read your profile or open a session.
Both go on the same header. The server tells them apart by the prefix.
Scope
A personal token acts as you. A scoped key acts as the account, limited to the scopes it was given. When a key lacks a scope the response is403:
Sales and Customer CDP routes accept their dedicated scope (for example
quotes:read or cdp:read) or the broader deals:* / contacts:*
scope, so keys created before the dedicated scopes existed keep working.
Grant new integrations the dedicated scopes only. The scope picker in HueChat is
the authoritative list for your account.
Keeping it safe
Keep it in an environment variable or a secrets manager. Prefer a scoped key with the smallest scope set, an expiry date and an IP allowlist. If one leaks, revoke or rotate it under Account → Developer API; the old value stops working immediately.Checking a token works
200 means the credential is authorized for this request. For 401, check
the token and the Authorization: Bearer format. For 403, check that the
account ID belongs to the key, its owner still has account access, and the
key includes conversations:read.
