{
"resultCode": "A001215",
"resultMessage": "[A001215] /auth/authorization, The client (ID = 26837717140341) is locked."
}
{
"resultCode": "A001311",
"resultMessage": "[A001311] /auth/authorization, Too many requests, retry after 1 seconds. (Entity: 23769878923/87122303)"
}
{
"resultCode": "A001101",
"resultMessage": "[A001101] /auth/authorization, Authlete Server error."
}
Full description
This API is supposed to be called from within the implementation of the userinfo endpoint of the authorization server in order to get information about the user that is associated with an access token. The response from /auth/userinfo API has various parameters. Among them, it is action parameter that the authorization server implementation should check first because it denotes the next action that the authorization server implementation should take. According to the value of action, the service implementation must take the steps described below.
When the value of action is INTERNAL_SERVER_ERROR, it means that the request from the authorization server implementation was wrong or that an error occurred in Authlete. In either case, from the viewpoint of the client application, it is an error on the server side. Therefore, the service implementation should generate a response to the client application with HTTP status of “500 Internal Server Error”. The value of responseContent is a string which describes the error in the format of RFC 6750 (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of responseContent as the value ofWWW-Authenticate header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See 5.3.3. UserInfo Response for details.
HTTP/1.1 500 Internal Server ErrorWWW-Authenticate: {responseContent}Cache-Control: no-storePragma: no-cache
When the value of action is BAD_REQUEST, it means that the request from the client application does not contain an access token (= the request from the authorization server implementation to Authlete does not contain token parameter). The value of responseContent is a string which describes the error in the format of RFC 6750 (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of responseContent as the value ofWWW-Authenticate header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See 5.3.3. UserInfo Response for details.
HTTP/1.1 400 Bad RequestWWW-Authenticate: {responseContent}Cache-Control: no-storePragma: no-cache
When the value of action is UNAUTHORIZED, it means that the access token does not exist, has expired, or is not associated with any subject (= any user account). The value of responseContent is a string which describes the error in the format of RFC 6750 (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of responseContent as the value ofWWW-Authenticate header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See 5.3.3. UserInfo Response for details.
When the value of action is FORBIDDEN, it means that the access token does not include the openid scope. The value of responseContent is a string which describes the error in the format of RFC 6750 (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of responseContent as the value ofWWW-Authenticate header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See 5.3.3. UserInfo Response for details.
When the value of action is OK, it means that the access token which the client application presented is valid. To be concrete, it means that the access token exists, has not expired, includes the openid scope, and is associated with a subject (= a user account). What the userinfo endpoint implementation should do next is to collect information about the subject (user) from your database. The value of the subject is contained in the subject parameter in the response from this API and the names of data, i.e., the claims names are contained in the claims parameter in the response. For example, if the subject parameter is joe123 and the claims parameter is [ "given_name", "email" ], you need to extract information about joe123’s given name and email from your database. Then, call Authlete’s /auth/userinfo/issue API with the collected information and the access token in order to make Authlete generate an ID token. If an error occurred during the above steps, generate an error response to the client. The response should comply with RFC 6750. For example, if the subject associated with the access token does not exist in your database any longer, you may feel like generating a response like below.
HTTP/1.1 400 Bad RequestWWW-Authenticate: Bearer error="invalid_token",error_description="The subject associated with the access token does not exist."Cache-Control: no-storePragma: no-cache
Also, an error might occur on database access. If you treat the error as an internal server error, then the response would be like the following.
HTTP/1.1 500 Internal Server ErrorWWW-Authenticate: Bearer error="server_error",error_description="Failed to extract information about the subject from the database."Cache-Control: no-storePragma: no-cache
Authenticate every request with a Service Access Token or Organization Token. Set the token value in the Authorization: Bearer <token> header.
Service Access Token: Scoped to a single service. Use when automating service-level configuration or runtime flows.
Organization Token: Scoped to the organization; inherits permissions across services. Use for org-wide automation or when managing multiple services programmatically.
Both token types are issued by the Authlete console or provisioning APIs.
Client certificate used in the TLS connection established between the client application and the userinfo endpoint.
The value of this request parameter is referred to when the access token given to the userinfo endpoint was bound to a client certificate when it was issued. See [OAuth 2.0 Mutual TLS Client Authentication and Certificate-Bound Access Tokens] (https://datatracker.ietf.org/doc/rfc8705/) for details about the specification of certificate-bound access tokens.
HTTP headers to be included in processing the signature. If this is a signed request, this must include the Signature and Signature-Input headers, as well as any additional headers covered by the signature.
The flag indicating whether to check if the DPoP proof JWT includes the expected nonce value.
If this request parameter is set to true or if the service's dpopNonceRequired property is set to true, the /auth/userinfo API checks if the DPoP proof JWT includes the expected nonce value. In this case, the response from the /auth/userinfo API will include the dpopNonce response parameter, which should be used as the value of the DPoP-Nonce HTTP header.
Get names of claims that are requested indirectly by "transformed claims". A client application can request "transformed claims" by adding names of transformed claims in the claims request parameter. The following is an example of the claims request parameter that requests a predefined transformed claim named 18_or_over and a transformed claim named nationality_usa to be embedded in the response from the userinfo endpoint.
In the example, the nationalities claim is requested indirectly by the nationality_usa transformed claim. Likewise, the birthdate claim is requested indirectly by the 18_or_over transformed claim. When the claims request parameter of an authorization request is like the example above, this requestedClaimsForTx property will hold the following value.
[ "birthdate", "nationalities" ]
It is expected that the authorization server implementation prepares values of the listed claims and passes them as the value of the claimsForTx request parameter when it calls the /api/auth/userinfo/issue API. The following is an example of the value of the claimsForTx request parameter.
the value of the transformed_claims property in the claims request parameter of an authorization request or in the claims property in a request object.
Flag indicating whether a metadata document was used to resolve client metadata for this request.
When true, the client metadata was retrieved via the CIMD mechanism rather than from the Authlete database.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Authlete Documentation","colors":{"primary":"#0057B7","light":"#4D8FEA","dark":"#0057B7"},"logo":{"light":"https://mintcdn.com/authlete/EJDZNZMvOu_9CJHJ/authlete-blue-horizontal-logo.svg?fit=max\u0026auto=format\u0026n=EJDZNZMvOu_9CJHJ\u0026q=85\u0026s=ed123a3de8b7791dffde03e7705c7460","dark":"https://mintcdn.com/authlete/EJDZNZMvOu_9CJHJ/authlete-blue-horizontal-logo.svg?fit=max\u0026auto=format\u0026n=EJDZNZMvOu_9CJHJ\u0026q=85\u0026s=ed123a3de8b7791dffde03e7705c7460"},"favicon":{"light":"https://mintcdn.com/authlete/gV1fxQkuH3uz_H3j/images/favicon-32x32.png?fit=max\u0026auto=format\u0026n=gV1fxQkuH3uz_H3j\u0026q=85\u0026s=9838a40b23e11ab35d7737e4c94a2d9a","dark":"https://mintcdn.com/authlete/gV1fxQkuH3uz_H3j/images/favicon-32x32.png?fit=max\u0026auto=format\u0026n=gV1fxQkuH3uz_H3j\u0026q=85\u0026s=9838a40b23e11ab35d7737e4c94a2d9a"},"api":{"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples","playground":{"display":"interactive","proxy":true},"examples":{"languages":["typescript","ruby","go","shell"],"autogenerate":true},"mdx":{"auth":{"method":"bearer"},"server":"https://us.authlete.com"}},"navbar":{"primary":{"type":"button","label":"Get Started","href":"https://console.authlete.com/"}},"footer":{"socials":{"x":"https://x.com/authlete","github":"https://github.com/authlete","linkedin":"https://linkedin.com/company/authlete"}},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor"],"display":"header"},"thumbnails":{"fonts":{"family":"Noto Sans JP"}},"markdown":{"instructions":["### Authlete versions","Authlete 3.0 is the current version. Unless the user says they use another version, answer for Authlete 3.0 using the 3.x documentation.","Documentation for Authlete 2.x (pages under `/v2/` and `/ja/v2/`) is for the legacy version. Refer to it only when the user is on Authlete 2.x.","","### Authlete architecture","Authlete is a backend engine for OAuth 2.0 and OpenID Connect processing. End users and client applications do not call it directly; the service provider's authorization server and API server call Authlete's APIs. Authlete handles protocol processing and token, client, and service management, while the service provider owns the OAuth/OIDC endpoints and user authentication.","See [Architecture](https://developers.authlete.com/get-started/introduction-to-authlete/architecture.md).","","### Concepts","If the user is new to Authlete, read these pages first:","- [Request and Response](https://developers.authlete.com/get-started/concepts/request-and-response.md): Core API requests pass the client's request parameters as-is, and responses return `resultCode`, `action`, and `responseContent`.","- [Action Handling](https://developers.authlete.com/get-started/concepts/action-handling.md): Branch on `action`, never on `resultCode`, and map each action to the HTTP response your server returns.","- [Two-Step API Calls](https://developers.authlete.com/get-started/concepts/two-step-api-calls.md): Actions such as `INTERACTION` are completed with a second call (`/auth/authorization/issue` or `/auth/authorization/fail`) linked by a `ticket`.","- [Management API Overview](https://developers.authlete.com/get-started/concepts/overview.md): The Management API configures services, manages clients, and operates issued tokens, separately from the protocol flows handled by the Core API.","- [API Authentication](https://developers.authlete.com/get-started/concepts/authentication.md): Authlete APIs use bearer tokens: a Service Access Token (one service) or an Organization Token (the whole organization)."]},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":"get-started/introduction-to-authlete"},{"language":"ja","href":"ja/get-started/introduction-to-authlete"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"authlete","hasAudioNarration":false,"actualSubdomain":"authlete","customDomains":["developers.authlete.com"],"gitSource":{"type":"github","owner":"authlete","repo":"developer-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad86bfbbcc1b0bac5b9a633","collectionId":"102eb795-336b-4b91-aae6-f3939575b917","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad86bfbbcc1b0bac5b9a633"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad86bfbbcc1b0bac5b9a633","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"en","tag":"Release Notes","count":103},{"language":"ja","tag":"リリースノート","count":103},{"language":"ja","tag":"設定リファレンス","count":92},{"language":"default","tag":"API Reference","count":87},{"language":"default","tag":"Authlete","count":87},{"language":"en","tag":"Configuration Reference","count":83},{"language":"en","tag":"Protocols \u0026 Flows","count":46},{"language":"en","tag":"Deployment \u0026 Operations","count":44},{"language":"ja","tag":"プロトコル \u0026 フロー","count":42},{"language":"ja","tag":"デプロイと運用","count":39},{"language":"ja","tag":"トークン \u0026 クレーム","count":38},{"language":"ja","tag":"はじめに","count":34},{"language":"ja","tag":"エンドポイント","count":33},{"language":"en","tag":"Get Started","count":32},{"language":"en","tag":"Tokens and Claims","count":28},{"language":"default","tag":"Client Management","count":26},{"language":"en","tag":"Endpoints","count":25},{"language":"en","tag":"Server Releases (v2.2)","count":23},{"language":"en","tag":"Server Releases (v2.3)","count":23},{"language":"ja","tag":"サーバーリリース (v2.2)","count":23},{"language":"ja","tag":"サーバーリリース (v2.3)","count":23},{"language":"en","tag":"Server Releases (v3.0)","count":20},{"language":"ja","tag":"サーバーリリース (v3.0)","count":20},{"language":"default","tag":"Verifiable Credential Issuer","count":11},{"language":"default","tag":"Service Management","count":6},{"language":"default","tag":"Authorization Endpoint","count":5},{"language":"default","tag":"Token Operations","count":5},{"language":"default","tag":"CIBA","count":4},{"language":"default","tag":"Dynamic Client Registration","count":4},{"language":"default","tag":"Hardware Security Key","count":4}],"searchSettings":{"maxResults":7}},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#content-area,#navbar,#sidebar,[data-sidebar],body{background-image:none!important}.dynamic-curl-wrapper{width:100%;max-width:100%;min-width:0}.dynamic-curl-output{width:100%!important;max-width:100%!important;min-width:0!important}table[style*=tableLayout] td:last-child{overflow:hidden;min-width:0}table[style*=tableLayout] input{min-width:0}"}],"page":{"pagePath":"api-reference/userinfo-endpoint/process-userinfo-request","slug":"/api-reference/userinfo-endpoint/process-userinfo-request","pageMetadata":{"title":"Process UserInfo Request","description":"This API gathers information about a user.","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/userinfo","href":"/api-reference/userinfo-endpoint/process-userinfo-request","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"This API gathers information about a user.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{Accordion,CodeBlock,Heading}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(Accordion,{title:`Full description`,defaultOpen:false,id:`full-description`,children:[_jsxs(_components.p,{children:[`This API is supposed to be called from within the implementation of the `,_jsx(_components.a,{href:`https://openid.net/specs/openid-connect-core-1_0.html#UserInfo`,children:`userinfo endpoint`}),` of the authorization server in order to get information about the user that is associated with an access token. The response from `,_jsx(_components.code,{children:`/auth/userinfo`}),` API has various parameters. Among them, it is `,_jsx(_components.code,{children:`action`}),` parameter that the authorization server implementation should check first because it denotes the next action that the authorization server implementation should take. According to the value of `,_jsx(_components.code,{children:`action`}),`, the service implementation must take the steps described below.`]}),_jsx(Heading,{level:`2`,id:`internal_server_error`,children:`INTERNAL_SERVER_ERROR`}),_jsxs(_components.p,{children:[`When the value of `,_jsx(_components.code,{children:`action`}),` is `,_jsx(_components.code,{children:`INTERNAL_SERVER_ERROR`}),`, it means that the request from the authorization server implementation was wrong or that an error occurred in Authlete. In either case, from the viewpoint of the client application, it is an error on the server side. Therefore, the service implementation should generate a response to the client application with HTTP status of “500 Internal Server Error”. The value of `,_jsx(_components.code,{children:`responseContent`}),` is a string which describes the error in the format of `,_jsx(_components.a,{href:`https://datatracker.ietf.org/doc/html/rfc6750`,children:`RFC 6750`}),` (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of `,_jsx(_components.code,{children:`responseContent`}),` as the value of`,_jsx(_components.code,{children:`WWW-Authenticate`}),` header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See `,_jsx(_components.a,{href:`https://openid.net/specs/openid-connect-core-1_0.html#UserInfoError`,children:`5.3.3. UserInfo Response`}),` for details.`]}),_jsx(CodeBlock,{numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`HTTP/1.1 500 Internal Server Error`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`WWW-Authenticate: \u0026#123;responseContent\u0026#125;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Cache-Control: no-store`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Pragma: no-cache`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`2`,id:`bad_request`,children:`BAD_REQUEST`}),_jsxs(_components.p,{children:[`When the value of `,_jsx(_components.code,{children:`action`}),` is `,_jsx(_components.code,{children:`BAD_REQUEST`}),`, it means that the request from the client application does not contain an access token (= the request from the authorization server implementation to Authlete does not contain `,_jsx(_components.code,{children:`token`}),` parameter). The value of `,_jsx(_components.code,{children:`responseContent`}),` is a string which describes the error in the format of `,_jsx(_components.a,{href:`https://datatracker.ietf.org/doc/html/rfc6750`,children:`RFC 6750`}),` (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of `,_jsx(_components.code,{children:`responseContent`}),` as the value of`,_jsx(_components.code,{children:`WWW-Authenticate`}),` header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See `,_jsx(_components.a,{href:`https://openid.net/specs/openid-connect-core-1_0.html#UserInfoError`,children:`5.3.3. UserInfo Response`}),` for details.`]}),_jsx(CodeBlock,{numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`HTTP/1.1 400 Bad Request`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`WWW-Authenticate: \u0026#123;responseContent\u0026#125;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Cache-Control: no-store`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Pragma: no-cache`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`2`,id:`unauthorized`,children:`UNAUTHORIZED`}),_jsxs(_components.p,{children:[`When the value of `,_jsx(_components.code,{children:`action`}),` is `,_jsx(_components.code,{children:`UNAUTHORIZED`}),`, it means that the access token does not exist, has expired, or is not associated with any subject (= any user account). The value of `,_jsx(_components.code,{children:`responseContent`}),` is a string which describes the error in the format of `,_jsx(_components.a,{href:`https://datatracker.ietf.org/doc/html/rfc6750`,children:`RFC 6750`}),` (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of `,_jsx(_components.code,{children:`responseContent`}),` as the value of`,_jsx(_components.code,{children:`WWW-Authenticate`}),` header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See `,_jsx(_components.a,{href:`https://openid.net/specs/openid-connect-core-1_0.html#UserInfoError`,children:`5.3.3. UserInfo Response`}),` for details.`]}),_jsx(CodeBlock,{numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`HTTP/1.1 401 Unauthorized`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`WWW-Authenticate: \u0026#123;responseContent\u0026#125;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Cache-Control: no-store`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Pragma: no-cache`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`2`,id:`forbidden`,children:`FORBIDDEN`}),_jsxs(_components.p,{children:[`When the value of `,_jsx(_components.code,{children:`action`}),` is `,_jsx(_components.code,{children:`FORBIDDEN`}),`, it means that the access token does not include the `,_jsx(_components.code,{children:`openid`}),` scope. The value of `,_jsx(_components.code,{children:`responseContent`}),` is a string which describes the error in the format of `,_jsx(_components.a,{href:`https://datatracker.ietf.org/doc/html/rfc6750`,children:`RFC 6750`}),` (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of `,_jsx(_components.code,{children:`responseContent`}),` as the value of`,_jsx(_components.code,{children:`WWW-Authenticate`}),` header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See `,_jsx(_components.a,{href:`https://openid.net/specs/openid-connect-core-1_0.html#UserInfoError`,children:`5.3.3. UserInfo Response`}),` for details.`]}),_jsx(CodeBlock,{numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`HTTP/1.1 403 Forbidden`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`WWW-Authenticate: \u0026#123;responseContent\u0026#125;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Cache-Control: no-store`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Pragma: no-cache`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`2`,id:`ok`,children:`OK`}),_jsxs(_components.p,{children:[`When the value of `,_jsx(_components.code,{children:`action`}),` is `,_jsx(_components.code,{children:`OK`}),`, it means that the access token which the client application presented is valid. To be concrete, it means that the access token exists, has not expired, includes the openid scope, and is associated with a subject (= a user account). What the userinfo endpoint implementation should do next is to collect information about the subject (user) from your database. The value of the `,_jsx(_components.code,{children:`subject`}),` is contained in the subject parameter in the response from this API and the names of data, i.e., the claims names are contained in the claims parameter in the response. For example, if the `,_jsx(_components.code,{children:`subject`}),` parameter is `,_jsx(_components.code,{children:`joe123`}),` and the claims parameter is `,_jsx(_components.code,{children:`[ \"given_name\", \"email\" ]`}),`, you need to extract information about joe123’s given name and email from your database. Then, call Authlete’s `,_jsx(_components.code,{children:`/auth/userinfo/issue`}),` API with the collected information and the access token in order to make Authlete generate an ID token. If an error occurred during the above steps, generate an error response to the client. The response should comply with `,_jsx(_components.a,{href:`https://datatracker.ietf.org/doc/html/rfc6750`,children:`RFC 6750`}),`. For example, if the subject associated with the access token does not exist in your database any longer, you may feel like generating a response like below.`]}),_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`HTTP/1.1 400 Bad Request`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`WWW-Authenticate: Bearer error=\"invalid_token\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`error_description=\"The subject associated with the access token does not exist.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Cache-Control: no-store`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Pragma: no-cache`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(_components.p,{children:`Also, an error might occur on database access. If you treat the error as an internal server error, then the response would be like the following.`}),_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`HTTP/1.1 500 Internal Server Error`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`WWW-Authenticate: Bearer error=\"server_error\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`error_description=\"Failed to extract information about the subject from the database.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Cache-Control: no-store`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Pragma: no-cache`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Process UserInfo Request","description":"This API gathers information about a user.","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/userinfo","href":"/api-reference/userinfo-endpoint/process-userinfo-request","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/authlete/a07b398e9c8556ba/snippets/oauth-dynamic.js"],"openApiReferenceData":{"operation":{"summary":"Process UserInfo Request","description":"This API gathers information about a user.","x-mint":{"metadata":{"description":"This API gathers information about a user."},"content":"\u003cAccordion title=\"Full description\" defaultOpen={false}>\nThis API is supposed to be called from within the implementation of the [userinfo endpoint](https://openid.net/specs/openid-connect-core-1_0.html#UserInfo) of the authorization server in order to get information about the user that is associated with an access token. The response from `/auth/userinfo` API has various parameters. Among them, it is `action` parameter that the authorization server implementation should check first because it denotes the next action that the authorization server implementation should take. According to the value of `action`, the service implementation must take the steps described below.\n\n## INTERNAL_SERVER_ERROR\n\nWhen the value of `action` is `INTERNAL_SERVER_ERROR`, it means that the request from the authorization server implementation was wrong or that an error occurred in Authlete. In either case, from the viewpoint of the client application, it is an error on the server side. Therefore, the service implementation should generate a response to the client application with HTTP status of \"500 Internal Server Error\". The value of `responseContent` is a string which describes the error in the format of [RFC 6750](https://datatracker.ietf.org/doc/html/rfc6750) (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of `responseContent` as the value of`WWW-Authenticate` header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See [5.3.3. UserInfo Response](https://openid.net/specs/openid-connect-core-1_0.html#UserInfoError) for details.\n```\nHTTP/1.1 500 Internal Server Error\nWWW-Authenticate: \u0026#123;responseContent\u0026#125;\nCache-Control: no-store\nPragma: no-cache\n```\n\n## BAD_REQUEST\n\nWhen the value of `action` is `BAD_REQUEST`, it means that the request from the client application does not contain an access token (= the request from the authorization server implementation to Authlete does not contain `token` parameter). The value of `responseContent` is a string which describes the error in the format of [RFC 6750](https://datatracker.ietf.org/doc/html/rfc6750) (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of `responseContent` as the value of`WWW-Authenticate` header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See [5.3.3. UserInfo Response](https://openid.net/specs/openid-connect-core-1_0.html#UserInfoError) for details.\n```\nHTTP/1.1 400 Bad Request\nWWW-Authenticate: \u0026#123;responseContent\u0026#125;\nCache-Control: no-store\nPragma: no-cache\n```\n\n## UNAUTHORIZED\n\nWhen the value of `action` is `UNAUTHORIZED`, it means that the access token does not exist, has expired, or is not associated with any subject (= any user account). The value of `responseContent` is a string which describes the error in the format of [RFC 6750](https://datatracker.ietf.org/doc/html/rfc6750) (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of `responseContent` as the value of`WWW-Authenticate` header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See [5.3.3. UserInfo Response](https://openid.net/specs/openid-connect-core-1_0.html#UserInfoError) for details.\n```\nHTTP/1.1 401 Unauthorized\nWWW-Authenticate: \u0026#123;responseContent\u0026#125;\nCache-Control: no-store\nPragma: no-cache\n```\n\n## FORBIDDEN\n\nWhen the value of `action` is `FORBIDDEN`, it means that the access token does not include the `openid` scope. The value of `responseContent` is a string which describes the error in the format of [RFC 6750](https://datatracker.ietf.org/doc/html/rfc6750) (OAuth 2.0 Bearer Token Usage) so the userinfo endpoint implementation can use the value of `responseContent` as the value of`WWW-Authenticate` header. The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from userinfo endpoint comply with RFC 6750. See [5.3.3. UserInfo Response](https://openid.net/specs/openid-connect-core-1_0.html#UserInfoError) for details.\n```\nHTTP/1.1 403 Forbidden\nWWW-Authenticate: \u0026#123;responseContent\u0026#125;\nCache-Control: no-store\nPragma: no-cache\n```\n\n## OK\n\nWhen the value of `action` is `OK`, it means that the access token which the client application presented is valid. To be concrete, it means that the access token exists, has not expired, includes the openid scope, and is associated with a subject (= a user account). What the userinfo endpoint implementation should do next is to collect information about the subject (user) from your database. The value of the `subject` is contained in the subject parameter in the response from this API and the names of data, i.e., the claims names are contained in the claims parameter in the response. For example, if the `subject` parameter is `joe123` and the claims parameter is `[ \"given_name\", \"email\" ]`, you need to extract information about joe123's given name and email from your database. Then, call Authlete's `/auth/userinfo/issue` API with the collected information and the access token in order to make Authlete generate an ID token. If an error occurred during the above steps, generate an error response to the client. The response should comply with [RFC 6750](https://datatracker.ietf.org/doc/html/rfc6750). For example, if the subject associated with the access token does not exist in your database any longer, you may feel like generating a response like below.\n```\nHTTP/1.1 400 Bad Request\nWWW-Authenticate: Bearer error=\"invalid_token\",\nerror_description=\"The subject associated with the access token does not exist.\"\nCache-Control: no-store\nPragma: no-cache\n```\nAlso, an error might occur on database access. If you treat the error as an internal server error, then the response would be like the following.\n```\nHTTP/1.1 500 Internal Server Error\nWWW-Authenticate: Bearer error=\"server_error\",\nerror_description=\"Failed to extract information about the subject from the database.\"\nCache-Control: no-store\nPragma: no-cache\n```\n\u003c/Accordion>\n"},"parameters":["7b484cce-8cc1-42ce-a3e8-3d5f2aac8553"],"requestBody":"f1e844ad-415f-41ba-b73c-f6e12b70d6b4","responses":{"200":"abcf7c25-c6e4-4c39-aae2-779333c473d6","400":"14904f0e-6e7b-4421-b8e2-d727663ace82","401":"8d4beb45-62ac-4367-907e-d25d7f03fc9b","403":"28db3334-b027-4417-b1f0-07296eca8db8","429":"75612af0-2318-4421-8f2b-f20c9a3125de","500":"7a0f134f-d3c6-4937-a405-8e6aed63c00b"},"operationId":"auth_userinfo_api","x-code-samples":[{"lang":"shell","label":"curl","source":"curl -v -X POST https://us.authlete.com/api/21653835348762/auth/userinfo \\\n-H 'Content-Type:application/json' \\\n-H 'Authorization: Bearer V5a40R6dWvw2gMkCOBFdZcM95q4HC0Z-T0YKD9-nR6F' \\\n-d '{ \"token\": \"Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI\" }'\n"},{"lang":"java","label":"java","source":"AuthleteConfiguration conf = ...;\nAuthleteApi api = AuthleteApiFactory.create(conf);\n\nUserInfoRequest req = new UserInfoRequest();\nreq.setToken(\"Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI\");\n\napi.userinfo(req);\n"},{"lang":"python","source":"conf = ...\napi = AuthleteApiImpl(conf)\n\nreq = UserInfoRequest()\nreq.token = 'Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI'\n\napi.userinfo(req)\n"}],"tags":["UserInfo Endpoint"],"x-speakeasy-group":"userinfo","x-speakeasy-name-override":"process","x-codeSamples":[{"lang":"typescript","label":"Typescript (SDK)","source":"import { Authlete } from \"@authlete/typescript-sdk\";\n\nconst authlete = new Authlete({\n serviceId: \"\u003cid>\",\n bearer: process.env[\"AUTHLETE_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await authlete.userinfo.process({\n userinfoRequest: {\n token: \"Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI\",\n },\n });\n\n console.log(result);\n}\n\nrun();"},{"lang":"ruby","label":"Ruby (SDK)","source":"require 'authlete_ruby_sdk'\n\nModels = ::Authlete::Models\ns = ::Authlete::Client.new(\n service_id: '\u003cid>',\n bearer: '\u003cYOUR_BEARER_TOKEN_HERE>'\n)\nres = s.userinfo.process_request(userinfo_request: Models::Components::UserinfoRequest.new(\n token: 'Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI'\n))\n\nunless res.userinfo_response.nil?\n # handle response\nend"},{"lang":"go","label":"Go (SDK)","source":"package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tauthlete \"github.com/authlete/authlete-go-sdk\"\n\t\"github.com/authlete/authlete-go-sdk/models/components\"\n\t\"github.com/authlete/authlete-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := authlete.New(\n authlete.WithServiceID(\"\u003cid>\"),\n authlete.WithSecurity(os.Getenv(\"AUTHLETE_BEARER\")),\n )\n\n res, err := s.Userinfo.Process(ctx, operations.AuthUserinfoAPIRequest{\n Body: components.UserinfoRequest{\n Token: \"Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI\",\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.UserinfoResponse != nil {\n // handle response\n }\n}"}],"method":"post","type":"path","servers":["86730d38-5978-49f4-83dc-79ee32a13d9f","6b1844ca-4ef4-4a3a-aa78-226ce86b6b87","428ca9ef-6a06-47df-8d21-45d932468e02","02c44588-9e42-4914-bdc7-134510ec7325"],"security":["462b635e-c1d5-42f6-b3a8-ef7d418285aa"],"path":"/api/{serviceId}/auth/userinfo","baseUrlOptions":["https://us.authlete.com","https://jp.authlete.com","https://eu.authlete.com","https://br.authlete.com"],"title":"Process UserInfo Request","codeSamples":[{"label":"Typescript (SDK)","lang":"typescript","source":"import { Authlete } from \"@authlete/typescript-sdk\";\n\nconst authlete = new Authlete({\n serviceId: \"\u003cid>\",\n bearer: process.env[\"AUTHLETE_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await authlete.userinfo.process({\n userinfoRequest: {\n token: \"Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI\",\n },\n });\n\n console.log(result);\n}\n\nrun();"},{"label":"Ruby (SDK)","lang":"ruby","source":"require 'authlete_ruby_sdk'\n\nModels = ::Authlete::Models\ns = ::Authlete::Client.new(\n service_id: '\u003cid>',\n bearer: '\u003cYOUR_BEARER_TOKEN_HERE>'\n)\nres = s.userinfo.process_request(userinfo_request: Models::Components::UserinfoRequest.new(\n token: 'Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI'\n))\n\nunless res.userinfo_response.nil?\n # handle response\nend"},{"label":"Go (SDK)","lang":"go","source":"package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tauthlete \"github.com/authlete/authlete-go-sdk\"\n\t\"github.com/authlete/authlete-go-sdk/models/components\"\n\t\"github.com/authlete/authlete-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := authlete.New(\n authlete.WithServiceID(\"\u003cid>\"),\n authlete.WithSecurity(os.Getenv(\"AUTHLETE_BEARER\")),\n )\n\n res, err := s.Userinfo.Process(ctx, operations.AuthUserinfoAPIRequest{\n Body: components.UserinfoRequest{\n Token: \"Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI\",\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.UserinfoResponse != nil {\n // handle response\n }\n}"}],"requestExampleLanguages":["typescript","ruby","go","bash"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"7b484cce-8cc1-42ce-a3e8-3d5f2aac8553":{"in":"path","name":"serviceId","description":"A service ID.","schema":{"type":"string","isRequired":true,"description":"A service ID.","uniqueKey":"","typeLabel":"string"},"required":true}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","description":"An access token.\n","isRequired":true,"uniqueKey":"token","typeLabel":"string"},"clientCertificate":{"type":"string","description":"Client certificate used in the TLS connection established between the client application and the userinfo endpoint.\n\nThe value of this request parameter is referred to when the access token given to the userinfo endpoint was bound to a client certificate when it was issued. See [OAuth 2.0 Mutual TLS Client Authentication and Certificate-Bound Access Tokens] (https://datatracker.ietf.org/doc/rfc8705/) for details about the specification of certificate-bound access tokens.\n","uniqueKey":"clientCertificate","typeLabel":"string"},"dpop":{"type":"string","description":"`DPoP` header presented by the client during the request to the user info endpoint.\n\nThe header contains a signed JWT which includes the public key that is paired with the private key used to sign the JWT. See [OAuth 2.0 Demonstration of Proof-of-Possession at the Application Layer (DPoP)](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-dpop) for details.\n","uniqueKey":"dpop","typeLabel":"string"},"htm":{"type":"string","description":"HTTP method of the user info request. This field is used to validate the DPoP header. In normal cases, the value is either `GET` or `POST`.\n","uniqueKey":"htm","typeLabel":"string"},"htu":{"type":"string","description":"URL of the user info endpoint. This field is used to validate the DPoP header.\n\nIf this parameter is omitted, the `userInfoEndpoint` property of the service is used as the default value. See [OAuth 2.0 Demonstration of Proof-of-Possession at the Application Layer (DPoP)](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-dpop) for details.\n","uniqueKey":"htu","typeLabel":"string"},"uri":{"type":"string","description":"The full URL of the userinfo endpoint.\n","uniqueKey":"uri","typeLabel":"string"},"message":{"type":"string","description":"The HTTP message body of the request, if present.\n","uniqueKey":"message","typeLabel":"string"},"headers":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key part.","uniqueKey":"headers.items.[INDEX].key","typeLabel":"string"},"value":{"type":"string","description":"The value part.","uniqueKey":"headers.items.[INDEX].value","typeLabel":"string"}},"uniqueKey":"headers.items.[INDEX]","typeLabel":"object"},"description":"HTTP headers to be included in processing the signature. If this is a signed request, this must include the Signature and Signature-Input headers, as well as any additional headers covered by the signature.\n","uniqueKey":"headers","typeLabel":"object[]"},"targetUri":{"type":"string","description":"The target URI of the userinfo request, including the query part, if any.\n","x-mint":{"metadata":{"description":"The target URI of the userinfo request, including the query part, if any."},"content":"\u003cAccordion title=\"Full description\" defaultOpen={false}>\nThis parameter is used as the value of the `@target-uri` derived component for HTTP message signatures ([RFC 9421 HTTP Message Signatures, Section 2.2.2. Target URI](https://www.rfc-editor.org/rfc/rfc9421.html#section-2.2.2)). Additionally, other derived components such as `@authority`, `@scheme`, `@path`, `@query` and `@query-param` are computed from this parameter.\n\nWhen this parameter is omitted, the value of the `htu` parameter is used. The `htu` parameter represents the URL of the userinfo endpoint, which usually serves as the target URI of the userinfo request. The only exception is when the access token is specified as a query parameter, as defined in [RFC 6750 Section 2.3](https://www.rfc-editor.org/rfc/rfc6750.html#section-2.3). However, RFC 6750 states that this method \"SHOULD NOT be used\" unless other methods are not viable.\n\nIf neither this `targetUri` parameter nor the `htu` parameter is specified, the `userInfoEndpoint` property of the service is used as a fallback.\n\u003c/Accordion>\n"},"uniqueKey":"targetUri","typeLabel":"string"},"dpopNonceRequired":{"type":"boolean","description":"The flag indicating whether to check if the DPoP proof JWT includes the expected `nonce` value.\n\nIf this request parameter is set to `true` or if the service's `dpopNonceRequired` property is set to `true`, the `/auth/userinfo` API checks if the DPoP proof JWT includes the expected `nonce` value. In this case, the response from the `/auth/userinfo` API will include the `dpopNonce` response parameter, which should be used as the value of the DPoP-Nonce HTTP header.\n","uniqueKey":"dpopNonceRequired","typeLabel":"boolean"},"requestBodyContained":{"type":"boolean","description":"The flag indicating whether the userinfo request contains a request body.\n","x-mint":{"metadata":{"description":"The flag indicating whether the userinfo request contains a request body."},"content":"\u003cAccordion title=\"Full description\" defaultOpen={false}>\nWhen the userinfo request must comply with the HTTP message signing requirements defined in the FAPI 2.0 Message Signing specification, the `\"content-digest\"` component identifier must be included in the signature base of the HTTP message signature (see [RFC 9421 HTTP Message Signatures](https://www.rfc-editor.org/rfc/rfc9421.html)) if the userinfo request contains a request body.\n\nWhen this `requestBodyContained` parameter is set to `true`, Authlete checks whether `\"content-digest\"` is included in the signature base, if the FAPI profile applies to the userinfo request.\n\nNOTE: The FAPI 2.0 Message Signing specification is not applied to the userinfo endpoint until its necessity is agreed upon by the industry (cf. [FAPI Issue 723](https://bitbucket.org/openid/fapi/issues/723)).\n\u003c/Accordion>\n"},"uniqueKey":"requestBodyContained","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"example":{"token":"Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI"},"examples":{"Example":{"title":"Example","value":{"token":"Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI"}}},"exampleType":"examples"},"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","description":"An access token.\n","isRequired":true,"uniqueKey":"token","typeLabel":"string"},"clientCertificate":{"type":"string","description":"Client certificate used in the TLS connection established between the client application and the userinfo endpoint.\n\nThe value of this request parameter is referred to when the access token given to the userinfo endpoint was bound to a client certificate when it was issued. See [OAuth 2.0 Mutual TLS Client Authentication and Certificate-Bound Access Tokens] (https://datatracker.ietf.org/doc/rfc8705/) for details about the specification of certificate-bound access tokens.\n","uniqueKey":"clientCertificate","typeLabel":"string"},"dpop":{"type":"string","description":"`DPoP` header presented by the client during the request to the user info endpoint.\n\nThe header contains a signed JWT which includes the public key that is paired with the private key used to sign the JWT. See [OAuth 2.0 Demonstration of Proof-of-Possession at the Application Layer (DPoP)](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-dpop) for details.\n","uniqueKey":"dpop","typeLabel":"string"},"htm":{"type":"string","description":"HTTP method of the user info request. This field is used to validate the DPoP header. In normal cases, the value is either `GET` or `POST`.\n","uniqueKey":"htm","typeLabel":"string"},"htu":{"type":"string","description":"URL of the user info endpoint. This field is used to validate the DPoP header.\n\nIf this parameter is omitted, the `userInfoEndpoint` property of the service is used as the default value. See [OAuth 2.0 Demonstration of Proof-of-Possession at the Application Layer (DPoP)](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-dpop) for details.\n","uniqueKey":"htu","typeLabel":"string"},"uri":{"type":"string","description":"The full URL of the userinfo endpoint.\n","uniqueKey":"uri","typeLabel":"string"},"message":{"type":"string","description":"The HTTP message body of the request, if present.\n","uniqueKey":"message","typeLabel":"string"},"headers":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key part.","uniqueKey":"headers.items.[INDEX].key","typeLabel":"string"},"value":{"type":"string","description":"The value part.","uniqueKey":"headers.items.[INDEX].value","typeLabel":"string"}},"uniqueKey":"headers.items.[INDEX]","typeLabel":"object"},"description":"HTTP headers to be included in processing the signature. If this is a signed request, this must include the Signature and Signature-Input headers, as well as any additional headers covered by the signature.\n","uniqueKey":"headers","typeLabel":"object[]"},"targetUri":{"type":"string","description":"The target URI of the userinfo request, including the query part, if any.\n","x-mint":{"metadata":{"description":"The target URI of the userinfo request, including the query part, if any."},"content":"\u003cAccordion title=\"Full description\" defaultOpen={false}>\nThis parameter is used as the value of the `@target-uri` derived component for HTTP message signatures ([RFC 9421 HTTP Message Signatures, Section 2.2.2. Target URI](https://www.rfc-editor.org/rfc/rfc9421.html#section-2.2.2)). Additionally, other derived components such as `@authority`, `@scheme`, `@path`, `@query` and `@query-param` are computed from this parameter.\n\nWhen this parameter is omitted, the value of the `htu` parameter is used. The `htu` parameter represents the URL of the userinfo endpoint, which usually serves as the target URI of the userinfo request. The only exception is when the access token is specified as a query parameter, as defined in [RFC 6750 Section 2.3](https://www.rfc-editor.org/rfc/rfc6750.html#section-2.3). However, RFC 6750 states that this method \"SHOULD NOT be used\" unless other methods are not viable.\n\nIf neither this `targetUri` parameter nor the `htu` parameter is specified, the `userInfoEndpoint` property of the service is used as a fallback.\n\u003c/Accordion>\n"},"uniqueKey":"targetUri","typeLabel":"string"},"dpopNonceRequired":{"type":"boolean","description":"The flag indicating whether to check if the DPoP proof JWT includes the expected `nonce` value.\n\nIf this request parameter is set to `true` or if the service's `dpopNonceRequired` property is set to `true`, the `/auth/userinfo` API checks if the DPoP proof JWT includes the expected `nonce` value. In this case, the response from the `/auth/userinfo` API will include the `dpopNonce` response parameter, which should be used as the value of the DPoP-Nonce HTTP header.\n","uniqueKey":"dpopNonceRequired","typeLabel":"boolean"},"requestBodyContained":{"type":"boolean","description":"The flag indicating whether the userinfo request contains a request body.\n","x-mint":{"metadata":{"description":"The flag indicating whether the userinfo request contains a request body."},"content":"\u003cAccordion title=\"Full description\" defaultOpen={false}>\nWhen the userinfo request must comply with the HTTP message signing requirements defined in the FAPI 2.0 Message Signing specification, the `\"content-digest\"` component identifier must be included in the signature base of the HTTP message signature (see [RFC 9421 HTTP Message Signatures](https://www.rfc-editor.org/rfc/rfc9421.html)) if the userinfo request contains a request body.\n\nWhen this `requestBodyContained` parameter is set to `true`, Authlete checks whether `\"content-digest\"` is included in the signature base, if the FAPI profile applies to the userinfo request.\n\nNOTE: The FAPI 2.0 Message Signing specification is not applied to the userinfo endpoint until its necessity is agreed upon by the industry (cf. [FAPI Issue 723](https://bitbucket.org/openid/fapi/issues/723)).\n\u003c/Accordion>\n"},"uniqueKey":"requestBodyContained","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"token":"\u003cstring>","clientCertificate":"\u003cstring>","dpop":"\u003cstring>","htm":"\u003cstring>","htu":"\u003cstring>","uri":"\u003cstring>","message":"\u003cstring>","headers":[{"key":"\u003cstring>","value":"\u003cstring>"}],"targetUri":"\u003cstring>","dpopNonceRequired":true,"requestBodyContained":true}}},"exampleType":"generated"}},"exampleType":"examples"},"responses":{"abcf7c25-c6e4-4c39-aae2-779333c473d6":{"description":"User info retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"},"action":{"type":"string","enum":["INTERNAL_SERVER_ERROR","BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","OK"],"description":"The next action that the authorization server implementation should take.","uniqueKey":"action","typeLabel":"enum\u003cstring>"},"claims":{"type":"array","items":{"type":"string","uniqueKey":"claims.items.[INDEX]","typeLabel":"string"},"description":"The list of claims that the client application requests to be embedded in the ID token.\n","uniqueKey":"claims","typeLabel":"string[]"},"clientId":{"type":"integer","format":"int64","description":"The ID of the client application which is associated with the access token.\n","uniqueKey":"clientId","typeLabel":"integer\u003cint64>"},"clientIdAlias":{"type":"string","description":"The client ID alias when the authorization request for the access token was made.\n","uniqueKey":"clientIdAlias","typeLabel":"string"},"clientIdAliasUsed":{"type":"boolean","description":"The flag which indicates whether the client ID alias was used when the authorization request for the access token was made.\n","uniqueKey":"clientIdAliasUsed","typeLabel":"boolean"},"responseContent":{"type":"string","description":"The content that the authorization server implementation can use as the value of `WWW-Authenticate` header on errors.\n","uniqueKey":"responseContent","typeLabel":"string"},"scopes":{"type":"array","items":{"type":"string","uniqueKey":"scopes.items.[INDEX]","typeLabel":"string"},"description":"The scopes covered by the access token.\n","uniqueKey":"scopes","typeLabel":"string[]"},"subject":{"type":"string","description":"The subject (= resource owner's ID).\n","uniqueKey":"subject","typeLabel":"string"},"token":{"type":"string","description":"The access token that came along with the userinfo request.\n","uniqueKey":"token","typeLabel":"string"},"properties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key part.","uniqueKey":"properties.items.[INDEX].key","typeLabel":"string"},"value":{"type":"string","description":"The value part.","uniqueKey":"properties.items.[INDEX].value","typeLabel":"string"},"hidden":{"type":"boolean","description":"The flag to indicate whether this property hidden from or visible to client applications. If `true`, this property is hidden from client applications. Otherwise, this property is visible to client applications.\n","uniqueKey":"properties.items.[INDEX].hidden","typeLabel":"boolean"}},"uniqueKey":"properties.items.[INDEX]","typeLabel":"object"},"description":"The extra properties associated with the access token.\n","uniqueKey":"properties","typeLabel":"object[]"},"userInfoClaims":{"type":"string","description":"The value of the `userinfo` property in the `claims` request parameter or in the `claims` property in an authorization request object.\n","x-mint":{"metadata":{"description":"The value of the `userinfo` property in the `claims` request parameter or in the `claims` property in an authorization request object."},"content":"\u003cAccordion title=\"Full description\" defaultOpen={false}>\nA client application may request certain claims be embedded in an ID token or in a response from the userInfo endpoint. There are several ways. Including the `claims` request parameter and including the `claims` property in a request object are such examples. In both cases, the value of the `claims` parameter/property is JSON. Its format is described in [5.5. Requesting Claims using the \"claims\" Request Parameter](https://openid.net/specs/openid-connect-core-1_0.html#ClaimsParameter).\n\nThe following is an excerpt from the specification. You can find `userinfo` and `id_token` are top-level properties.\n\n```json\n\u0026#123;\n \"userinfo\":\n \u0026#123;\n \"given_name\": \u0026#123; \"essential\": true \u0026#125;,\n \"nickname\": null,\n \"email\": \u0026#123; \"essential\": true \u0026#125;,\n \"email_verified\": \u0026#123; \"essential\": true \u0026#125;,\n \"picture\": null,\n \"http://example.info/claims/groups\": null\n \u0026#125;,\n \"id_token\":\n \u0026#123;\n \"auth_time\": \u0026#123; \"essential\": true \u0026#125;,\n \"acr\": \u0026#123; \"values\": [ \"urn:mace:incommon:iap:silver\" ] \u0026#125;\n \u0026#125;\n\u0026#125;\n````\n\nThe value of this property is the value of the `userinfo` property in JSON format. For example, if the JSON above is included in an authorization request, this property holds JSON equivalent to the following.\n\n```json\n\u0026#123;\n \"given_name\": \u0026#123; \"essential\": true \u0026#125;,\n \"nickname\": null,\n \"email\": \u0026#123; \"essential\": true \u0026#125;,\n \"email_verified\": \u0026#123; \"essential\": true \u0026#125;,\n \"picture\": null,\n \"http://example.info/claims/groups\": null\n\u0026#125;\n```\n\nNote that if a request object is given and it contains the `claims` property and if the `claims` request parameter is also given, the value of this property holds the former value.\n\u003c/Accordion>\n"},"uniqueKey":"userInfoClaims","typeLabel":"string"},"serviceAttributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key part.","uniqueKey":"serviceAttributes.items.[INDEX].key","typeLabel":"string"},"value":{"type":"string","description":"The value part.","uniqueKey":"serviceAttributes.items.[INDEX].value","typeLabel":"string"}},"uniqueKey":"serviceAttributes.items.[INDEX]","typeLabel":"object"},"description":"The attributes of this service that the client application belongs to.\n","uniqueKey":"serviceAttributes","typeLabel":"object[]"},"clientAttributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key part.","uniqueKey":"clientAttributes.items.[INDEX].key","typeLabel":"string"},"value":{"type":"string","description":"The value part.","uniqueKey":"clientAttributes.items.[INDEX].value","typeLabel":"string"}},"uniqueKey":"clientAttributes.items.[INDEX]","typeLabel":"object"},"description":"The attributes of the client.\n","uniqueKey":"clientAttributes","typeLabel":"object[]"},"consentedClaims":{"type":"array","items":{"type":"string","uniqueKey":"consentedClaims.items.[INDEX]","typeLabel":"string"},"description":"the claims that the user has consented for the client application to know.\n","uniqueKey":"consentedClaims","typeLabel":"string[]"},"requestedClaimsForTx":{"type":"array","items":{"type":"string","uniqueKey":"requestedClaimsForTx.items.[INDEX]","typeLabel":"string"},"description":"Get names of claims that are requested indirectly by *\"transformed claims\"*. A client application can request *\"transformed claims\"* by adding names of transformed claims in the `claims` request parameter. The following is an example of the `claims` request parameter that requests a predefined transformed claim named `18_or_over` and a transformed claim named `nationality_usa` to be embedded in the response from the userinfo endpoint.\n```json\n\u0026#123;\n\"transformed_claims\": \u0026#123;\n\"nationality_usa\": \u0026#123;\n\"claim\": \"nationalities\",\n\"fn\": [\n[ \"eq\", \"USA\" ],\n\"any\"\n]\n\u0026#125;\n\u0026#125;,\n\"userinfo\": \u0026#123;\n\"::18_or_over\": null,\n\":nationality_usa\": null\n\u0026#125;\n\u0026#125;\n```\nThe example above assumes that a transformed claim named `18_or_over` is predefined by the authorization server like below.\n```json\n\u0026#123;\n\"18_or_over\": \u0026#123;\n\"claim\": \"birthdate\",\n\"fn\": [\n\"years_ago\",\n[ \"gte\", 18 ]\n]\n\u0026#125;\n\u0026#125;\n```\nIn the example, the `nationalities` claim is requested indirectly by the `nationality_usa` transformed claim. Likewise, the `birthdate` claim is requested indirectly by the `18_or_over` transformed claim. When the `claims` request parameter of an authorization request is like the example above, this `requestedClaimsForTx` property will hold the following value.\n```json\n[ \"birthdate\", \"nationalities\" ]\n```\nIt is expected that the authorization server implementation prepares values of the listed claims and passes them as the value of the `claimsForTx` request parameter when it calls the `/api/auth/userinfo/issue` API. The following is an example of the value of the `claimsForTx` request parameter.\n```json\n\u0026#123;\n\"birthdate\": \"1970-01-23\",\n\"nationalities\": [ \"DEU\", \"USA\" ]\n\u0026#125;\n```\n","uniqueKey":"requestedClaimsForTx","typeLabel":"string[]"},"requestedVerifiedClaimsForTx":{"type":"array","items":{"type":"array","items":{"type":"string","uniqueKey":"requestedVerifiedClaimsForTx.items.[INDEX].items.[INDEX]","typeLabel":"string"},"uniqueKey":"requestedVerifiedClaimsForTx.items.[INDEX]","typeLabel":"string[]"},"description":"Names of verified claims that will be referenced when transformed claims are computed.\n","uniqueKey":"requestedVerifiedClaimsForTx","typeLabel":"string[][]"},"transformedClaims":{"type":"string","description":"the value of the `transformed_claims` property in the `claims` request parameter of an authorization request or in the `claims` property in a request object.\n","uniqueKey":"transformedClaims","typeLabel":"string"},"clientEntityId":{"type":"string","description":"The entity ID of the client.\n","uniqueKey":"clientEntityId","typeLabel":"string"},"clientEntityIdUsed":{"type":"boolean","description":"Flag which indicates whether the entity ID of the client was used when the request for the access token was made.\n","uniqueKey":"clientEntityIdUsed","typeLabel":"boolean"},"dpopNonce":{"type":"string","description":"The expected nonce value for DPoP proof JWT, which should be used as the value of the `DPoP-Nonce` HTTP header.\n","uniqueKey":"dpopNonce","typeLabel":"string"},"metadataDocumentLocation":{"type":"string","format":"uri","description":"The location of the client's metadata document that was used to resolve client metadata.\n\nThis property is set when client metadata was retrieved via the [OAuth Client ID Metadata Document](https://datatracker.ietf.org/doc/draft-ietf-oauth-client-id-metadata-document/) (CIMD) mechanism.\n","uniqueKey":"metadataDocumentLocation","typeLabel":"string\u003curi>"},"metadataDocumentUsed":{"type":"boolean","description":"Flag indicating whether a metadata document was used to resolve client metadata for this request.\n\nWhen `true`, the client metadata was retrieved via the CIMD mechanism rather than from the Authlete database.\n","uniqueKey":"metadataDocumentUsed","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A091001","resultMessage":"[A091001] The access token presented at the userinfo endpoint is valid.","action":"OK","clientId":"15518267821","clientIdAliasUsed":false,"scopes":["openid"],"subject":"john","token":"Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI"},"examples":{"Example":{"title":"Example","value":{"resultCode":"A091001","resultMessage":"[A091001] The access token presented at the userinfo endpoint is valid.","action":"OK","clientId":"15518267821","clientIdAliasUsed":false,"scopes":["openid"],"subject":"john","token":"Ntm9MDb8WXQAevqrBkd84KTTHbYHVQrTjgUZCOWqEUI"}}},"exampleType":"examples"}},"exampleType":"examples"},"14904f0e-6e7b-4421-b8e2-d727663ace82":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A001201","resultMessage":"[A001201] /auth/authorization, TLS must be used."},"examples":{"Example":{"title":"Example","value":{"resultCode":"A001201","resultMessage":"[A001201] /auth/authorization, TLS must be used."}}},"exampleType":"examples"}},"exampleType":"examples"},"8d4beb45-62ac-4367-907e-d25d7f03fc9b":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A001202","resultMessage":"[A001202] /auth/authorization, Authorization header is missing."},"examples":{"Example":{"title":"Example","value":{"resultCode":"A001202","resultMessage":"[A001202] /auth/authorization, Authorization header is missing."}}},"exampleType":"examples"}},"exampleType":"examples"},"28db3334-b027-4417-b1f0-07296eca8db8":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A001215","resultMessage":"[A001215] /auth/authorization, The client (ID = 26837717140341) is locked."},"examples":{"Example":{"title":"Example","value":{"resultCode":"A001215","resultMessage":"[A001215] /auth/authorization, The client (ID = 26837717140341) is locked."}}},"exampleType":"examples"}},"exampleType":"examples"},"75612af0-2318-4421-8f2b-f20c9a3125de":{"description":"The request exceeded the request rate permitted for the endpoint.","headers":{"Retry-After":{"description":"The number of seconds to wait before retrying the request.","schema":{"type":"integer","example":1}},"RateLimit-Remaining":{"description":"The number of requests remaining in the next second.","schema":{"type":"integer","example":10}},"RateLimit-Reset":{"description":"The number of seconds to wait before the request rate is fully replenished.","schema":{"type":"integer","example":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A001311","resultMessage":"[A001311] /auth/authorization, Too many requests, retry after 1 seconds. (Entity: 23769878923/87122303)"},"examples":{"Example":{"title":"Example","value":{"resultCode":"A001311","resultMessage":"[A001311] /auth/authorization, Too many requests, retry after 1 seconds. (Entity: 23769878923/87122303)"}}},"exampleType":"examples"}},"exampleType":"examples"},"7a0f134f-d3c6-4937-a405-8e6aed63c00b":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A001101","resultMessage":"[A001101] /auth/authorization, Authlete Server error."},"examples":{"Example":{"title":"Example","value":{"resultCode":"A001101","resultMessage":"[A001101] /auth/authorization, Authlete Server error."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"462b635e-c1d5-42f6-b3a8-ef7d418285aa":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Authenticate every request with a **Service Access Token** or **Organization Token**. Set the token value in the `Authorization: Bearer \u003ctoken>` header.\n\n**Service Access Token**: Scoped to a single service. Use when automating service-level configuration or runtime flows.\n\n**Organization Token**: Scoped to the organization; inherits permissions across services. Use for org-wide automation or when managing multiple services programmatically.\n\nBoth token types are issued by the Authlete console or provisioning APIs.\n","scopes":[],"schemeName":"bearer"}}},"servers":{"86730d38-5978-49f4-83dc-79ee32a13d9f":{"description":"🇺🇸 US Cluster","url":"https://us.authlete.com"},"6b1844ca-4ef4-4a3a-aa78-226ce86b6b87":{"description":"🇯🇵 Japan Cluster","url":"https://jp.authlete.com"},"428ca9ef-6a06-47df-8d21-45d932468e02":{"description":"🇪🇺 Europe Cluster","url":"https://eu.authlete.com"},"02c44588-9e42-4914-bdc7-134510ec7325":{"description":"🇧🇷 Brazil Cluster","url":"https://br.authlete.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Authenticate every request with a **Service Access Token** or **Organization Token**. Set the token value in the `Authorization: Bearer \u003ctoken>` header.\n\n**Service Access Token**: Scoped to a single service. Use when automating service-level configuration or runtime flows.\n\n**Organization Token**: Scoped to the organization; inherits permissions across services. Use for org-wide automation or when managing multiple services programmatically.\n\nBoth token types are issued by the Authlete console or provisioning APIs.\n","scopes":[],"schemeName":"bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Authenticate every request with a **Service Access Token** or **Organization Token**. Set the token value in the `Authorization: Bearer \u003ctoken>` header.\n\n**Service Access Token**: Scoped to a single service. Use when automating service-level configuration or runtime flows.\n\n**Organization Token**: Scoped to the organization; inherits permissions across services. Use for org-wide automation or when managing multiple services programmatically.\n\nBoth token types are issued by the Authlete console or provisioning APIs.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples"},"subdomain":"authlete","siteName":"Authlete Documentation","title":"Process UserInfo Request - Authlete Documentation","navMaps":{"firstHrefInVersion":{"3.x":{"href":"/api-reference/userinfo-endpoint/process-userinfo-request","matchLevel":0},"2.x":{"href":"/get-started/introduction-to-authlete/index","matchLevel":4}},"firstHrefInLanguage":{"en":{"href":"/api-reference/userinfo-endpoint/process-userinfo-request","matchLevel":0},"ja":{"href":"/api-reference/userinfo-endpoint/process-userinfo-request","matchLevel":0}}},"lastModified":"2026-10-21T07:38:51.631Z","originalFileLocation":"api-reference/userinfo-endpoint/process-userinfo-request.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"This API gathers information about a user.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Authlete Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Process UserInfo Request - Authlete Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"This API gathers information about a user.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Authlete Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.authlete.com/api-reference/userinfo-endpoint/process-userinfo-request\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://authlete.mintlify.app/_mintlify/api/og/v2?division=UserInfo+Endpoint\u0026amp;title=Process+UserInfo+Request\u0026amp;description=This+API+gathers+information+about+a+user.\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=cdbac892b0bbbb9f33a97cccaa9d97b3400e41ad89d86f21ab21e44fba65bf16\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Process UserInfo Request - Authlete Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This API gathers information about a user.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://authlete.mintlify.app/_mintlify/api/og/v2?division=UserInfo+Endpoint\u0026amp;title=Process+UserInfo+Request\u0026amp;description=This+API+gathers+information+about+a+user.\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=cdbac892b0bbbb9f33a97cccaa9d97b3400e41ad89d86f21ab21e44fba65bf16\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Authlete Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0057B7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.authlete.com/api-reference/userinfo-endpoint/process-userinfo-request\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/userinfo-endpoint/process-userinfo-request.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.authlete.com/#organization\",\"name\":\"Authlete Documentation\",\"url\":\"https://developers.authlete.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/authlete/EJDZNZMvOu_9CJHJ/authlete-blue-horizontal-logo.svg?fit=max\u0026auto=format\u0026n=EJDZNZMvOu_9CJHJ\u0026q=85\u0026s=ed123a3de8b7791dffde03e7705c7460\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.authlete.com#website\",\"name\":\"Authlete Documentation\",\"url\":\"https://developers.authlete.com\",\"publisher\":{\"@id\":\"https://developers.authlete.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.authlete.com/api-reference/userinfo-endpoint/process-userinfo-request#webpage\",\"url\":\"https://developers.authlete.com/api-reference/userinfo-endpoint/process-userinfo-request\",\"name\":\"Process UserInfo Request\",\"description\":\"This API gathers information about a user.\",\"dateModified\":\"2026-10-21T07:38:51.631Z\",\"isPartOf\":{\"@id\":\"https://developers.authlete.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.authlete.com/api-reference/userinfo-endpoint/process-userinfo-request#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.authlete.com/api-reference/userinfo-endpoint/process-userinfo-request#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Authlete\",\"item\":\"https://developers.authlete.com/api-reference/service-management/get-service\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Process UserInfo Request\",\"item\":\"https://developers.authlete.com/api-reference/userinfo-endpoint/process-userinfo-request\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.authlete.com/api-reference/userinfo-endpoint/process-userinfo-request#apireference\",\"headline\":\"Process UserInfo Request\",\"name\":\"Process UserInfo Request\",\"description\":\"This API gathers information about a user.\",\"url\":\"https://developers.authlete.com/api-reference/userinfo-endpoint/process-userinfo-request\",\"mainEntityOfPage\":{\"@id\":\"https://developers.authlete.com/api-reference/userinfo-endpoint/process-userinfo-request#webpage\"},\"dateModified\":\"2026-10-21T07:38:51.631Z\",\"publisher\":{\"@id\":\"https://developers.authlete.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.authlete.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Authlete Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Authlete Documentation","nav":{"global":null,"languages":[{"language":"en","default":true,"versions":[{"version":"3.x","default":true,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/introduction-to-authlete/overview"}]},{"tab":"API Reference","groups":[{"group":"Authlete","expanded":true,"pages":[{"group":"Service Management","pages":[{"title":"Get Service","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/service/get","href":"/api-reference/service-management/get-service"},{"title":"List Services","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/service/get/list","href":"/api-reference/service-management/list-services"},{"title":"Update Service","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/service/update","href":"/api-reference/service-management/update-service"},{"title":"Create Service (IDP)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/service","href":"/api-reference/service-management/create-service-idp"},{"title":"Remove Service (IDP) ⚡","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/service/remove","href":"/api-reference/service-management/remove-service-idp-⚡"},{"title":"Get Service Configuration","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/service/configuration","href":"/api-reference/service-management/get-service-configuration"}]},{"group":"Audit Logs","pages":[{"title":"Get Audit Logs","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/audit/entries","href":"/api-reference/audit-logs/get-audit-logs"},{"title":"Get Audit Log Event Types","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/audit/types","href":"/api-reference/audit-logs/get-audit-log-event-types"}]},{"group":"Client Management","pages":[{"title":"Get Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/get/{clientId}","href":"/api-reference/client-management/get-client"},{"title":"List Clients","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/get/list","href":"/api-reference/client-management/list-clients"},{"title":"Create Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/create","href":"/api-reference/client-management/create-client"},{"title":"Update Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/update/{clientId}","href":"/api-reference/client-management/update-client"},{"title":"Delete Client ⚡","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/delete/{clientId}","href":"/api-reference/client-management/delete-client-⚡"},{"title":"Update Client Lock","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/lock_flag/update/{clientIdentifier}","href":"/api-reference/client-management/update-client-lock"},{"title":"Rotate Client Secret","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/secret/refresh/{clientIdentifier}","href":"/api-reference/client-management/rotate-client-secret"},{"title":"Update Client Secret","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/secret/update/{clientIdentifier}","href":"/api-reference/client-management/update-client-secret"},{"title":"Get Authorized Applications","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/authorization/get/list","href":"/api-reference/client-management/get-authorized-applications"},{"title":"Get Authorized Applications","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/get/list","href":"/api-reference/client-management/get-authorized-applications-1"},{"title":"Get Authorized Applications (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/authorization/get/list/{subject}","href":"/api-reference/client-management/get-authorized-applications-by-subject"},{"title":"Update Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/update/{clientId}","href":"/api-reference/client-management/update-client-tokens"},{"title":"Delete Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/delete/{clientId}","href":"/api-reference/client-management/delete-client-tokens"},{"title":"Delete Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/authorization/delete/{clientId}","href":"/api-reference/client-management/delete-client-tokens-1"},{"title":"Delete Client Tokens (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/authorization/delete/{clientId}/{subject}","href":"/api-reference/client-management/delete-client-tokens-by-subject"},{"title":"Get Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/granted_scopes/get/{clientId}","href":"/api-reference/client-management/get-granted-scopes"},{"title":"Get Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/granted_scopes/get/{clientId}","href":"/api-reference/client-management/get-granted-scopes-1"},{"title":"Get Granted Scopes (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/granted_scopes/get/{clientId}/{subject}","href":"/api-reference/client-management/get-granted-scopes-by-subject"},{"title":"Delete Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/granted_scopes/delete/{clientId}","href":"/api-reference/client-management/delete-granted-scopes"},{"title":"Delete Granted Scopes (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/granted_scopes/delete/{clientId}/{subject}","href":"/api-reference/client-management/delete-granted-scopes-by-subject"},{"title":"List Clients (Cursor Pagination)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client","href":"/api-reference/client-management/list-clients-cursor-pagination"},{"title":"Search Clients","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/search","href":"/api-reference/client-management/search-clients"},{"title":"Get Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/extension/requestable_scopes/get/{clientId}","href":"/api-reference/client-management/get-requestable-scopes"},{"title":"Update Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples put /api/{serviceId}/client/extension/requestable_scopes/update/{clientId}","href":"/api-reference/client-management/update-requestable-scopes"},{"title":"Update Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/extension/requestable_scopes/update/{clientId}","href":"/api-reference/client-management/update-requestable-scopes-1"},{"title":"Delete Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/extension/requestable_scopes/delete/{clientId}","href":"/api-reference/client-management/delete-requestable-scopes"}]},{"group":"Authorization Endpoint","pages":[{"title":"Process Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization","href":"/api-reference/authorization-endpoint/process-authorization-request"},{"title":"Fail Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/fail","href":"/api-reference/authorization-endpoint/fail-authorization-request"},{"title":"Issue Authorization Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/issue","href":"/api-reference/authorization-endpoint/issue-authorization-response"},{"title":"Get Ticket Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/ticket/info","href":"/api-reference/authorization-endpoint/get-ticket-information"},{"title":"Update Ticket Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/ticket/update","href":"/api-reference/authorization-endpoint/update-ticket-information"}]},{"group":"Pushed Authorization Endpoint","pages":[{"title":"Process Pushed Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/pushed_auth_req","href":"/api-reference/pushed-authorization-endpoint/process-pushed-authorization-request"}]},{"group":"Token Endpoint","pages":[{"title":"Process Token Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token","href":"/api-reference/token-endpoint/process-token-request"},{"title":"Fail Token Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/fail","href":"/api-reference/token-endpoint/fail-token-request"},{"title":"Issue Token Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/issue","href":"/api-reference/token-endpoint/issue-token-response"},{"title":"Reissue ID Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/idtoken/reissue","href":"/api-reference/token-endpoint/reissue-id-token"}]},{"group":"Introspection Endpoint","pages":[{"title":"Process Introspection Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/introspection","href":"/api-reference/introspection-endpoint/process-introspection-request"},{"title":"Process OAuth 2.0 Introspection Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/introspection/standard","href":"/api-reference/introspection-endpoint/process-oauth-20-introspection-request"}]},{"group":"Revocation Endpoint","pages":[{"title":"Process Revocation Request","description":"This API revokes access tokens and refresh tokens.","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/revocation","href":"/api-reference/revocation-endpoint/process-revocation-request"}]},{"group":"UserInfo Endpoint","pages":[{"title":"Process UserInfo Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/userinfo","href":"/api-reference/userinfo-endpoint/process-userinfo-request"},{"title":"Issue UserInfo Response","description":"This API generates an ID token.","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/userinfo/issue","href":"/api-reference/userinfo-endpoint/issue-userinfo-response"}]},{"group":"Grant Management Endpoint","pages":[{"title":"Process Grant Management Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/gm","href":"/api-reference/grant-management-endpoint/process-grant-management-request"}]},{"group":"Dynamic Client Registration","pages":[{"title":"Register Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration","href":"/api-reference/dynamic-client-registration/register-client"},{"title":"Get Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/get","href":"/api-reference/dynamic-client-registration/get-client"},{"title":"Update Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/update","href":"/api-reference/dynamic-client-registration/update-client"},{"title":"Delete Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/delete","href":"/api-reference/dynamic-client-registration/delete-client"}]},{"group":"CIBA","pages":[{"title":"Process Backchannel Authentication Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication","href":"/api-reference/ciba/process-backchannel-authentication-request"},{"title":"Issue Backchannel Authentication Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/issue","href":"/api-reference/ciba/issue-backchannel-authentication-response"},{"title":"Fail Backchannel Authentication Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/fail","href":"/api-reference/ciba/fail-backchannel-authentication-request"},{"title":"Complete Backchannel Authentication","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/complete","href":"/api-reference/ciba/complete-backchannel-authentication"}]},{"group":"Back-Channel Logout","pages":[{"title":"Backchannel Logout Token Issuing","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/logout/token","href":"/api-reference/back-channel-logout/backchannel-logout-token-issuing"}]},{"group":"Device Flow","pages":[{"title":"Process Device Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/authorization","href":"/api-reference/device-flow/process-device-authorization-request"},{"title":"Process Device Verification Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/verification","href":"/api-reference/device-flow/process-device-verification-request"},{"title":"Complete Device Authorization","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/complete","href":"/api-reference/device-flow/complete-device-authorization"}]},{"group":"Token Operations","pages":[{"title":"List Issued Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/auth/token/get/list","href":"/api-reference/token-operations/list-issued-tokens"},{"title":"Create Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/create","href":"/api-reference/token-operations/create-access-token"},{"title":"Update Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/update","href":"/api-reference/token-operations/update-access-token"},{"title":"Delete Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/auth/token/delete/{accessTokenIdentifier}","href":"/api-reference/token-operations/delete-access-token"},{"title":"Revoke Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/revoke","href":"/api-reference/token-operations/revoke-access-token"}]},{"group":"Federation Endpoint","pages":[{"title":"Process Entity Configuration Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/federation/configuration","href":"/api-reference/federation-endpoint/process-entity-configuration-request"},{"title":"Process Federation Registration Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/federation/registration","href":"/api-reference/federation-endpoint/process-federation-registration-request"}]},{"group":"Hardware Security Key","pages":[{"title":"Create Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/hsk/create","href":"/api-reference/hardware-security-key/create-security-key"},{"title":"Delete Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/hsk/delete/{handle}","href":"/api-reference/hardware-security-key/delete-security-key"},{"title":"Get Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/hsk/get/{handle}","href":"/api-reference/hardware-security-key/get-security-key"},{"title":"List Security Keys","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/hsk/get/list","href":"/api-reference/hardware-security-key/list-security-keys"}]},{"group":"Verifiable Credential Issuer","pages":[{"title":"Get Verifiable Credential Issuer Metadata","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/metadata","href":"/api-reference/verifiable-credential-issuer/get-verifiable-credential-issuer-metadata"},{"title":"Get JWT Issuer Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/jwtissuer","href":"/api-reference/verifiable-credential-issuer/get-jwt-issuer-information"},{"title":"Get JSON Web Key Set","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/jwks","href":"/api-reference/verifiable-credential-issuer/get-json-web-key-set"},{"title":"Create Credential Offer","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/offer/create","href":"/api-reference/verifiable-credential-issuer/create-credential-offer"},{"title":"Get Credential Offer Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/offer/info","href":"/api-reference/verifiable-credential-issuer/get-credential-offer-information"},{"title":"Parse Single Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/single/parse","href":"/api-reference/verifiable-credential-issuer/parse-single-credential"},{"title":"Issue Single Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/single/issue","href":"/api-reference/verifiable-credential-issuer/issue-single-credential"},{"title":"Parse Batch Credentials","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/batch/parse","href":"/api-reference/verifiable-credential-issuer/parse-batch-credentials"},{"title":"Issue Batch Credentials","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/batch/issue","href":"/api-reference/verifiable-credential-issuer/issue-batch-credentials"},{"title":"Parse Deferred Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/deferred/parse","href":"/api-reference/verifiable-credential-issuer/parse-deferred-credential"},{"title":"Issue Deferred Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/deferred/issue","href":"/api-reference/verifiable-credential-issuer/issue-deferred-credential"}]},{"group":"Lifecycle","pages":[{"title":"Health Check","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/lifecycle/healthcheck","href":"/api-reference/lifecycle/health-check"}]},{"group":"Native SSO","pages":[{"title":"Native SSO Processing","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/nativesso","href":"/api-reference/native-sso/native-sso-processing"},{"title":"Native SSO Logout Processing","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/nativesso/logout","href":"/api-reference/native-sso/native-sso-logout-processing"}]}]}]},{"tab":"Protocols \u0026 Flows","pages":[{"title":"Protocols \u0026 Flows","href":"/protocols-and-flows/basic-oauth-oidc-flows/oauth-2-0-and-openid-connect-authorization-endpoints"}]},{"tab":"Configuration Reference","pages":[{"title":"Configuration Reference","href":"/configuration-reference/endpoints/handling-request-parameters"}]},{"tab":"Deployment \u0026 Operations","pages":[{"title":"Deployment \u0026 Operations","href":"/deployment-and-operations/terraform/introduction"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/console/2026-09"}]}]},{"version":"2.x","default":false,"pages":[{"title":"2.x","href":"/get-started/introduction-to-authlete"}]}]},{"language":"ja","versions":[{"version":"3.x","default":true,"tabs":[{"tab":"はじめに","pages":[{"title":"はじめに","href":"/ja/get-started/introduction-to-authlete/overview"}]},{"tab":"API リファレンス","groups":[{"group":"Authlete","expanded":true,"pages":[{"group":"Service Management","pages":[{"title":"Get Service","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/service/get","href":"/api-reference/service-management/get-service"},{"title":"List Services","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/service/get/list","href":"/api-reference/service-management/list-services"},{"title":"Update Service","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/service/update","href":"/api-reference/service-management/update-service"},{"title":"Create Service (IDP)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/service","href":"/api-reference/service-management/create-service-idp"},{"title":"Remove Service (IDP) ⚡","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/service/remove","href":"/api-reference/service-management/remove-service-idp-⚡"},{"title":"Get Service Configuration","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/service/configuration","href":"/api-reference/service-management/get-service-configuration"}]},{"group":"Audit Logs","pages":[{"title":"Get Audit Logs","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/audit/entries","href":"/api-reference/audit-logs/get-audit-logs"},{"title":"Get Audit Log Event Types","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/audit/types","href":"/api-reference/audit-logs/get-audit-log-event-types"}]},{"group":"Client Management","pages":[{"title":"Get Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/get/{clientId}","href":"/api-reference/client-management/get-client"},{"title":"List Clients","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/get/list","href":"/api-reference/client-management/list-clients"},{"title":"Create Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/create","href":"/api-reference/client-management/create-client"},{"title":"Update Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/update/{clientId}","href":"/api-reference/client-management/update-client"},{"title":"Delete Client ⚡","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/delete/{clientId}","href":"/api-reference/client-management/delete-client-⚡"},{"title":"Update Client Lock","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/lock_flag/update/{clientIdentifier}","href":"/api-reference/client-management/update-client-lock"},{"title":"Rotate Client Secret","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/secret/refresh/{clientIdentifier}","href":"/api-reference/client-management/rotate-client-secret"},{"title":"Update Client Secret","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/secret/update/{clientIdentifier}","href":"/api-reference/client-management/update-client-secret"},{"title":"Get Authorized Applications","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/authorization/get/list","href":"/api-reference/client-management/get-authorized-applications"},{"title":"Get Authorized Applications","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/get/list","href":"/api-reference/client-management/get-authorized-applications-1"},{"title":"Get Authorized Applications (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/authorization/get/list/{subject}","href":"/api-reference/client-management/get-authorized-applications-by-subject"},{"title":"Update Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/update/{clientId}","href":"/api-reference/client-management/update-client-tokens"},{"title":"Delete Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/delete/{clientId}","href":"/api-reference/client-management/delete-client-tokens"},{"title":"Delete Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/authorization/delete/{clientId}","href":"/api-reference/client-management/delete-client-tokens-1"},{"title":"Delete Client Tokens (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/authorization/delete/{clientId}/{subject}","href":"/api-reference/client-management/delete-client-tokens-by-subject"},{"title":"Get Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/granted_scopes/get/{clientId}","href":"/api-reference/client-management/get-granted-scopes"},{"title":"Get Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/granted_scopes/get/{clientId}","href":"/api-reference/client-management/get-granted-scopes-1"},{"title":"Get Granted Scopes (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/granted_scopes/get/{clientId}/{subject}","href":"/api-reference/client-management/get-granted-scopes-by-subject"},{"title":"Delete Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/granted_scopes/delete/{clientId}","href":"/api-reference/client-management/delete-granted-scopes"},{"title":"Delete Granted Scopes (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/granted_scopes/delete/{clientId}/{subject}","href":"/api-reference/client-management/delete-granted-scopes-by-subject"},{"title":"List Clients (Cursor Pagination)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client","href":"/api-reference/client-management/list-clients-cursor-pagination"},{"title":"Search Clients","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/search","href":"/api-reference/client-management/search-clients"},{"title":"Get Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/extension/requestable_scopes/get/{clientId}","href":"/api-reference/client-management/get-requestable-scopes"},{"title":"Update Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples put /api/{serviceId}/client/extension/requestable_scopes/update/{clientId}","href":"/api-reference/client-management/update-requestable-scopes"},{"title":"Update Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/extension/requestable_scopes/update/{clientId}","href":"/api-reference/client-management/update-requestable-scopes-1"},{"title":"Delete Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/extension/requestable_scopes/delete/{clientId}","href":"/api-reference/client-management/delete-requestable-scopes"}]},{"group":"Authorization Endpoint","pages":[{"title":"Process Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization","href":"/api-reference/authorization-endpoint/process-authorization-request"},{"title":"Fail Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/fail","href":"/api-reference/authorization-endpoint/fail-authorization-request"},{"title":"Issue Authorization Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/issue","href":"/api-reference/authorization-endpoint/issue-authorization-response"},{"title":"Get Ticket Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/ticket/info","href":"/api-reference/authorization-endpoint/get-ticket-information"},{"title":"Update Ticket Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/ticket/update","href":"/api-reference/authorization-endpoint/update-ticket-information"}]},{"group":"Pushed Authorization Endpoint","pages":[{"title":"Process Pushed Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/pushed_auth_req","href":"/api-reference/pushed-authorization-endpoint/process-pushed-authorization-request"}]},{"group":"Token Endpoint","pages":[{"title":"Process Token Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token","href":"/api-reference/token-endpoint/process-token-request"},{"title":"Fail Token Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/fail","href":"/api-reference/token-endpoint/fail-token-request"},{"title":"Issue Token Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/issue","href":"/api-reference/token-endpoint/issue-token-response"},{"title":"Reissue ID Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/idtoken/reissue","href":"/api-reference/token-endpoint/reissue-id-token"}]},{"group":"Introspection Endpoint","pages":[{"title":"Process Introspection Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/introspection","href":"/api-reference/introspection-endpoint/process-introspection-request"},{"title":"Process OAuth 2.0 Introspection Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/introspection/standard","href":"/api-reference/introspection-endpoint/process-oauth-20-introspection-request"}]},{"group":"Revocation Endpoint","pages":[{"title":"Process Revocation Request","description":"This API revokes access tokens and refresh tokens.","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/revocation","href":"/api-reference/revocation-endpoint/process-revocation-request"}]},{"group":"UserInfo Endpoint","pages":[{"title":"Process UserInfo Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/userinfo","href":"/api-reference/userinfo-endpoint/process-userinfo-request"},{"title":"Issue UserInfo Response","description":"This API generates an ID token.","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/userinfo/issue","href":"/api-reference/userinfo-endpoint/issue-userinfo-response"}]},{"group":"Grant Management Endpoint","pages":[{"title":"Process Grant Management Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/gm","href":"/api-reference/grant-management-endpoint/process-grant-management-request"}]},{"group":"Dynamic Client Registration","pages":[{"title":"Register Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration","href":"/api-reference/dynamic-client-registration/register-client"},{"title":"Get Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/get","href":"/api-reference/dynamic-client-registration/get-client"},{"title":"Update Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/update","href":"/api-reference/dynamic-client-registration/update-client"},{"title":"Delete Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/delete","href":"/api-reference/dynamic-client-registration/delete-client"}]},{"group":"CIBA","pages":[{"title":"Process Backchannel Authentication Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication","href":"/api-reference/ciba/process-backchannel-authentication-request"},{"title":"Issue Backchannel Authentication Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/issue","href":"/api-reference/ciba/issue-backchannel-authentication-response"},{"title":"Fail Backchannel Authentication Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/fail","href":"/api-reference/ciba/fail-backchannel-authentication-request"},{"title":"Complete Backchannel Authentication","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/complete","href":"/api-reference/ciba/complete-backchannel-authentication"}]},{"group":"Back-Channel Logout","pages":[{"title":"Backchannel Logout Token Issuing","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/logout/token","href":"/api-reference/back-channel-logout/backchannel-logout-token-issuing"}]},{"group":"Device Flow","pages":[{"title":"Process Device Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/authorization","href":"/api-reference/device-flow/process-device-authorization-request"},{"title":"Process Device Verification Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/verification","href":"/api-reference/device-flow/process-device-verification-request"},{"title":"Complete Device Authorization","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/complete","href":"/api-reference/device-flow/complete-device-authorization"}]},{"group":"Token Operations","pages":[{"title":"List Issued Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/auth/token/get/list","href":"/api-reference/token-operations/list-issued-tokens"},{"title":"Create Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/create","href":"/api-reference/token-operations/create-access-token"},{"title":"Update Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/update","href":"/api-reference/token-operations/update-access-token"},{"title":"Delete Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/auth/token/delete/{accessTokenIdentifier}","href":"/api-reference/token-operations/delete-access-token"},{"title":"Revoke Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/revoke","href":"/api-reference/token-operations/revoke-access-token"}]},{"group":"Federation Endpoint","pages":[{"title":"Process Entity Configuration Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/federation/configuration","href":"/api-reference/federation-endpoint/process-entity-configuration-request"},{"title":"Process Federation Registration Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/federation/registration","href":"/api-reference/federation-endpoint/process-federation-registration-request"}]},{"group":"Hardware Security Key","pages":[{"title":"Create Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/hsk/create","href":"/api-reference/hardware-security-key/create-security-key"},{"title":"Delete Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/hsk/delete/{handle}","href":"/api-reference/hardware-security-key/delete-security-key"},{"title":"Get Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/hsk/get/{handle}","href":"/api-reference/hardware-security-key/get-security-key"},{"title":"List Security Keys","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/hsk/get/list","href":"/api-reference/hardware-security-key/list-security-keys"}]},{"group":"Verifiable Credential Issuer","pages":[{"title":"Get Verifiable Credential Issuer Metadata","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/metadata","href":"/api-reference/verifiable-credential-issuer/get-verifiable-credential-issuer-metadata"},{"title":"Get JWT Issuer Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/jwtissuer","href":"/api-reference/verifiable-credential-issuer/get-jwt-issuer-information"},{"title":"Get JSON Web Key Set","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/jwks","href":"/api-reference/verifiable-credential-issuer/get-json-web-key-set"},{"title":"Create Credential Offer","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/offer/create","href":"/api-reference/verifiable-credential-issuer/create-credential-offer"},{"title":"Get Credential Offer Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/offer/info","href":"/api-reference/verifiable-credential-issuer/get-credential-offer-information"},{"title":"Parse Single Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/single/parse","href":"/api-reference/verifiable-credential-issuer/parse-single-credential"},{"title":"Issue Single Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/single/issue","href":"/api-reference/verifiable-credential-issuer/issue-single-credential"},{"title":"Parse Batch Credentials","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/batch/parse","href":"/api-reference/verifiable-credential-issuer/parse-batch-credentials"},{"title":"Issue Batch Credentials","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/batch/issue","href":"/api-reference/verifiable-credential-issuer/issue-batch-credentials"},{"title":"Parse Deferred Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/deferred/parse","href":"/api-reference/verifiable-credential-issuer/parse-deferred-credential"},{"title":"Issue Deferred Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/deferred/issue","href":"/api-reference/verifiable-credential-issuer/issue-deferred-credential"}]},{"group":"Lifecycle","pages":[{"title":"Health Check","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/lifecycle/healthcheck","href":"/api-reference/lifecycle/health-check"}]},{"group":"Native SSO","pages":[{"title":"Native SSO Processing","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/nativesso","href":"/api-reference/native-sso/native-sso-processing"},{"title":"Native SSO Logout Processing","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/nativesso/logout","href":"/api-reference/native-sso/native-sso-logout-processing"}]}]}]},{"tab":"プロトコル \u0026 フロー","pages":[{"title":"プロトコル \u0026 フロー","href":"/ja/protocols-and-flows/basic-oauth-oidc-flows/oauth-2-0-and-openid-connect-authorization-endpoints"}]},{"tab":"設定リファレンス","pages":[{"title":"設定リファレンス","href":"/ja/configuration-reference/endpoints/handling-request-parameters"}]},{"tab":"デプロイと運用","pages":[{"title":"デプロイと運用","href":"/ja/deployment-and-operations/terraform/introduction"}]},{"tab":"リリースノート","pages":[{"title":"リリースノート","href":"/ja/release-notes/console/2026-09"}]}]},{"version":"2.x","default":false,"pages":[{"title":"2.x","href":"/ja/get-started/introduction-to-authlete/overview"}]}]}]},"title":"Process UserInfo Request - Authlete Documentation","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js","Markdown--GF7ZIpf.js","clsx-DZLdJUrt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-2LoAhjKH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Zwc0ZncM.js"]}