Exchange the headless SSO one-time token for a session token
Server-to-server: requires an enterprise service API key (Bearer or x-api-key). Exchanges the one-time token issued by /api/customer-auth/enterprise-return (single-use, 60 s TTL) for the buyer’s session token. Plain body, no { data } envelope.
/api/customer-auth/enterprise-exchangeAuthorizationAPI key · headerrequiredAPI key prefixed with Bearer . Alternative: the x-api-key header with the raw key. Available scopes: read and write (see /.well-known/oauth-protected-resource).
x-api-keyAPI key · headerrequiredRaw API key (without Bearer ), alternative to Authorization.
X-Workspace-IdstringActive workspace to operate on. Optional: when omitted, the default workspace of the user who owns the key is used (pickActiveOrg).
application/jsontokenstringrequiredOne-time token received on the landing page callback (format {slug}.{token}, forwarded as is).
Buyer session exchanged.
session_tokenstringrequiredBuyer session token. Send it as the X-Customer-Session header on /api/v1/customer/*.
expires_atstringrequiredSession expiry (ISO 8601, 7-day sliding window).
customerobjectrequiredShow propertiesHide properties
idstringrequiredemailstringrequirednamestringrequiredemail_verifiedbooleanrequiredMissing or invalid API key, or invalid/expired token.
The API key doesn't belong to an enterprise service user, or the token was minted for another workspace.
Invalid body.

