{
"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."
}
Device Flow
Process Device Authorization Request
This API parses request parameters of a device authorization request and returns necessary data for the authorization server implementation to process the device authorization request further.
POST
/
api
/
{serviceId}
/
device
/
authorization
Typescript (SDK)
import { Authlete } from "@authlete/typescript-sdk";const authlete = new Authlete({ serviceId: "<id>", bearer: process.env["AUTHLETE_BEARER"] ?? "",});async function run() { const result = await authlete.deviceFlow.authorization({ deviceAuthorizationRequest: { parameters: "client_id=26888344961664&scope=history.read", clientId: "26888344961664", clientSecret: "SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog", }, }); console.log(result);}run();
require 'authlete_ruby_sdk'
Models = ::Authlete::Models
s = ::Authlete::Client.new(
service_id: '<id>',
bearer: '<YOUR_BEARER_TOKEN_HERE>'
)
res = s.device_flow.authorization(device_authorization_request: Models::Components::DeviceAuthorizationRequest.new(
parameters: 'client_id=26888344961664&scope=history.read',
client_id: '26888344961664',
client_secret: 'SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog'
))
unless res.device_authorization_response.nil?
# handle response
end
{
"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 the within the implementation of the device authorization endpoint of the service. The service implementation should retrieve the value of action from the response and take the following steps according to the value.
When the value of action is INTERNAL_SERVER_ERROR, it means that the API call from the authorization server implementation was wrong or that an error occurred in Authlete. In either case, from a viewpoint of the client application, it is an error on the server side. Therefore, the authorization server implementation should generate a response to the client application with “500 Internal Server Error”s and application/json. The value of responseContent is a JSON string which describes t he error, so it can be used as the entity body of the response.The following illustrates the response which the authorization server implementation should generate and return to the client application.
HTTP/1.1 500 Internal Server ErrorContent-Type: application/jsonCache-Control: no-storePragma: no-cache{responseContent}
When the value of action is BAD_REQUEST, it means that the request from the client application is wrong. The authorization server implementation should generate a response to the client application with “400 Bad Request” and application/json. The value of responseContent is a JSON string which describes the error, so it can be used as the entity body of the response.The following illustrates the response which the service implementation should generate and return to the client application.
HTTP/1.1 400 Bad RequestContent-Type: application/jsonCache-Control: no-storePragma: no-cache{responseContent}
When the value of action is UNAUTHORIZED, it means that client authentication of the device authorization request failed. The authorization server implementation should generate a response to the client application with “401 Unauthorized” and application/json. The value of responseContent is a JSON string which describes the error, so it can be used as the entity body of the response.The following illustrates the response which the service implementation must generate and return to the client application.
When the value of action is OK, it means that the device authorization request from the client application is valid. The authorization server implementation should generate a response to the client application with “200 OK” and application/json. The responseContent is a JSON string which can be used as the entity body of the response.The following illustrates the response which the authorization server implementation should generate and return to the client application.
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.
Parameters of a device authorization request which are the request parameters that the device authorization endpoint of the authorization server implementation received from the client application.
The value of parameters is the entire entity body (which is formatted in application/x-www-form-urlencoded) of the request from the client application.
The client ID extracted from Authorization header of the device authorization request from the client application.
If the device authorization endpoint of the authorization server implementation supports Basic Authentication as a means of client authentication, and the request from the client application contained its client ID in Authorization header, the value should be extracted and set to this parameter.
The client secret extracted from Authorization header of the device authorization request from the client application.
If the device authorization endpoint of the authorization server implementation supports Basic Authentication as a means of client authentication, and the request from the client application contained its client secret in Authorization header, the value should be extracted and set to this parameter.
The content that the authorization server implementation is to return to the client application. Its format varies depending on the value of action parameter.
true if the value of the client_id request parameter included in the device authorization request is the client ID alias. false if the value is the original numeric client ID.
The names of the claims which were requested indirectly via some special scopes. See 5.4. Requesting Claims using Scope Values in OpenID Connect Core 1.0 for details.
The list of ACR values requested by the device authorization request.
Basically, this property holds the value of the acr_values request parameter in the device authorization request. However, because unsupported ACR values are dropped on Authlete side, if the acr_values request parameter contains unrecognized ACR values, the list returned by this property becomes different from the value of the acr_values request parameter.
The end-user verification URI that includes the end-user verification code. This corresponds to the verification_uri_complete property in the response to the client.
The minimum amount of time in seconds that the client must wait for between polling requests to the token endpoint. This corresponds to the interval property in the response to the client.
The authorization details. This represents the value of the authorization_details request parameter in the preceding device authorization request which is defined in "OAuth 2.0 Rich Authorization Requests".
The subject identifying the user who has given the grant identified by the grant_id request parameter of the device authorization request. Authlete 2.3 and newer versions support Grant Management for OAuth 2.0. An authorization request may contain a grant_id request parameter which is defined in the specification. If the value of the request parameter is valid, {@link #getGrantSubject()} will return the subject of the user who has given the grant to the client application. Authorization server implementations may use the value returned from {@link #getGrantSubject()} in order to determine the user to authenticate. The user your system will authenticate during the authorization process (or has already authenticated) may be different from the user of the grant. The first implementer's draft of "Grant Management for OAuth 2.0" does not mention anything about the case, so the behavior in the case is left to implementations. Authlete will not perform the grant management action when the subject passed to Authlete does not match the user of the grant.
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/device-flow/process-device-authorization-request","slug":"/api-reference/device-flow/process-device-authorization-request","pageMetadata":{"title":"Process Device Authorization Request","description":"This API parses request parameters of a [device authorization request](https://datatracker.ietf.org/doc/html/rfc8628#section-3.1) and returns necessary data for the authorization server implementation to process the device authorization request further.","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","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"This API parses request parameters of a \", _jsx(_components.a, {\n href: \"https://datatracker.ietf.org/doc/html/rfc8628#section-3.1\",\n children: \"device authorization request\"\n }), \" and returns necessary data for the authorization server implementation to process the device authorization request further.\"]\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={code:`code`,hr:`hr`,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 the within the implementation of the device authorization endpoint of the service. The service implementation should retrieve the value of `,_jsx(_components.code,{children:`action`}),` from the response and take the following steps according to the value.`]}),_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 API call from the authorization server implementation was wrong or that an error occurred in Authlete. In either case, from a viewpoint of the client application, it is an error on the server side. Therefore, the authorization server implementation should generate a response to the client application with “500 Internal Server Error”s and `,_jsx(_components.code,{children:`application/json`}),`. The value of `,_jsx(_components.code,{children:`responseContent`}),` is a JSON string which describes t he error, so it can be used as the entity body of the response.`]}),_jsx(_components.hr,{}),_jsx(_components.p,{children:`The following illustrates the response which the authorization server implementation should generate and return to the client application.`}),_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:`Content-Type: application/json`})}),`\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,{children:`\u0026#123;responseContent\u0026#125;`})}),`\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 is wrong. The authorization server implementation should generate a response to the client application with “400 Bad Request” and `,_jsx(_components.code,{children:`application/json`}),`. The value of `,_jsx(_components.code,{children:`responseContent`}),` is a JSON string which describes the error, so it can be used as the entity body of the response.`]}),_jsx(_components.hr,{}),_jsx(_components.p,{children:`The following illustrates the response which the service implementation should generate and return to the client application.`}),_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:`Content-Type: application/json`})}),`\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,{children:`\u0026#123;responseContent\u0026#125;`})}),`\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 client authentication of the device authorization request failed. The authorization server implementation should generate a response to the client application with “401 Unauthorized” and `,_jsx(_components.code,{children:`application/json`}),`. The value of `,_jsx(_components.code,{children:`responseContent`}),` is a JSON string which describes the error, so it can be used as the entity body of the response.`]}),_jsx(_components.hr,{}),_jsx(_components.p,{children:`The following illustrates the response which the service implementation must generate and return to the client application.`}),_jsx(CodeBlock,{numberOfLines:`7`,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:`7`,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: (challenge)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Content-Type: application/json`})}),`\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,{children:`\u0026#123;responseContent\u0026#125;`})}),`\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 device authorization request from the client application is valid. The authorization server implementation should generate a response to the client application with “200 OK” and `,_jsx(_components.code,{children:`application/json`}),`. The `,_jsx(_components.code,{children:`responseContent`}),` is a JSON string which can be used as the entity body of the response.`]}),_jsx(_components.hr,{}),_jsx(_components.p,{children:`The following illustrates the response which the authorization server implementation should generate and return to the client application.`})]})}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 Device Authorization Request","description":"This API parses request parameters of a [device authorization request](https://datatracker.ietf.org/doc/html/rfc8628#section-3.1) and returns necessary data for the authorization server implementation to process the device authorization request further.","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/authlete/a07b398e9c8556ba/snippets/oauth-dynamic.js"],"openApiReferenceData":{"operation":{"summary":"Process Device Authorization Request","description":"This API parses request parameters of a [device authorization request](https://datatracker.ietf.org/doc/html/rfc8628#section-3.1) and returns necessary data for the authorization server implementation to process the device authorization request further.","x-mint":{"metadata":{"description":"This API parses request parameters of a [device authorization request](https://datatracker.ietf.org/doc/html/rfc8628#section-3.1) and returns necessary data for the authorization server implementation to process the device authorization request further."},"content":"\u003cAccordion title=\"Full description\" defaultOpen={false}>\nThis API is supposed to be called from the within the implementation of the device authorization endpoint of the service. The service implementation should retrieve the value of `action` from the response and take the following steps according to the value.\n\n## INTERNAL_SERVER_ERROR\n\nWhen the value of `action` is `INTERNAL_SERVER_ERROR`, it means that the API call from the authorization server implementation was wrong or that an error occurred in Authlete. In either case, from a viewpoint of the client application, it is an error on the server side. Therefore, the authorization server implementation should generate a response to the client application with \"500 Internal Server Error\"s and `application/json`. The value of `responseContent` is a JSON string which describes t he error, so it can be used as the entity body of the response.\n\n---\n\nThe following illustrates the response which the authorization server implementation should generate and return to the client application.\n```\nHTTP/1.1 500 Internal Server Error\nContent-Type: application/json\nCache-Control: no-store\nPragma: no-cache\n\u0026#123;responseContent\u0026#125;\n```\n\n## BAD_REQUEST\n\nWhen the value of `action` is `BAD_REQUEST`, it means that the request from the client application is wrong. The authorization server implementation should generate a response to the client application with \"400 Bad Request\" and `application/json`. The value of `responseContent` is a JSON string which describes the error, so it can be used as the entity body of the response.\n\n---\n\nThe following illustrates the response which the service implementation should generate and return to the client application.\n```\nHTTP/1.1 400 Bad Request\nContent-Type: application/json\nCache-Control: no-store\nPragma: no-cache\n\u0026#123;responseContent\u0026#125;\n```\n\n## UNAUTHORIZED\n\nWhen the value of `action` is `UNAUTHORIZED`, it means that client authentication of the device authorization request failed. The authorization server implementation should generate a response to the client application with \"401 Unauthorized\" and `application/json`. The value of `responseContent` is a JSON string which describes the error, so it can be used as the entity body of the response.\n\n---\n\nThe following illustrates the response which the service implementation must generate and return to the client application.\n```\nHTTP/1.1 401 Unauthorized\nWWW-Authenticate: (challenge)\nContent-Type: application/json\nCache-Control: no-store\nPragma: no-cache\n\u0026#123;responseContent\u0026#125;\n```\n\n## OK\n\nWhen the value of `action` is `OK`, it means that the device authorization request from the client application is valid. The authorization server implementation should generate a response to the client application with \"200 OK\" and `application/json`. The `responseContent` is a JSON string which can be used as the entity body of the response.\n\n---\n\nThe following illustrates the response which the authorization server implementation should generate and return to the client application.\n\u003c/Accordion>\n"},"parameters":["c4c0e9af-2c04-4217-b5de-3ed9c721df85"],"requestBody":"8fe76ce1-4ddc-487b-8170-07aaef1f2e43","responses":{"200":"559e3ce9-f0fa-40d8-9f99-72731b57823e","400":"7ad101ab-3659-4c7c-85e5-2a4ad9c8d9cb","401":"b6d60738-7f12-4762-ad00-665ca1c9f178","403":"69713b1c-1d86-4a26-a385-6edc8e48d306","429":"4740aa89-9fa2-471d-801c-c00200dd7881","500":"26673958-0408-4610-a781-eb55001bd0f1"},"operationId":"device_authorization_api","x-code-samples":[{"lang":"shell","label":"curl","source":"curl -v -X POST https://us.authlete.com/api/21653835348762/device/authorization \\\n-H 'Content-Type: application/json' \\\n-H 'Authorization: Bearer V5a40R6dWvw2gMkCOBFdZcM95q4HC0Z-T0YKD9-nR6F' \\\n-d '{ \"parameters\": \"client_id=26888344961664\u0026scope=history.read\", \"clientId\": \"26888344961664\", \"clientSecret\":\"SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog\" }'\n"},{"lang":"java","label":"java","source":"AuthleteConfiguration conf = ...;\nAuthleteApi api = AuthleteApiFactory.create(conf);\n\nDeviceAuthorizationRequest req = new DeviceAuthorizationRequest();\nreq.setParameters(...);\nreq.setClientId(\"26888344961664\");\nreq.setClientSecret(\"SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog\");\n\napi.deviceAuthorization(req);\n"},{"lang":"python","source":"conf = ...\napi = AuthleteApiImpl(conf)\n\nreq = DeviceAuthorizationRequest()\nreq.parameters = ...\nreq.clientId = '26888344961664'\nreq.clientSecret = 'SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog'\n\napi.deviceAuthorization(req)\n"}],"tags":["Device Flow"],"x-speakeasy-group":"deviceFlow","x-speakeasy-name-override":"authorization","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.deviceFlow.authorization({\n deviceAuthorizationRequest: {\n parameters: \"client_id=26888344961664\u0026scope=history.read\",\n clientId: \"26888344961664\",\n clientSecret: \"SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog\",\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.device_flow.authorization(device_authorization_request: Models::Components::DeviceAuthorizationRequest.new(\n parameters: 'client_id=26888344961664\u0026scope=history.read',\n client_id: '26888344961664',\n client_secret: 'SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog'\n))\n\nunless res.device_authorization_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.DeviceFlow.Authorization(ctx, operations.DeviceAuthorizationAPIRequest{\n Body: components.DeviceAuthorizationRequest{\n Parameters: \"client_id=26888344961664\u0026scope=history.read\",\n ClientID: authlete.Pointer(\"26888344961664\"),\n ClientSecret: authlete.Pointer(\"SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog\"),\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.DeviceAuthorizationResponse != 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}/device/authorization","baseUrlOptions":["https://us.authlete.com","https://jp.authlete.com","https://eu.authlete.com","https://br.authlete.com"],"title":"Process Device Authorization 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.deviceFlow.authorization({\n deviceAuthorizationRequest: {\n parameters: \"client_id=26888344961664\u0026scope=history.read\",\n clientId: \"26888344961664\",\n clientSecret: \"SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog\",\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.device_flow.authorization(device_authorization_request: Models::Components::DeviceAuthorizationRequest.new(\n parameters: 'client_id=26888344961664\u0026scope=history.read',\n client_id: '26888344961664',\n client_secret: 'SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog'\n))\n\nunless res.device_authorization_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.DeviceFlow.Authorization(ctx, operations.DeviceAuthorizationAPIRequest{\n Body: components.DeviceAuthorizationRequest{\n Parameters: \"client_id=26888344961664\u0026scope=history.read\",\n ClientID: authlete.Pointer(\"26888344961664\"),\n ClientSecret: authlete.Pointer(\"SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog\"),\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.DeviceAuthorizationResponse != nil {\n // handle response\n }\n}"}],"requestExampleLanguages":["typescript","ruby","go","bash"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"c4c0e9af-2c04-4217-b5de-3ed9c721df85":{"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":["parameters"],"properties":{"parameters":{"type":"string","description":"Parameters of a device authorization request which are the request parameters that the device authorization endpoint of the authorization server implementation received from the client application.\n\nThe value of `parameters` is the entire entity body (which is formatted in `application/x-www-form-urlencoded`) of the request from the client application.\n","isRequired":true,"uniqueKey":"parameters","typeLabel":"string"},"clientId":{"type":"string","description":"The client ID extracted from Authorization header of the device authorization request from the client application.\n\nIf the device authorization endpoint of the authorization server implementation supports Basic `Authentication` as a means of client authentication, and the request from the client application contained its client ID in `Authorization` header, the value should be extracted and set to this parameter.\n","uniqueKey":"clientId","typeLabel":"string"},"clientSecret":{"type":"string","description":"The client secret extracted from `Authorization` header of the device authorization request from the client application.\n\nIf the device authorization endpoint of the authorization server implementation supports Basic Authentication as a means of client authentication, and the request from the client application contained its client secret in `Authorization` header, the value should be extracted and set to this parameter.\n","uniqueKey":"clientSecret","typeLabel":"string"},"clientCertificate":{"type":"string","description":"The client certificate used in the TLS connection between the client application and the device authorization endpoint of the authorization server.\n","uniqueKey":"clientCertificate","typeLabel":"string"},"clientCertificatePath":{"type":"array","items":{"type":"string","uniqueKey":"clientCertificatePath.items.[INDEX]","typeLabel":"string"},"description":"The client certificate path presented by the client during client authentication. Each element is a string in PEM format.\n","uniqueKey":"clientCertificatePath","typeLabel":"string[]"},"oauthClientAttestation":{"type":"string","description":"The value of the `OAuth-Client-Attestation` HTTP header, which is defined in the specification of [OAuth 2.0 Attestation-Based Client Authentication](https://datatracker.ietf.org/doc/draft-ietf-oauth-attestation-based-client-auth/).\n","uniqueKey":"oauthClientAttestation","typeLabel":"string"},"oauthClientAttestationPop":{"type":"string","description":"The value of the `OAuth-Client-Attestation-PoP` HTTP header, which is defined in the specification of [OAuth 2.0 Attestation-Based Client Authentication](https://datatracker.ietf.org/doc/draft-ietf-oauth-attestation-based-client-auth/).\n","uniqueKey":"oauthClientAttestationPop","typeLabel":"string"},"cimdOptions":{"type":"object","description":"Options for [OAuth Client ID Metadata Document](https://datatracker.ietf.org/doc/draft-ietf-oauth-client-id-metadata-document/) (CIMD).\n\nThese options allow per-request control over CIMD behavior, taking precedence over service-level configuration when provided.\n","properties":{"alwaysRetrieved":{"type":"boolean","description":"Whether to always retrieve client metadata in the CIMD context regardless of the cache's validity.\n\nUnder normal circumstances, client metadata retrieved from the location referenced by the client ID is stored in the database with an expiration time calculated using HTTP caching mechanisms (see [RFC 9111 HTTP Caching](https://www.rfc-editor.org/rfc/rfc9111.html)). Until that expiration time is reached, Authlete does not attempt to retrieve the client metadata again.\n\nWhen this flag is set to `true`, Authlete retrieves the client metadata regardless of the cache's validity.\n\nIf this flag is included in an Authlete API call and its value is `true`, it takes precedence over the corresponding service configuration (see `Service.cimdAlwaysRetrieved`).\n\nThis flag is effective only when the service supports CIMD (see `Service.clientIdMetadataDocumentSupported`) and CIMD is actually used to resolve client metadata. For example, if the client ID in a request does not appear to be a valid URI, CIMD will not be used even if the service is configured to support it. In such cases, this flag has no effect.\n\nClient metadata retrieval is performed only in the initiating request of an authorization flow, and not in any subsequent requests. For example, in the authorization code flow, metadata may be retrieved during the authorization request, but not during the subsequent token request. In contrast, in the client credentials flow, metadata retrieval may occur because the token request itself is the initiating request in the flow.\n","uniqueKey":"cimdOptions.alwaysRetrieved","typeLabel":"boolean"},"httpPermitted":{"type":"boolean","description":"Whether to allow the `http` scheme in client IDs in the CIMD context.\n\nThe specification requires the `https` scheme, but if this flag is set to `true`, Authlete also allows the `http` scheme. The main purpose of this option is to make development easier for developers who run CIMD-enabled servers and a web server publishing client metadata on their local machines without TLS.\n\nGiven this purpose, it is not recommended to enable this option in production environments unless an allowlist is used (see `Service.cimdAllowlistEnabled`).\n\nIf this flag is included in an Authlete API call and its value is `true`, it takes precedence over the corresponding service configuration (see `Service.cimdHttpPermitted`).\n","uniqueKey":"cimdOptions.httpPermitted","typeLabel":"boolean"},"queryPermitted":{"type":"boolean","description":"Whether to allow a query component in client IDs in the CIMD context.\n\nAlthough the specification states that a client ID \"SHOULD NOT include a query string component,\" it does technically allow it. However, query components are prone to misuse. Therefore, Authlete does not allow them by default. Setting this flag to `true` relaxes that restriction.\n\nIf this flag is included in an Authlete API call and its value is `true`, it takes precedence over the corresponding service configuration (see `Service.cimdQueryPermitted`).\n","uniqueKey":"cimdOptions.queryPermitted","typeLabel":"boolean"}},"uniqueKey":"cimdOptions","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"parameters":"client_id=26888344961664\u0026scope=history.read","clientId":"26888344961664","clientSecret":"SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog"},"examples":{"Example":{"title":"Example","value":{"parameters":"client_id=26888344961664\u0026scope=history.read","clientId":"26888344961664","clientSecret":"SfnYOLkJdofrb_66mTd6q03_SDoDEUnpXtvqFaE4k6L6UcpZzbdVJi2GpBj48AvGeDDllwsTruC62WYqQ_LGog"}}},"exampleType":"examples"},"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["parameters"],"properties":{"parameters":{"type":"string","description":"Parameters of a device authorization request which are the request parameters that the device authorization endpoint of the authorization server implementation received from the client application.\n\nThe value of `parameters` is the entire entity body (which is formatted in `application/x-www-form-urlencoded`) of the request from the client application.\n","isRequired":true,"uniqueKey":"parameters","typeLabel":"string"},"clientId":{"type":"string","description":"The client ID extracted from Authorization header of the device authorization request from the client application.\n\nIf the device authorization endpoint of the authorization server implementation supports Basic `Authentication` as a means of client authentication, and the request from the client application contained its client ID in `Authorization` header, the value should be extracted and set to this parameter.\n","uniqueKey":"clientId","typeLabel":"string"},"clientSecret":{"type":"string","description":"The client secret extracted from `Authorization` header of the device authorization request from the client application.\n\nIf the device authorization endpoint of the authorization server implementation supports Basic Authentication as a means of client authentication, and the request from the client application contained its client secret in `Authorization` header, the value should be extracted and set to this parameter.\n","uniqueKey":"clientSecret","typeLabel":"string"},"clientCertificate":{"type":"string","description":"The client certificate used in the TLS connection between the client application and the device authorization endpoint of the authorization server.\n","uniqueKey":"clientCertificate","typeLabel":"string"},"clientCertificatePath":{"type":"array","items":{"type":"string","uniqueKey":"clientCertificatePath.items.[INDEX]","typeLabel":"string"},"description":"The client certificate path presented by the client during client authentication. Each element is a string in PEM format.\n","uniqueKey":"clientCertificatePath","typeLabel":"string[]"},"oauthClientAttestation":{"type":"string","description":"The value of the `OAuth-Client-Attestation` HTTP header, which is defined in the specification of [OAuth 2.0 Attestation-Based Client Authentication](https://datatracker.ietf.org/doc/draft-ietf-oauth-attestation-based-client-auth/).\n","uniqueKey":"oauthClientAttestation","typeLabel":"string"},"oauthClientAttestationPop":{"type":"string","description":"The value of the `OAuth-Client-Attestation-PoP` HTTP header, which is defined in the specification of [OAuth 2.0 Attestation-Based Client Authentication](https://datatracker.ietf.org/doc/draft-ietf-oauth-attestation-based-client-auth/).\n","uniqueKey":"oauthClientAttestationPop","typeLabel":"string"},"cimdOptions":{"type":"object","description":"Options for [OAuth Client ID Metadata Document](https://datatracker.ietf.org/doc/draft-ietf-oauth-client-id-metadata-document/) (CIMD).\n\nThese options allow per-request control over CIMD behavior, taking precedence over service-level configuration when provided.\n","properties":{"alwaysRetrieved":{"type":"boolean","description":"Whether to always retrieve client metadata in the CIMD context regardless of the cache's validity.\n\nUnder normal circumstances, client metadata retrieved from the location referenced by the client ID is stored in the database with an expiration time calculated using HTTP caching mechanisms (see [RFC 9111 HTTP Caching](https://www.rfc-editor.org/rfc/rfc9111.html)). Until that expiration time is reached, Authlete does not attempt to retrieve the client metadata again.\n\nWhen this flag is set to `true`, Authlete retrieves the client metadata regardless of the cache's validity.\n\nIf this flag is included in an Authlete API call and its value is `true`, it takes precedence over the corresponding service configuration (see `Service.cimdAlwaysRetrieved`).\n\nThis flag is effective only when the service supports CIMD (see `Service.clientIdMetadataDocumentSupported`) and CIMD is actually used to resolve client metadata. For example, if the client ID in a request does not appear to be a valid URI, CIMD will not be used even if the service is configured to support it. In such cases, this flag has no effect.\n\nClient metadata retrieval is performed only in the initiating request of an authorization flow, and not in any subsequent requests. For example, in the authorization code flow, metadata may be retrieved during the authorization request, but not during the subsequent token request. In contrast, in the client credentials flow, metadata retrieval may occur because the token request itself is the initiating request in the flow.\n","uniqueKey":"cimdOptions.alwaysRetrieved","typeLabel":"boolean"},"httpPermitted":{"type":"boolean","description":"Whether to allow the `http` scheme in client IDs in the CIMD context.\n\nThe specification requires the `https` scheme, but if this flag is set to `true`, Authlete also allows the `http` scheme. The main purpose of this option is to make development easier for developers who run CIMD-enabled servers and a web server publishing client metadata on their local machines without TLS.\n\nGiven this purpose, it is not recommended to enable this option in production environments unless an allowlist is used (see `Service.cimdAllowlistEnabled`).\n\nIf this flag is included in an Authlete API call and its value is `true`, it takes precedence over the corresponding service configuration (see `Service.cimdHttpPermitted`).\n","uniqueKey":"cimdOptions.httpPermitted","typeLabel":"boolean"},"queryPermitted":{"type":"boolean","description":"Whether to allow a query component in client IDs in the CIMD context.\n\nAlthough the specification states that a client ID \"SHOULD NOT include a query string component,\" it does technically allow it. However, query components are prone to misuse. Therefore, Authlete does not allow them by default. Setting this flag to `true` relaxes that restriction.\n\nIf this flag is included in an Authlete API call and its value is `true`, it takes precedence over the corresponding service configuration (see `Service.cimdQueryPermitted`).\n","uniqueKey":"cimdOptions.queryPermitted","typeLabel":"boolean"}},"uniqueKey":"cimdOptions","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"parameters":"\u003cstring>","clientId":"\u003cstring>","clientSecret":"\u003cstring>","clientCertificate":"\u003cstring>","clientCertificatePath":["\u003cstring>"],"oauthClientAttestation":"\u003cstring>","oauthClientAttestationPop":"\u003cstring>","cimdOptions":{"alwaysRetrieved":true,"httpPermitted":true,"queryPermitted":true}}}},"exampleType":"generated"}},"exampleType":"examples"},"responses":{"559e3ce9-f0fa-40d8-9f99-72731b57823e":{"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"},"action":{"type":"string","enum":["INTERNAL_SERVER_ERROR","BAD_REQUEST","UNAUTHORIZED","OK"],"description":"The next action that the authorization server implementation should take.","uniqueKey":"action","typeLabel":"enum\u003cstring>"},"responseContent":{"type":"string","description":"The content that the authorization server implementation is to return to the client application. Its format varies depending on the value of `action` parameter.\n","uniqueKey":"responseContent","typeLabel":"string"},"clientId":{"type":"integer","format":"int64","description":"The client ID of the client application that has made the device authorization request.\n","uniqueKey":"clientId","typeLabel":"integer\u003cint64>"},"clientIdAlias":{"type":"string","description":"The client ID alias of the client application that has made the device authorization request.\n","uniqueKey":"clientIdAlias","typeLabel":"string"},"clientIdAliasUsed":{"type":"boolean","description":"`true` if the value of the client_id request parameter included in the device authorization request is the client ID alias. `false` if the value is the original numeric client ID.\n","uniqueKey":"clientIdAliasUsed","typeLabel":"boolean"},"clientName":{"type":"string","description":"The name of the client application which has made the device authorization request.\n","uniqueKey":"clientName","typeLabel":"string"},"clientAuthMethod":{"type":"string","description":"The client authentication method that should be performed at the device authorization endpoint.\n","uniqueKey":"clientAuthMethod","typeLabel":"string"},"scopes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the scope.","uniqueKey":"scopes.items.[INDEX].name","typeLabel":"string"},"defaultEntry":{"type":"boolean","description":"`true` to mark the scope as default. Scopes marked as default are regarded as requested when an authorization request from a client application does not contain scope request parameter. ","uniqueKey":"scopes.items.[INDEX].defaultEntry","typeLabel":"boolean"},"description":{"type":"string","description":"The description about the scope.","uniqueKey":"scopes.items.[INDEX].description","typeLabel":"string"},"descriptions":{"type":"array","description":"The descriptions about this scope in multiple languages.","items":{"type":"object","properties":{"tag":{"type":"string","description":"The language tag part.","uniqueKey":"scopes.items.[INDEX].descriptions.items.[INDEX].tag","typeLabel":"string"},"value":{"type":"string","description":"The value part.","uniqueKey":"scopes.items.[INDEX].descriptions.items.[INDEX].value","typeLabel":"string"}},"uniqueKey":"scopes.items.[INDEX].descriptions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"scopes.items.[INDEX].descriptions","typeLabel":"object[]"},"attributes":{"oneOf":[{"type":"array","description":"The attributes of the scope.","items":{"type":"object","properties":{"key":{"type":"string","description":"The key part.","uniqueKey":"scopes.items.[INDEX].attributes.oneOf.0.items.[INDEX].key","typeLabel":"string"},"value":{"type":"string","description":"The value part.","uniqueKey":"scopes.items.[INDEX].attributes.oneOf.0.items.[INDEX].value","typeLabel":"string"}},"uniqueKey":"scopes.items.[INDEX].attributes.oneOf.0.items.[INDEX]","typeLabel":"object"},"uniqueKey":"scopes.items.[INDEX].attributes.oneOf.0","typeLabel":"object[]"},{"type":"null","description":"The attributes of the scope.","items":{"type":"object","properties":{"key":{"type":"string","description":"The key part."},"value":{"type":"string","description":"The value part."}}},"uniqueKey":"scopes.items.[INDEX].attributes.oneOf.1","typeLabel":"null"}],"uniqueKey":"scopes.items.[INDEX].attributes","typeLabel":"object[] | null"}},"uniqueKey":"scopes.items.[INDEX]","typeLabel":"object"},"description":"The scopes requested by the device authorization request.\n","x-mint":{"metadata":{"description":"The scopes requested by the device authorization request."},"content":"\u003cAccordion title=\"Full description\" defaultOpen={false}>\nBasically, this property holds the value of the scope request parameter in the device authorization request. However, because unregistered scopes are dropped on Authlete side, if the `scope` request parameter contains unknown scopes, the list returned by this property becomes different from the value of the `scope` request parameter.\n\nNote that `description` property and `descriptions` property of each scope object in the array contained in this property is always `null` even if descriptions of the scopes are registered.\n\u003c/Accordion>\n"},"uniqueKey":"scopes","typeLabel":"object[]"},"claimNames":{"type":"array","items":{"type":"string","uniqueKey":"claimNames.items.[INDEX]","typeLabel":"string"},"description":"The names of the claims which were requested indirectly via some special scopes. See [5.4. Requesting Claims using Scope Values](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims) in OpenID Connect Core 1.0 for details.\n","uniqueKey":"claimNames","typeLabel":"string[]"},"acrs":{"type":"array","items":{"type":"string","uniqueKey":"acrs.items.[INDEX]","typeLabel":"string"},"description":"The list of ACR values requested by the device authorization request.\n\nBasically, this property holds the value of the `acr_values` request parameter in the device authorization request. However, because unsupported ACR values are dropped on Authlete side, if the `acr_values` request parameter contains unrecognized ACR values, the list returned by this property becomes different from the value of the `acr_values` request parameter.\n","uniqueKey":"acrs","typeLabel":"string[]"},"deviceCode":{"type":"string","description":"The device verification code. This corresponds to the `device_code` property in the response to the client.\n","uniqueKey":"deviceCode","typeLabel":"string"},"userCode":{"type":"string","description":"The end-user verification code. This corresponds to the `user_code` property in the response to the client.\n","uniqueKey":"userCode","typeLabel":"string"},"verificationUri":{"type":"string","description":"The end-user verification URI. This corresponds to the `verification_uri` property in the response to the client.\n","uniqueKey":"verificationUri","typeLabel":"string"},"verificationUriComplete":{"type":"string","description":"The end-user verification URI that includes the end-user verification code. This corresponds to the `verification_uri_complete` property in the response to the client.\n","uniqueKey":"verificationUriComplete","typeLabel":"string"},"expiresIn":{"type":"integer","format":"int32","description":"The duration of the device verification code in seconds. This corresponds to the `expires_in` property in the response to the client.\n","uniqueKey":"expiresIn","typeLabel":"integer\u003cint32>"},"interval":{"type":"integer","format":"int32","description":"The minimum amount of time in seconds that the client must wait for between polling requests to the token endpoint. This corresponds to the `interval` property in the response to the client.\n","uniqueKey":"interval","typeLabel":"integer\u003cint32>"},"warnings":{"type":"array","items":{"type":"string","uniqueKey":"warnings.items.[INDEX]","typeLabel":"string"},"description":"The warnings raised during processing the backchannel authentication request.\n","uniqueKey":"warnings","typeLabel":"string[]"},"resources":{"type":"array","items":{"type":"string","uniqueKey":"resources.items.[INDEX]","typeLabel":"string"},"description":"The resources specified by the `resource` request parameters. See \"Resource Indicators for OAuth 2.0\" for details.\n","uniqueKey":"resources","typeLabel":"string[]"},"authorizationDetails":{"type":"object","description":"The authorization details. This represents the value of the `authorization_details` request parameter in the preceding device authorization request which is defined in \"OAuth 2.0 Rich Authorization Requests\".\n","properties":{"elements":{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of this element.\n\nFrom _\"OAuth 2.0 Rich Authorization Requests\"_: _\"The type of authorization data as a string. This field MAY define which other elements are allowed in the request. This element is REQUIRED.\"_\n\nThis property is always NOT `null`.\n","isRequired":true,"uniqueKey":"authorizationDetails.elements.items.[INDEX].type","typeLabel":"string"},"locations":{"type":"array","items":{"type":"string","uniqueKey":"authorizationDetails.elements.items.[INDEX].locations.items.[INDEX]","typeLabel":"string"},"description":"The resources and/or resource servers. This property may be `null`.\n\nFrom _\"OAuth 2.0 Rich Authorization Requests\"_: _\"An array of strings representing the location of the resource or resource server. This is typically composed of URIs.\"_\n\nThis property may be `null`.\n","uniqueKey":"authorizationDetails.elements.items.[INDEX].locations","typeLabel":"string[]"},"actions":{"type":"array","items":{"type":"string","uniqueKey":"authorizationDetails.elements.items.[INDEX].actions.items.[INDEX]","typeLabel":"string"},"description":"The actions.\n\nFrom _\"OAuth 2.0 Rich Authorization Requests\"_: _\"An array of strings representing the kinds of actions to be taken at the resource. The values of the strings are determined by the API being protected.\"_\n\nThis property may be `null`.\n","uniqueKey":"authorizationDetails.elements.items.[INDEX].actions","typeLabel":"string[]"},"dataTypes":{"type":"array","items":{"type":"string","uniqueKey":"authorizationDetails.elements.items.[INDEX].dataTypes.items.[INDEX]","typeLabel":"string"},"description":"From _\"OAuth 2.0 Rich Authorization Requests\"_: _\"An array of strings representing the kinds of data being requested from the resource.\"_\n\nThis property may be `null`.\n","uniqueKey":"authorizationDetails.elements.items.[INDEX].dataTypes","typeLabel":"string[]"},"identifier":{"type":"string","description":"The identifier of a specific resource. From _\"OAuth 2.0 Rich Authorization Requests\"_: _\"A string identifier indicating a specific resource available at the API.\"_\n\nThis property may be `null`.\n","uniqueKey":"authorizationDetails.elements.items.[INDEX].identifier","typeLabel":"string"},"privileges":{"type":"array","items":{"type":"string","uniqueKey":"authorizationDetails.elements.items.[INDEX].privileges.items.[INDEX]","typeLabel":"string"},"description":"The types or levels of privilege. From \"OAuth 2.0 Rich Authorization Requests\": _\"An array of strings representing the types or levels of privilege being requested at the resource.\"_\n\nThis property may be `null`.\n","uniqueKey":"authorizationDetails.elements.items.[INDEX].privileges","typeLabel":"string[]"},"otherFields":{"type":"string","description":"The RAR request in the JSON format excluding the pre-defined attributes such as `type` and `locations`. The content and semantics are specific to the deployment and the use case implemented.\n","uniqueKey":"authorizationDetails.elements.items.[INDEX].otherFields","typeLabel":"string"}},"uniqueKey":"authorizationDetails.elements.items.[INDEX]","typeLabel":"object"},"description":"Elements of this authorization details.\n","uniqueKey":"authorizationDetails.elements","typeLabel":"object[]"}},"uniqueKey":"authorizationDetails","typeLabel":"object"},"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[]"},"dynamicScopes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The scope name.","uniqueKey":"dynamicScopes.items.[INDEX].name","typeLabel":"string"},"value":{"type":"string","description":"The scope value.","uniqueKey":"dynamicScopes.items.[INDEX].value","typeLabel":"string"}},"uniqueKey":"dynamicScopes.items.[INDEX]","typeLabel":"object"},"description":"The dynamic scopes which the client application requested by the scope request parameter.\n","uniqueKey":"dynamicScopes","typeLabel":"object[]"},"gmAction":{"type":"string","description":"The grant management action of the device authorization request.\n\nThe `grant_management_action` request parameter is defined in [Grant Management for OAuth 2.0](https://openid.net/specs/fapi-grant-management.html).\n","enum":["CREATE","QUERY","REPLACE","REVOKE","MERGE"],"uniqueKey":"gmAction","typeLabel":"enum\u003cstring>"},"grantId":{"type":"string","description":"the value of the `grant_id` request parameter of the device authorization request.\n\nThe `grant_id` request parameter is defined in [Grant Management for OAuth 2.0](https://openid.net/specs/fapi-grant-management.html) , which is supported by Authlete 2.3 and newer versions.\n","uniqueKey":"grantId","typeLabel":"string"},"grant":{"type":"object","properties":{"scopes":{"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","description":"Space-delimited scopes.\n","uniqueKey":"grant.scopes.items.[INDEX].scope","typeLabel":"string"},"resource":{"type":"array","items":{"type":"string","uniqueKey":"grant.scopes.items.[INDEX].resource.items.[INDEX]","typeLabel":"string"},"description":"List of resource indicators.\n","uniqueKey":"grant.scopes.items.[INDEX].resource","typeLabel":"string[]"}},"uniqueKey":"grant.scopes.items.[INDEX]","typeLabel":"object"},"uniqueKey":"grant.scopes","typeLabel":"object[]"},"claims":{"type":"array","items":{"type":"string","uniqueKey":"grant.claims.items.[INDEX]","typeLabel":"string"},"description":"The claims associated with the Grant.\n","uniqueKey":"grant.claims","typeLabel":"string[]"},"authorizationDetails":{"type":"object","description":"The authorization details. This represents the value of the `authorization_details` request parameter in the preceding device authorization request which is defined in \"OAuth 2.0 Rich Authorization Requests\".\n","properties":{"elements":{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of this element.\n\nFrom _\"OAuth 2.0 Rich Authorization Requests\"_: _\"The type of authorization data as a string. This field MAY define which other elements are allowed in the request. This element is REQUIRED.\"_\n\nThis property is always NOT `null`.\n","isRequired":true,"uniqueKey":"grant.authorizationDetails.elements.items.[INDEX].type","typeLabel":"string"},"locations":{"type":"array","items":{"type":"string","uniqueKey":"grant.authorizationDetails.elements.items.[INDEX].locations.items.[INDEX]","typeLabel":"string"},"description":"The resources and/or resource servers. This property may be `null`.\n\nFrom _\"OAuth 2.0 Rich Authorization Requests\"_: _\"An array of strings representing the location of the resource or resource server. This is typically composed of URIs.\"_\n\nThis property may be `null`.\n","uniqueKey":"grant.authorizationDetails.elements.items.[INDEX].locations","typeLabel":"string[]"},"actions":{"type":"array","items":{"type":"string","uniqueKey":"grant.authorizationDetails.elements.items.[INDEX].actions.items.[INDEX]","typeLabel":"string"},"description":"The actions.\n\nFrom _\"OAuth 2.0 Rich Authorization Requests\"_: _\"An array of strings representing the kinds of actions to be taken at the resource. The values of the strings are determined by the API being protected.\"_\n\nThis property may be `null`.\n","uniqueKey":"grant.authorizationDetails.elements.items.[INDEX].actions","typeLabel":"string[]"},"dataTypes":{"type":"array","items":{"type":"string","uniqueKey":"grant.authorizationDetails.elements.items.[INDEX].dataTypes.items.[INDEX]","typeLabel":"string"},"description":"From _\"OAuth 2.0 Rich Authorization Requests\"_: _\"An array of strings representing the kinds of data being requested from the resource.\"_\n\nThis property may be `null`.\n","uniqueKey":"grant.authorizationDetails.elements.items.[INDEX].dataTypes","typeLabel":"string[]"},"identifier":{"type":"string","description":"The identifier of a specific resource. From _\"OAuth 2.0 Rich Authorization Requests\"_: _\"A string identifier indicating a specific resource available at the API.\"_\n\nThis property may be `null`.\n","uniqueKey":"grant.authorizationDetails.elements.items.[INDEX].identifier","typeLabel":"string"},"privileges":{"type":"array","items":{"type":"string","uniqueKey":"grant.authorizationDetails.elements.items.[INDEX].privileges.items.[INDEX]","typeLabel":"string"},"description":"The types or levels of privilege. From \"OAuth 2.0 Rich Authorization Requests\": _\"An array of strings representing the types or levels of privilege being requested at the resource.\"_\n\nThis property may be `null`.\n","uniqueKey":"grant.authorizationDetails.elements.items.[INDEX].privileges","typeLabel":"string[]"},"otherFields":{"type":"string","description":"The RAR request in the JSON format excluding the pre-defined attributes such as `type` and `locations`. The content and semantics are specific to the deployment and the use case implemented.\n","uniqueKey":"grant.authorizationDetails.elements.items.[INDEX].otherFields","typeLabel":"string"}},"uniqueKey":"grant.authorizationDetails.elements.items.[INDEX]","typeLabel":"object"},"description":"Elements of this authorization details.\n","uniqueKey":"grant.authorizationDetails.elements","typeLabel":"object[]"}},"uniqueKey":"grant.authorizationDetails","typeLabel":"object"}},"uniqueKey":"grant","typeLabel":"object"},"grantSubject":{"type":"string","description":"The subject identifying the user who has given the grant identified by the `grant_id` request parameter of the device authorization request. Authlete 2.3 and newer versions support [Grant Management for OAuth 2.0](https://openid.net/specs/fapi-grant-management.html). An authorization request may contain a `grant_id` request parameter which is defined in the specification. If the value of the request parameter is valid, \u0026#123;@link #getGrantSubject()\u0026#125; will return the subject of the user who has given the grant to the client application. Authorization server implementations may use the value returned from \u0026#123;@link #getGrantSubject()\u0026#125; in order to determine the user to authenticate. The user your system will authenticate during the authorization process (or has already authenticated) may be different from the user of the grant. The first implementer's draft of \"Grant Management for OAuth 2.0\" does not mention anything about the case, so the behavior in the case is left to implementations. Authlete will not perform the grant management action when the `subject` passed to Authlete does not match the user of the grant.\n","uniqueKey":"grantSubject","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"},"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":"A220001","resultMessage":"[A220001] The device authorization request was processed successfully.","action":"OK","clientId":26888344961664,"clientIdAliasUsed":false,"clientName":"My Device Flow Client","deviceCode":"p0qzXeRav8u6lJY9omjzR47KK58VwYN7j8xGUD7sq5I","expiresIn":3600,"interval":0,"responseContent":"{\"user_code\":\"XWWKPBWVXQ\",\"device_code\":\"p0qzXeRav8u6lJY9omjzR47KK58VwYN7j8xGUD7sq5I\",\"verification_uri_complete\":\"https://my-service.com/df/verification?XWWKPBWVXQ\",\"verification_uri\":\"https://my-service.com/df/verification\",\"expires_in\":3600}","scopes":[{"defaultEntry":false,"name":"history.read"}],"serviceAttributes":[{"key":"attribute1-key","value":"attribute1-value"},{"key":"attribute2-key","value":"attribute2-value"}],"userCode":"XWWKPBWVXQ","verificationUri":"https://my-service.com/df/verification","verificationUriComplete":"https://my-service.com/df/verification?XWWKPBWVXQ"},"examples":{"Example":{"title":"Example","value":{"resultCode":"A220001","resultMessage":"[A220001] The device authorization request was processed successfully.","action":"OK","clientId":26888344961664,"clientIdAliasUsed":false,"clientName":"My Device Flow Client","deviceCode":"p0qzXeRav8u6lJY9omjzR47KK58VwYN7j8xGUD7sq5I","expiresIn":3600,"interval":0,"responseContent":"{\"user_code\":\"XWWKPBWVXQ\",\"device_code\":\"p0qzXeRav8u6lJY9omjzR47KK58VwYN7j8xGUD7sq5I\",\"verification_uri_complete\":\"https://my-service.com/df/verification?XWWKPBWVXQ\",\"verification_uri\":\"https://my-service.com/df/verification\",\"expires_in\":3600}","scopes":[{"defaultEntry":false,"name":"history.read"}],"serviceAttributes":[{"key":"attribute1-key","value":"attribute1-value"},{"key":"attribute2-key","value":"attribute2-value"}],"userCode":"XWWKPBWVXQ","verificationUri":"https://my-service.com/df/verification","verificationUriComplete":"https://my-service.com/df/verification?XWWKPBWVXQ"}}},"exampleType":"examples"}},"links":{"device_verify":{"$ref":"#/components/links/device_verification"},"device_poll_token":{"$ref":"#/components/links/device_complete"}},"exampleType":"examples"},"7ad101ab-3659-4c7c-85e5-2a4ad9c8d9cb":{"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"},"b6d60738-7f12-4762-ad00-665ca1c9f178":{"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"},"69713b1c-1d86-4a26-a385-6edc8e48d306":{"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"},"4740aa89-9fa2-471d-801c-c00200dd7881":{"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"},"26673958-0408-4610-a781-eb55001bd0f1":{"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 Device Authorization Request - Authlete Documentation","navMaps":{"firstHrefInVersion":{"3.x":{"href":"/api-reference/device-flow/process-device-authorization-request","matchLevel":0},"2.x":{"href":"/get-started/introduction-to-authlete/index","matchLevel":4}},"firstHrefInLanguage":{"en":{"href":"/api-reference/device-flow/process-device-authorization-request","matchLevel":0},"ja":{"href":"/api-reference/device-flow/process-device-authorization-request","matchLevel":0}}},"lastModified":"2026-10-21T07:38:51.874Z","originalFileLocation":"api-reference/device-flow/process-device-authorization-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 parses request parameters of a device authorization request and returns necessary data for the authorization server implementation to process the device authorization request further.\">\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 Device Authorization Request - Authlete Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"This API parses request parameters of a device authorization request and returns necessary data for the authorization server implementation to process the device authorization request further.\">\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/device-flow/process-device-authorization-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=Device+Flow\u0026amp;title=Process+Device+Authorization+Request\u0026amp;description=This+API+parses+request+parameters+of+a+%5Bdevice+authorization+request%5D%28https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc8628%23section-3.1%29+and+returns+necessary+data+for\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=7d8508afe25cbe3af47fe232413e76a0176be666ee104c25cac603078c3fe706\">\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 Device Authorization Request - Authlete Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This API parses request parameters of a device authorization request and returns necessary data for the authorization server implementation to process the device authorization request further.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://authlete.mintlify.app/_mintlify/api/og/v2?division=Device+Flow\u0026amp;title=Process+Device+Authorization+Request\u0026amp;description=This+API+parses+request+parameters+of+a+%5Bdevice+authorization+request%5D%28https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc8628%23section-3.1%29+and+returns+necessary+data+for\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=7d8508afe25cbe3af47fe232413e76a0176be666ee104c25cac603078c3fe706\">\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/device-flow/process-device-authorization-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/device-flow/process-device-authorization-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/device-flow/process-device-authorization-request#webpage\",\"url\":\"https://developers.authlete.com/api-reference/device-flow/process-device-authorization-request\",\"name\":\"Process Device Authorization Request\",\"description\":\"This API parses request parameters of a device authorization request and returns necessary data for the authorization server implementation to process the device authorization request further.\",\"dateModified\":\"2026-10-21T07:38:51.874Z\",\"isPartOf\":{\"@id\":\"https://developers.authlete.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.authlete.com/api-reference/device-flow/process-device-authorization-request#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.authlete.com/api-reference/device-flow/process-device-authorization-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 Device Authorization Request\",\"item\":\"https://developers.authlete.com/api-reference/device-flow/process-device-authorization-request\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.authlete.com/api-reference/device-flow/process-device-authorization-request#apireference\",\"headline\":\"Process Device Authorization Request\",\"name\":\"Process Device Authorization Request\",\"description\":\"This API parses request parameters of a device authorization request and returns necessary data for the authorization server implementation to process the device authorization request further.\",\"url\":\"https://developers.authlete.com/api-reference/device-flow/process-device-authorization-request\",\"mainEntityOfPage\":{\"@id\":\"https://developers.authlete.com/api-reference/device-flow/process-device-authorization-request#webpage\"},\"dateModified\":\"2026-10-21T07:38:51.874Z\",\"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","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","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","description":"The `/backchannel/logout/token` API issues a logout token for a client application in the context of [OpenID Connect Back-Channel Logout 1.0](https://openid.net/specs/openid-connect-backchannel-1_0.html).","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","description":"The API returns information associated with a user code.","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","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","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","description":"The `/backchannel/logout/token` API issues a logout token for a client application in the context of [OpenID Connect Back-Channel Logout 1.0](https://openid.net/specs/openid-connect-backchannel-1_0.html).","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","description":"The API returns information associated with a user code.","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 Device Authorization 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"]}