Token endpoint (authorization_code + PKCE)
Mandatory exact resource/client/redirect and S256 verifier; single-use one-minute authorization code. Returns ten-minute ES256 resource JWT, actor_type agent or owner, scope agentsub:agent or agentsub:owner. Human resource tokens recheck current backend Clerk verified-human identity before owner controls. No refresh tokens.
/oauth/tokenapplication/x-www-form-urlencodedgrant_typestringrequiredcodestringrequiredclient_idstringrequiredredirect_uristring<uri>requiredcode_verifierstringrequiredresourcestringrequiredAccess token issued
access_tokenstringtoken_typestringexpires_inintegerscopestringagentsub:agentagentsub:ownerOAuth error JSON (invalid_request, invalid_client, invalid_grant, invalid_scope, invalid_target, invalid_redirect_uri, invalid_client_metadata, unsupported_grant_type)
errorstringrequiredinvalid_requestinvalid_clientinvalid_grantinvalid_scopeinvalid_targetinvalid_redirect_uriinvalid_client_metadataunsupported_grant_typeaccess_deniedtemporarily_unavailableerror_descriptionstringrequiredOAuth error JSON (invalid_request, invalid_client, invalid_grant, invalid_scope, invalid_target, invalid_redirect_uri, invalid_client_metadata, unsupported_grant_type)
errorstringrequiredinvalid_requestinvalid_clientinvalid_grantinvalid_scopeinvalid_targetinvalid_redirect_uriinvalid_client_metadataunsupported_grant_typeaccess_deniedtemporarily_unavailableerror_descriptionstringrequiredOAuth error JSON (temporarily_unavailable — credentials or storage not configured)
errorstringrequiredinvalid_requestinvalid_clientinvalid_grantinvalid_scopeinvalid_targetinvalid_redirect_uriinvalid_client_metadataunsupported_grant_typeaccess_deniedtemporarily_unavailableerror_descriptionstringrequired