OUTCOME · Create or advance
What changes
Atomically consumes the assertion jti and issues an opaque workspace- and network-bound bearer. No refresh token or client secret is issued.
v2Identity sessions and federation
/api/v2/auth/workload-token-exchangesPURPOSE + BUSINESS CONTEXT
WHEN THIS CALL IS USEFUL
Use when an enrolled machine or agent needs a short-lived refreshless bearer for an explicit scope subset and network.
OUTCOME · Create or advance
Atomically consumes the assertion jti and issues an opaque workspace- and network-bound bearer. No refresh token or client secret is issued.
WHY IT MATTERS
ISOLATION + AUTHORITY
Bearer subject, tenant, purpose, policy version, role, issuer, reviewer, provider, and relying-party boundaries remain distinct. The response or transition grants no payment, custody, settlement, publisher, matching, or trading authority and must not expose regulated evidence beyond the live schema.
BEFORE YOU CALL
WHAT TO DO NEXT
AGENT GUIDANCE
The exact deployed parameters, schemas, responses, security requirements, and Hybrid-Chain agent metadata are authoritative at this operation's production OpenAPI JSON Pointer. The readable tables below add integration guidance; the deployed OpenAPI controls if guidance and the machine contract ever differ.
Open the authoritative production contract ↗EXTENDED INTEGRATION GUIDANCE
Examples illustrate integration intent; the referenced OpenAPI operation and component schemas define the executable shape.
PARAMETERS
grant_typebodyRequiredclient_credentialsOAuth client-credentials grant.
client_assertion_typebodyRequiredurn:ietf:params:oauth:client-assertion-type:jwt-bearerPrivate-key JWT client authentication profile.
client_assertionbodyRequiredEdDSA compact JWTSingle-use assertion with iss=sub=client_id, exact audience, signed network_id, iat, exp within five minutes, and unique jti.
scopebodyOptionalspace-separated scopesOptional subset of the client allowed scopes. Omit it to request the full allowed set.
network_idbodyRequiredhybrid-devnet | hybrid-testnet | hybrid-mainnetMust exactly match the signed assertion and target operational wallet context.
expires_inbodyOptionalinteger · 60–14400Requested bearer lifetime. Defaults to 900 seconds and is capped by network policy.
REQUEST
{
"grant_type": "client_credentials",
"client_assertion_type": "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
"client_assertion": "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.…",
"scope": "wallet",
"network_id": "hybrid-testnet",
"expires_in": 900
}STABLE ERROR CODES
These codes are published by the authoritative gateway contract for this endpoint. Treat message as safe diagnostic text; integrations should branch on code and HTTP status.
invalid_jsonThe JSON body is malformed or fails the published identity-security schema.invalid_security_requestThe session, scope, public key, proof, or purpose-bound security request is invalid.invalid_credentialsThe bearer, client assertion, or proof-of-possession credential is invalid.step_up_requiredFresh purpose-bound authenticator verification or stronger authority is required.signing_key_not_foundThe requested signing-key or workload-client resource was not found.security_conflictThe requested identity-security transition conflicts with current state.identity_security_unavailableThe authoritative Identity security service is temporarily unavailable.RESPONSES
{
"access_token": "hcw_…",
"token_type": "Bearer",
"expires_in": 900,
"scope": "wallet",
"client_id": "hcwc_…",
"workspace_id": "b00dc220da8f480d86cdc11341372746",
"network_id": "hybrid-testnet",
"renewal_mode": "REASSERT"
}{
"code": "invalid_security_request",
"message": "The grant or assertion shape is unsupported."
}invalid_security_request{
"code": "invalid_client_assertion",
"message": "The assertion is invalid, expired, replayed, network-mismatched, or requests unauthorized scopes."
}invalid_client_assertion{
"code": "identity_security_unavailable",
"message": "Identity workload authentication is unavailable."
}identity_security_unavailableOPERATIONAL NOTES
This route is implemented in canonical gateway source and appears in the production OpenAPI snapshot observed 2026-09-11T06:35:11.572Z. Authentication, tenant, feature, venue, and market policy still apply.
Verify the exact production OpenAPI operation ↗Return to the V2 directory ↗