text: (window.webpackJsonp=window.webpackJsonp||[]).push([[36],{175:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"rightToc",(function(){return s})),n.d(t,"default",(function(){return o}));var a=n(1),r=n(9),b=(n(0),n(199)),l={title:"REST API",id:"api"},c={id:"reference/api",title:"REST API",description:"Welcome to the ORY Hydra HTTP API documentation. You will find documentation for",source:"@site/docs/reference/api.md",permalink:"/hydra/docs/next/reference/api",editUrl:"https://github.com/ory/hydra/edit/master/docs/docs/reference/api.md",version:"next",lastUpdatedBy:"aeneasr",lastUpdatedAt:1587384418,sidebar:"docs",previous:{title:"Configuration",permalink:"/hydra/docs/next/reference/configuration"},next:{title:"Overview",permalink:"/hydra/docs/next/sdk/index"}},s=[{value:"Authentication",id:"authentication",children:[]},{value:"Public Endpoints",id:"public-endpoints",children:[{value:"JSON Web Keys Discovery",id:"json-web-keys-discovery",children:[]},{value:"OpenID Connect Discovery",id:"openid-connect-discovery",children:[]},{value:"Check readiness status",id:"check-readiness-status",children:[]},{value:"The OAuth 2.0 authorize endpoint",id:"the-oauth-20-authorize-endpoint",children:[]},{value:"Revoke OAuth2 tokens",id:"revoke-oauth2-tokens",children:[]},{value:"OpenID Connect Front-Backchannel enabled Logout",id:"openid-connect-front-backchannel-enabled-logout",children:[]},{value:"The OAuth 2.0 token endpoint",id:"the-oauth-20-token-endpoint",children:[]},{value:"OpenID Connect Userinfo",id:"openid-connect-userinfo",children:[]}]},{value:"Administrative Endpoints",id:"administrative-endpoints",children:[{value:"List OAuth 2.0 Clients",id:"list-oauth-20-clients",children:[]},{value:"Create an OAuth 2.0 client",id:"create-an-oauth-20-client",children:[]},{value:"Get an OAuth 2.0 Client.",id:"get-an-oauth-20-client",children:[]},{value:"Update an OAuth 2.0 Client",id:"update-an-oauth-20-client",children:[]},{value:"Deletes an OAuth 2.0 Client",id:"deletes-an-oauth-20-client",children:[]},{value:"Check alive status",id:"check-alive-status",children:[]},{value:"Retrieve a JSON Web Key Set",id:"retrieve-a-json-web-key-set",children:[]},{value:"Update a JSON Web Key Set",id:"update-a-json-web-key-set",children:[]},{value:"Generate a new JSON Web Key",id:"generate-a-new-json-web-key",children:[]},{value:"Delete a JSON Web Key Set",id:"delete-a-json-web-key-set",children:[]},{value:"Fetch a JSON Web Key",id:"fetch-a-json-web-key",children:[]},{value:"Update a JSON Web Key",id:"update-a-json-web-key",children:[]},{value:"Delete a JSON Web Key",id:"delete-a-json-web-key",children:[]},{value:"Get snapshot metrics from the Hydra service. If you&#39;re using k8s, you can then add annotations to",id:"get-snapshot-metrics-from-the-hydra-service-if-youre-using-k8s-you-can-then-add-annotations-to",children:[]},{value:"Get consent request information",id:"get-consent-request-information",children:[]},{value:"Accept a consent request",id:"accept-a-consent-request",children:[]},{value:"Reject a consent request",id:"reject-a-consent-request",children:[]},{value:"Get a login request",id:"get-a-login-request",children:[]},{value:"Accept a login request",id:"accept-a-login-request",children:[]},{value:"Reject a login request",id:"reject-a-login-request",children:[]},{value:"Get a logout request",id:"get-a-logout-request",children:[]},{value:"Accept a logout request",id:"accept-a-logout-request",children:[]},{value:"Reject a logout request",id:"reject-a-logout-request",children:[]},{value:"Lists all consent sessions of a subject",id:"lists-all-consent-sessions-of-a-subject",children:[]},{value:"Revokes consent sessions of a subject for a specific OAuth 2.0 Client",id:"revokes-consent-sessions-of-a-subject-for-a-specific-oauth-20-client",children:[]},{value:"Invalidates all login sessions of a certain user",id:"invalidates-all-login-sessions-of-a-certain-user",children:[]},{value:"Flush Expired OAuth2 Access Tokens",id:"flush-expired-oauth2-access-tokens",children:[]},{value:"Introspect OAuth2 tokens",id:"introspect-oauth2-tokens",children:[]},{value:"Get service version",id:"get-service-version",children:[]}]},{value:"Schemas",id:"schemas",children:[]}],i={rightToc:s};function o(e){var t=e.components,n=Object(r.a)(e,["components"]);return Object(b.b)("wrapper",Object(a.a)({},i,n,{components:t,mdxType:"MDXLayout"}),Object(b.b)("p",null,"Welcome to the ORY Hydra HTTP API documentation. You will find documentation for\nall HTTP APIs here."),Object(b.b)("blockquote",null,Object(b.b)("p",{parentName:"blockquote"},"You are viewing REST API documentation. This documentation is auto-generated\nfrom a swagger specification which itself is generated from annotations in the\nsource code of the project. It is possible that this documentation includes\nbugs and that code samples are incomplete or wrong."),Object(b.b)("p",{parentName:"blockquote"},"If you find issues in the respective documentation, please do not edit the\nMarkdown files directly (as they are generated) but raise an issue on the\nproject's GitHub presence instead. This documentation will improve over time\nwith your help! If you have ideas how to improve this part of the\ndocumentation, feel free to share them in a\n",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"https://github.com/ory/docs/issues/new"}),"GitHub issue")," any time.")),Object(b.b)("h2",{id:"authentication"},"Authentication"),Object(b.b)("ul",null,Object(b.b)("li",{parentName:"ul"},Object(b.b)("p",{parentName:"li"},"HTTP Authentication, scheme: basic - OAuth 2.0 Authorization. - Flow:\nauthorizationCode"),Object(b.b)("ul",{parentName:"li"},Object(b.b)("li",{parentName:"ul"},Object(b.b)("p",{parentName:"li"},"OAuth 2.0 Authorization URL = ",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"/oauth2/auth"}),"/oauth2/auth"))),Object(b.b)("li",{parentName:"ul"},Object(b.b)("p",{parentName:"li"},"OAuth 2.0 Token URL = ",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"/oauth2/token"}),"/oauth2/token"))),Object(b.b)("li",{parentName:"ul"},Object(b.b)("p",{parentName:"li"},"OAuth 2.0 Scope"),Object(b.b)("table",{parentName:"li"},Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Scope"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Scope Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"offline"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"A scope required when requesting refresh tokens (alias for ",Object(b.b)("inlineCode",{parentName:"td"},"offline_access"),")")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"offline_access"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"A scope required when requesting refresh tokens")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"openid"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Request an OpenID Connect ID Token")))))))),Object(b.b)("a",{id:"ory-hydra-public-endpoints"}),Object(b.b)("h2",{id:"public-endpoints"},"Public Endpoints"),Object(b.b)("a",{id:"opIdwellKnown"}),Object(b.b)("h3",{id:"json-web-keys-discovery"},"JSON Web Keys Discovery"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /.well-known/jwks.json HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint returns JSON Web Keys to be used as public keys for verifying\nOpenID Connect ID Tokens and, if enabled, OAuth 2.0 JWT Access Tokens. This\nendpoint can be used with client libraries like\n",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"https://github.com/auth0/node-jwks-rsa"}),"node-jwks-rsa")," among others."),Object(b.b)("h4",{id:"responses"},"Responses"),Object(b.b)("a",{id:"json-web-keys-discovery-responses"}),Object(b.b)("h5",{id:"overview"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSONWebKeySet"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonwebkeyset"}),"JSONWebKeySet"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples"},"Examples"),Object(b.b)("h6",{id:"200-response"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "keys": [\n    {\n      "alg": "RS256",\n      "crv": "P-256",\n      "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n      "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n      "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n      "e": "AQAB",\n      "k": "GawgguFyGrWKav7AX4VKUg",\n      "kid": "1603dfe0af8f4596",\n      "kty": "RSA",\n      "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n      "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n      "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n      "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n      "use": "sig",\n      "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n      "x5c": ["string"],\n      "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n    }\n  ]\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-wellKnown"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-wellKnown-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-wellKnown-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-wellKnown-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-wellKnown-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-wellKnown-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-wellKnown-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-wellKnown-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /.well-known/jwks.json \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-wellKnown-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/.well-known/jwks.json", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-wellKnown-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/.well-known/jwks.json', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-wellKnown-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/.well-known/jwks.json");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-wellKnown-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/.well-known/jwks.json',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-wellKnown-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/.well-known/jwks.json',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIddiscoverOpenIDConfiguration"}),Object(b.b)("h3",{id:"openid-connect-discovery"},"OpenID Connect Discovery"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /.well-known/openid-configuration HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"The well known endpoint an be used to retrieve information for OpenID Connect\nclients. We encourage you to not roll your own OpenID Connect client but to use\nan OpenID Connect client library instead. You can learn more on this flow at\n",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"https://openid.net/specs/openid-connect-discovery-1_0.html"}),"https://openid.net/specs/openid-connect-discovery-1_0.html")," ."),Object(b.b)("p",null,"Popular libraries for OpenID Connect clients include oidc-client-js\n(JavaScript), go-oidc (Golang), and others. For a full list of clients go here:\n",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"https://openid.net/developers/certified/"}),"https://openid.net/developers/certified/")),Object(b.b)("h4",{id:"responses-1"},"Responses"),Object(b.b)("a",{id:"openid-connect-discovery-responses"}),Object(b.b)("h5",{id:"overview-1"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"wellKnown"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemawellknown"}),"wellKnown"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-1"},"Examples"),Object(b.b)("h6",{id:"200-response-1"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "authorization_endpoint": "https://playground.ory.sh/ory-hydra/public/oauth2/auth",\n  "backchannel_logout_session_supported": true,\n  "backchannel_logout_supported": true,\n  "claims_parameter_supported": true,\n  "claims_supported": ["string"],\n  "end_session_endpoint": "string",\n  "frontchannel_logout_session_supported": true,\n  "frontchannel_logout_supported": true,\n  "grant_types_supported": ["string"],\n  "id_token_signing_alg_values_supported": ["string"],\n  "issuer": "https://playground.ory.sh/ory-hydra/public/",\n  "jwks_uri": "https://playground.ory.sh/ory-hydra/public/.well-known/jwks.json",\n  "registration_endpoint": "https://playground.ory.sh/ory-hydra/admin/client",\n  "request_parameter_supported": true,\n  "request_uri_parameter_supported": true,\n  "require_request_uri_registration": true,\n  "response_modes_supported": ["string"],\n  "response_types_supported": ["string"],\n  "revocation_endpoint": "string",\n  "scopes_supported": ["string"],\n  "subject_types_supported": ["string"],\n  "token_endpoint": "https://playground.ory.sh/ory-hydra/public/oauth2/token",\n  "token_endpoint_auth_methods_supported": ["string"],\n  "userinfo_endpoint": "string",\n  "userinfo_signing_alg_values_supported": ["string"]\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-1"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-discoverOpenIDConfiguration"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-discoverOpenIDConfiguration-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-discoverOpenIDConfiguration-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-discoverOpenIDConfiguration-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-discoverOpenIDConfiguration-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-discoverOpenIDConfiguration-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-discoverOpenIDConfiguration-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-discoverOpenIDConfiguration-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /.well-known/openid-configuration \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-discoverOpenIDConfiguration-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/.well-known/openid-configuration", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-discoverOpenIDConfiguration-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/.well-known/openid-configuration', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-discoverOpenIDConfiguration-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/.well-known/openid-configuration");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-discoverOpenIDConfiguration-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/.well-known/openid-configuration',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-discoverOpenIDConfiguration-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/.well-known/openid-configuration',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdisInstanceReady"}),Object(b.b)("h3",{id:"check-readiness-status"},"Check readiness status"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /health/ready HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint returns a 200 status code when the HTTP server is up running and\nthe environment dependencies (e.g. the database) are responsive as well."),Object(b.b)("p",null,"If the service supports TLS Edge Termination, this endpoint does not require the\n",Object(b.b)("inlineCode",{parentName:"p"},"X-Forwarded-Proto")," header to be set."),Object(b.b)("p",null,"Be aware that if you are running multiple nodes of this service, the health\nstatus will never refer to the cluster state, only to a single instance."),Object(b.b)("h4",{id:"responses-2"},"Responses"),Object(b.b)("a",{id:"check-readiness-status-responses"}),Object(b.b)("h5",{id:"overview-2"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"healthStatus"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemahealthstatus"}),"healthStatus"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"503"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.4"}),"Service Unavailable")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"healthNotReadyStatus"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemahealthnotreadystatus"}),"healthNotReadyStatus"))))),Object(b.b)("h5",{id:"examples-2"},"Examples"),Object(b.b)("h6",{id:"200-response-2"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "status": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-2"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-isInstanceReady"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-isInstanceReady-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-isInstanceReady-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-isInstanceReady-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-isInstanceReady-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-isInstanceReady-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-isInstanceReady-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-isInstanceReady-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /health/ready \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-isInstanceReady-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/health/ready", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-isInstanceReady-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/health/ready', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-isInstanceReady-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/health/ready");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-isInstanceReady-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/health/ready',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-isInstanceReady-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/health/ready',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdoauthAuth"}),Object(b.b)("h3",{id:"the-oauth-20-authorize-endpoint"},"The OAuth 2.0 authorize endpoint"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /oauth2/auth HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint is not documented here because you should never use your own\nimplementation to perform OAuth2 flows. OAuth2 is a very popular protocol and a\nlibrary for your programming language will exists."),Object(b.b)("p",null,"To learn more about this flow please refer to the specification:\n",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"https://tools.ietf.org/html/rfc6749"}),"https://tools.ietf.org/html/rfc6749")),Object(b.b)("h4",{id:"responses-3"},"Responses"),Object(b.b)("a",{id:"the-oauth-2.0-authorize-endpoint-responses"}),Object(b.b)("h5",{id:"overview-3"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"302"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.4.3"}),"Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"typically 201."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"None"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null})),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-3"},"Examples"),Object(b.b)("h6",{id:"401-response"},"401 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "debug": "The database adapter was unable to find the element",\n  "error": "The requested resource could not be found",\n  "error_description": "Object with ID 12345 does not exist",\n  "status_code": 404\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-3"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-oauthAuth"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-oauthAuth-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-oauthAuth-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-oauthAuth-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-oauthAuth-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-oauthAuth-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-oauthAuth-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-oauthAuth-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /oauth2/auth \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-oauthAuth-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/oauth2/auth", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-oauthAuth-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/oauth2/auth', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-oauthAuth-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-oauthAuth-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/oauth2/auth',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-oauthAuth-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/oauth2/auth',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdrevokeOAuth2Token"}),Object(b.b)("h3",{id:"revoke-oauth2-tokens"},"Revoke OAuth2 tokens"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"POST /oauth2/revoke HTTP/1.1\nContent-Type: application/x-www-form-urlencoded\nAccept: application/json\n\n")),Object(b.b)("p",null,"Revoking a token (both access and refresh) means that the tokens will be\ninvalid. A revoked access token can no longer be used to make access requests,\nand a revoked refresh token can no longer be used to refresh an access token.\nRevoking a refresh token also invalidates the access token that was created with\nit. A token may only be revoked by the client the token was generated for."),Object(b.b)("h4",{id:"request-body"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-yaml"}),"token: string\n")),Object(b.b)("a",{id:"revoke-oauth2-tokens-parameters"}),Object(b.b)("h5",{id:"parameters"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb token"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-4"},"Responses"),Object(b.b)("a",{id:"revoke-oauth2-tokens-responses"}),Object(b.b)("h5",{id:"overview-4"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"typically 201."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"None"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null})),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-4"},"Examples"),Object(b.b)("h6",{id:"401-response-1"},"401 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "debug": "The database adapter was unable to find the element",\n  "error": "The requested resource could not be found",\n  "error_description": "Object with ID 12345 does not exist",\n  "status_code": 404\n}\n')),Object(b.b)("aside",{class:"warning"},"To perform this operation, you must be authenticated by means of one of the following methods: basic, oauth2"),Object(b.b)("h4",{id:"code-samples-4"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-revokeOAuth2Token"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-revokeOAuth2Token-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeOAuth2Token-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeOAuth2Token-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeOAuth2Token-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeOAuth2Token-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeOAuth2Token-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-revokeOAuth2Token-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X POST /oauth2/revoke \\\n  -H 'Content-Type: application/x-www-form-urlencoded' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeOAuth2Token-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/x-www-form-urlencoded"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("POST", "/oauth2/revoke", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeOAuth2Token-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\nconst input = '{\n  \"token\": \"string\"\n}';\nconst headers = {\n  'Content-Type': 'application/x-www-form-urlencoded',  'Accept': 'application/json'\n}\n\nfetch('/oauth2/revoke', {\n  method: 'POST',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeOAuth2Token-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/revoke");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("POST");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeOAuth2Token-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/x-www-form-urlencoded',\n  'Accept': 'application/json'\n}\n\nr = requests.post(\n  '/oauth2/revoke',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeOAuth2Token-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/x-www-form-urlencoded',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.post '/oauth2/revoke',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIddisconnectUser"}),Object(b.b)("h3",{id:"openid-connect-front-backchannel-enabled-logout"},"OpenID Connect Front-Backchannel enabled Logout"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /oauth2/sessions/logout HTTP/1.1\n\n")),Object(b.b)("p",null,"This endpoint initiates and completes user logout at ORY Hydra and initiates\nOpenID Connect Front-/Back-channel logout:"),Object(b.b)("p",null,Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"https://openid.net/specs/openid-connect-frontchannel-1_0.html"}),"https://openid.net/specs/openid-connect-frontchannel-1_0.html"),"\n",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"https://openid.net/specs/openid-connect-backchannel-1_0.html"}),"https://openid.net/specs/openid-connect-backchannel-1_0.html")),Object(b.b)("h4",{id:"responses-5"},"Responses"),Object(b.b)("a",{id:"openid-connect-front-backchannel-enabled-logout-responses"}),Object(b.b)("h5",{id:"overview-5"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"302"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.4.3"}),"Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"typically 201."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"None"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null})),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))))),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-5"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-disconnectUser"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-disconnectUser-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-disconnectUser-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-disconnectUser-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-disconnectUser-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-disconnectUser-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-disconnectUser-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-disconnectUser-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /oauth2/sessions/logout\n\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-disconnectUser-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/oauth2/sessions/logout", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-disconnectUser-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nfetch('/oauth2/sessions/logout', {\n  method: 'GET'\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-disconnectUser-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/sessions/logout");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-disconnectUser-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nr = requests.get(\n  '/oauth2/sessions/logout',\n  params={)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-disconnectUser-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nresult = RestClient.get '/oauth2/sessions/logout',\n  params: {}\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdoauth2Token"}),Object(b.b)("h3",{id:"the-oauth-20-token-endpoint"},"The OAuth 2.0 token endpoint"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"POST /oauth2/token HTTP/1.1\nContent-Type: application/x-www-form-urlencoded\nAccept: application/json\n\n")),Object(b.b)("p",null,'The client makes a request to the token endpoint by sending the following\nparameters using the "application/x-www-form-urlencoded" HTTP request\nentity-body.'),Object(b.b)("blockquote",null,Object(b.b)("p",{parentName:"blockquote"},"Do not implement a client for this endpoint yourself. Use a library. There are\nmany libraries available for any programming language. You can find a list of\nlibraries here: ",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"https://oauth.net/code/"}),"https://oauth.net/code/")),Object(b.b)("p",{parentName:"blockquote"},"Do note that Hydra SDK does not implement this endpoint properly. Use one of\nthe libraries listed above!")),Object(b.b)("h4",{id:"request-body-1"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-yaml"}),"grant_type: string\ncode: string\nrefresh_token: string\nredirect_uri: string\nclient_id: string\n")),Object(b.b)("a",{id:"the-oauth-2.0-token-endpoint-parameters"}),Object(b.b)("h5",{id:"parameters-1"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb grant_type"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb code"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb refresh_token"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb redirect_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb client_id"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-6"},"Responses"),Object(b.b)("a",{id:"the-oauth-2.0-token-endpoint-responses"}),Object(b.b)("h5",{id:"overview-6"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"oauth2TokenResponse"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2tokenresponse"}),"oauth2TokenResponse"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-5"},"Examples"),Object(b.b)("h6",{id:"200-response-3"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "access_token": "string",\n  "expires_in": 0,\n  "id_token": "string",\n  "refresh_token": "string",\n  "scope": "string",\n  "token_type": "string"\n}\n')),Object(b.b)("aside",{class:"warning"},"To perform this operation, you must be authenticated by means of one of the following methods: basic, oauth2"),Object(b.b)("h4",{id:"code-samples-6"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-oauth2Token"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-oauth2Token-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-oauth2Token-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-oauth2Token-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-oauth2Token-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-oauth2Token-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-oauth2Token-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-oauth2Token-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X POST /oauth2/token \\\n  -H 'Content-Type: application/x-www-form-urlencoded' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-oauth2Token-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/x-www-form-urlencoded"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("POST", "/oauth2/token", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-oauth2Token-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),'const fetch = require(\'node-fetch\');\nconst input = \'{\n  "grant_type": "string",\n  "code": "string",\n  "refresh_token": "string",\n  "redirect_uri": "string",\n  "client_id": "string"\n}\';\nconst headers = {\n  \'Content-Type\': \'application/x-www-form-urlencoded\',  \'Accept\': \'application/json\'\n}\n\nfetch(\'/oauth2/token\', {\n  method: \'POST\',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-oauth2Token-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/token");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("POST");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-oauth2Token-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/x-www-form-urlencoded',\n  'Accept': 'application/json'\n}\n\nr = requests.post(\n  '/oauth2/token',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-oauth2Token-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/x-www-form-urlencoded',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.post '/oauth2/token',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIduserinfo"}),Object(b.b)("h3",{id:"openid-connect-userinfo"},"OpenID Connect Userinfo"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /userinfo HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint returns the payload of the ID Token, including the idTokenExtra\nvalues, of the provided OAuth 2.0 Access Token."),Object(b.b)("p",null,"For more information please\n",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"http://openid.net/specs/openid-connect-core-1_0.html#UserInfo"}),"refer to the spec"),"."),Object(b.b)("h4",{id:"responses-7"},"Responses"),Object(b.b)("a",{id:"openid-connect-userinfo-responses"}),Object(b.b)("h5",{id:"overview-7"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"userinfoResponse"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemauserinforesponse"}),"userinfoResponse"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-6"},"Examples"),Object(b.b)("h6",{id:"200-response-4"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "birthdate": "string",\n  "email": "string",\n  "email_verified": true,\n  "family_name": "string",\n  "gender": "string",\n  "given_name": "string",\n  "locale": "string",\n  "middle_name": "string",\n  "name": "string",\n  "nickname": "string",\n  "phone_number": "string",\n  "phone_number_verified": true,\n  "picture": "string",\n  "preferred_username": "string",\n  "profile": "string",\n  "sub": "string",\n  "updated_at": 0,\n  "website": "string",\n  "zoneinfo": "string"\n}\n')),Object(b.b)("aside",{class:"warning"},"To perform this operation, you must be authenticated by means of one of the following methods: oauth2"),Object(b.b)("h4",{id:"code-samples-7"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-userinfo"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-userinfo-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-userinfo-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-userinfo-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-userinfo-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-userinfo-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-userinfo-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-userinfo-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /userinfo \\\n  -H 'Accept: application/json' \\  -H 'Authorization: Bearer {access-token}'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-userinfo-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n        "Authorization": []string{"Bearer {access-token}"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/userinfo", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-userinfo-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json',  'Authorization': 'Bearer {access-token}'\n}\n\nfetch('/userinfo', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-userinfo-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/userinfo");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-userinfo-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json',\n  'Authorization': 'Bearer {access-token}'\n}\n\nr = requests.get(\n  '/userinfo',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-userinfo-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json',\n  'Authorization' => 'Bearer {access-token}'\n}\n\nresult = RestClient.get '/userinfo',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"ory-hydra-administrative-endpoints"}),Object(b.b)("h2",{id:"administrative-endpoints"},"Administrative Endpoints"),Object(b.b)("a",{id:"opIdlistOAuth2Clients"}),Object(b.b)("h3",{id:"list-oauth-20-clients"},"List OAuth 2.0 Clients"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /clients HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint lists all clients in the database, and never returns client\nsecrets."),Object(b.b)("p",null,'OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows.\nUsually, OAuth 2.0 clients are generated for applications which want to consume\nyour OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will\nneed an OAuth 2.0 Client as well. Make sure that this endpoint is well protected\nand only callable by first-party components. The "Link" header is also included\nin successful responses, which contains one or more links for pagination,\nformatted like so:\n\'',Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"https://hydra-url/admin/clients?limit=%7Blimit%7D&offset=%7Boffset%7D"}),"https://hydra-url/admin/clients?limit={limit}&offset={offset}"),"; rel=\"{page}\"',\nwhere page is one of the following applicable pages: 'first', 'next', 'last',\nand 'previous'. Multiple links can be included in this header, and will be\nseparated by a comma."),Object(b.b)("a",{id:"list-oauth-2.0-clients-parameters"}),Object(b.b)("h5",{id:"parameters-2"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"limit"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The maximum amount of policies returned.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"offset"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The offset from where to start looking.")))),Object(b.b)("h4",{id:"responses-8"},"Responses"),Object(b.b)("a",{id:"list-oauth-2.0-clients-responses"}),Object(b.b)("h5",{id:"overview-8"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"A list of clients."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Inline")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("a",{id:"list-oauth-2.0-clients-responseschema"}),Object(b.b)("h5",{id:"response-schema"},"Response Schema"),Object(b.b)("p",null,"Status Code ",Object(b.b)("strong",{parentName:"p"},"200")),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("em",{parentName:"td"},"anonymous")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[",Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2client"}),"oAuth2Client"),"]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb Client represents an OAuth 2.0 Client."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2client"}),"oAuth2Client")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb allowed_cors_origins"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb audience"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb backchannel_logout_session_required"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the RP requires that a sid (session ID) Claim be included in the Logout Token to identify the RP session with the OP when the backchannel_logout_uri is used. If omitted, the default value is false.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb backchannel_logout_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RP URL that will cause the RP to log itself out when sent a Logout Token by the OP.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb client_id"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ClientID is the id for this client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb client_name"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Name is the human-readable string name of the client to be presented to the end-user during authorization.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb client_secret"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Secret is the client's secret. The secret will be included in the create request as cleartext, and then never again. The secret is stored using BCrypt so it is impossible to recover it. Tell your users that they need to write the secret down as it will not be made available again.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb client_secret_expires_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"SecretExpiresAt is an integer holding the time at which the client secret will expire or 0 if it will not expire. The time is represented as the number of seconds from 1970-01-01T00:00:00Z as measured in UTC until the date/time of expiration. This feature is currently not supported and it's value will always be set to 0.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb client_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ClientURI is an URL string of a web page providing information about the client. If present, the server SHOULD display this URL to the end-user in a clickable fashion.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb contacts"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb created_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string(date-time)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"CreatedAt returns the timestamp of the client's creation.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb frontchannel_logout_session_required"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the RP requires that iss (issuer) and sid (session ID) query parameters be included to identify the RP session with the OP when the frontchannel_logout_uri is used. If omitted, the default value is false.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb frontchannel_logout_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RP URL that will cause the RP to log itself out when rendered in an iframe by the OP. An iss (issuer) query parameter and a sid (session ID) query parameter MAY be included by the OP to enable the RP to validate the request and to determine which of the potentially multiple sessions is to be logged out; if either is included, both MUST be.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb grant_types"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb jwks"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajosejsonwebkeyset"}),"JoseJSONWebKeySet")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb jwks_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL for the Client's JSON Web Key Set ","[JWK]"," document. If the Client signs requests to the Server, it contains the signing key(s) the Server uses to validate signatures from the Client. The JWK Set MAY also contain the Client's encryption keys(s), which are used by the Server to encrypt responses to the Client. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb logo_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"LogoURI is an URL string that references a logo for the client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb metadata"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonrawmessage"}),"JSONRawMessage")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb owner"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Owner is a string identifying the owner of the OAuth 2.0 Client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb policy_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"PolicyURI is a URL string that points to a human-readable privacy policy document that describes how the deployment organization collects, uses, retains, and discloses personal data.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb post_logout_redirect_uris"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb redirect_uris"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb request_object_signing_alg"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JWS ","[JWS]"," alg algorithm ","[JWA]"," that MUST be used for signing Request Objects sent to the OP. All Request Objects from this Client MUST be rejected, if not signed with this algorithm.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb request_uris"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb response_types"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 ","[RFC6749]",") that the client can use when requesting access tokens.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb sector_identifier_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP. The URL references a file with a single JSON array of redirect_uri values.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb subject_type"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include ",Object(b.b)("inlineCode",{parentName:"td"},"pairwise")," and ",Object(b.b)("inlineCode",{parentName:"td"},"public"),".")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb token_endpoint_auth_method"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb tos_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"TermsOfServiceURI is a URL string that points to a human-readable terms of service document for the client that describes a contractual relationship between the end-user and the client that the end-user accepts when authorizing the client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb updated_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string(date-time)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"UpdatedAt returns the timestamp of the last update.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb userinfo_signed_response_alg"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JWS alg algorithm ","[JWA]"," REQUIRED for signing UserInfo Responses. If this is specified, the response will be JWT ","[JWT]"," serialized, and signed using JWS. The default, if omitted, is for the UserInfo Response to return the Claims as a UTF-8 encoded JSON object using the application/json content-type.")))),Object(b.b)("h5",{id:"examples-7"},"Examples"),Object(b.b)("h6",{id:"200-response-5"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'[\n  {\n    "allowed_cors_origins": ["string"],\n    "audience": ["string"],\n    "backchannel_logout_session_required": true,\n    "backchannel_logout_uri": "string",\n    "client_id": "string",\n    "client_name": "string",\n    "client_secret": "string",\n    "client_secret_expires_at": 0,\n    "client_uri": "string",\n    "contacts": ["string"],\n    "created_at": "2020-04-22T10:17:29Z",\n    "frontchannel_logout_session_required": true,\n    "frontchannel_logout_uri": "string",\n    "grant_types": ["string"],\n    "jwks": {},\n    "jwks_uri": "string",\n    "logo_uri": "string",\n    "metadata": {},\n    "owner": "string",\n    "policy_uri": "string",\n    "post_logout_redirect_uris": ["string"],\n    "redirect_uris": ["string"],\n    "request_object_signing_alg": "string",\n    "request_uris": ["string"],\n    "response_types": ["string"],\n    "scope": "string",\n    "sector_identifier_uri": "string",\n    "subject_type": "string",\n    "token_endpoint_auth_method": "string",\n    "tos_uri": "string",\n    "updated_at": "2020-04-22T10:17:29Z",\n    "userinfo_signed_response_alg": "string"\n  }\n]\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-8"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-listOAuth2Clients"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-listOAuth2Clients-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-listOAuth2Clients-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-listOAuth2Clients-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-listOAuth2Clients-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-listOAuth2Clients-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-listOAuth2Clients-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-listOAuth2Clients-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /clients \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-listOAuth2Clients-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/clients", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-listOAuth2Clients-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/clients', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-listOAuth2Clients-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/clients");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-listOAuth2Clients-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/clients',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-listOAuth2Clients-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/clients',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdcreateOAuth2Client"}),Object(b.b)("h3",{id:"create-an-oauth-20-client"},"Create an OAuth 2.0 client"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"POST /clients HTTP/1.1\nContent-Type: application/json\nAccept: application/json\n\n")),Object(b.b)("p",null,"Create a new OAuth 2.0 client If you pass ",Object(b.b)("inlineCode",{parentName:"p"},"client_secret")," the secret will be\nused, otherwise a random secret will be generated. The secret will be returned\nin the response and you will not be able to retrieve it later on. Write the\nsecret down and keep it somwhere safe."),Object(b.b)("p",null,"OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows.\nUsually, OAuth 2.0 clients are generated for applications which want to consume\nyour OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will\nneed an OAuth 2.0 Client as well. Make sure that this endpoint is well protected\nand only callable by first-party components."),Object(b.b)("h4",{id:"request-body-2"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "allowed_cors_origins": ["string"],\n  "audience": ["string"],\n  "backchannel_logout_session_required": true,\n  "backchannel_logout_uri": "string",\n  "client_id": "string",\n  "client_name": "string",\n  "client_secret": "string",\n  "client_secret_expires_at": 0,\n  "client_uri": "string",\n  "contacts": ["string"],\n  "created_at": "2020-04-22T10:17:29Z",\n  "frontchannel_logout_session_required": true,\n  "frontchannel_logout_uri": "string",\n  "grant_types": ["string"],\n  "jwks": {},\n  "jwks_uri": "string",\n  "logo_uri": "string",\n  "metadata": {},\n  "owner": "string",\n  "policy_uri": "string",\n  "post_logout_redirect_uris": ["string"],\n  "redirect_uris": ["string"],\n  "request_object_signing_alg": "string",\n  "request_uris": ["string"],\n  "response_types": ["string"],\n  "scope": "string",\n  "sector_identifier_uri": "string",\n  "subject_type": "string",\n  "token_endpoint_auth_method": "string",\n  "tos_uri": "string",\n  "updated_at": "2020-04-22T10:17:29Z",\n  "userinfo_signed_response_alg": "string"\n}\n')),Object(b.b)("a",{id:"create-an-oauth-2.0-client-parameters"}),Object(b.b)("h5",{id:"parameters-3"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2client"}),"oAuth2Client")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-9"},"Responses"),Object(b.b)("a",{id:"create-an-oauth-2.0-client-responses"}),Object(b.b)("h5",{id:"overview-9"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"201"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.2"}),"Created")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"oAuth2Client"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2client"}),"oAuth2Client"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"400"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.1"}),"Bad Request")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"409"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.8"}),"Conflict")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-8"},"Examples"),Object(b.b)("h6",{id:"201-response"},"201 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "allowed_cors_origins": ["string"],\n  "audience": ["string"],\n  "backchannel_logout_session_required": true,\n  "backchannel_logout_uri": "string",\n  "client_id": "string",\n  "client_name": "string",\n  "client_secret": "string",\n  "client_secret_expires_at": 0,\n  "client_uri": "string",\n  "contacts": ["string"],\n  "created_at": "2020-04-22T10:17:29Z",\n  "frontchannel_logout_session_required": true,\n  "frontchannel_logout_uri": "string",\n  "grant_types": ["string"],\n  "jwks": {},\n  "jwks_uri": "string",\n  "logo_uri": "string",\n  "metadata": {},\n  "owner": "string",\n  "policy_uri": "string",\n  "post_logout_redirect_uris": ["string"],\n  "redirect_uris": ["string"],\n  "request_object_signing_alg": "string",\n  "request_uris": ["string"],\n  "response_types": ["string"],\n  "scope": "string",\n  "sector_identifier_uri": "string",\n  "subject_type": "string",\n  "token_endpoint_auth_method": "string",\n  "tos_uri": "string",\n  "updated_at": "2020-04-22T10:17:29Z",\n  "userinfo_signed_response_alg": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-9"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-createOAuth2Client"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-createOAuth2Client-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-createOAuth2Client-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-createOAuth2Client-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-createOAuth2Client-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-createOAuth2Client-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-createOAuth2Client-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-createOAuth2Client-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X POST /clients \\\n  -H 'Content-Type: application/json' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-createOAuth2Client-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/json"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("POST", "/clients", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-createOAuth2Client-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),'const fetch = require(\'node-fetch\');\nconst input = \'{\n  "allowed_cors_origins": [\n    "string"\n  ],\n  "audience": [\n    "string"\n  ],\n  "backchannel_logout_session_required": true,\n  "backchannel_logout_uri": "string",\n  "client_id": "string",\n  "client_name": "string",\n  "client_secret": "string",\n  "client_secret_expires_at": 0,\n  "client_uri": "string",\n  "contacts": [\n    "string"\n  ],\n  "created_at": "2020-04-22T10:17:29Z",\n  "frontchannel_logout_session_required": true,\n  "frontchannel_logout_uri": "string",\n  "grant_types": [\n    "string"\n  ],\n  "jwks": {},\n  "jwks_uri": "string",\n  "logo_uri": "string",\n  "metadata": {},\n  "owner": "string",\n  "policy_uri": "string",\n  "post_logout_redirect_uris": [\n    "string"\n  ],\n  "redirect_uris": [\n    "string"\n  ],\n  "request_object_signing_alg": "string",\n  "request_uris": [\n    "string"\n  ],\n  "response_types": [\n    "string"\n  ],\n  "scope": "string",\n  "sector_identifier_uri": "string",\n  "subject_type": "string",\n  "token_endpoint_auth_method": "string",\n  "tos_uri": "string",\n  "updated_at": "2020-04-22T10:17:29Z",\n  "userinfo_signed_response_alg": "string"\n}\';\nconst headers = {\n  \'Content-Type\': \'application/json\',  \'Accept\': \'application/json\'\n}\n\nfetch(\'/clients\', {\n  method: \'POST\',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-createOAuth2Client-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/clients");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("POST");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-createOAuth2Client-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nr = requests.post(\n  '/clients',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-createOAuth2Client-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/json',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.post '/clients',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdgetOAuth2Client"}),Object(b.b)("h3",{id:"get-an-oauth-20-client"},"Get an OAuth 2.0 Client."),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /clients/{id} HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"Get an OAUth 2.0 client by its ID. This endpoint never returns passwords."),Object(b.b)("p",null,"OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows.\nUsually, OAuth 2.0 clients are generated for applications which want to consume\nyour OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will\nneed an OAuth 2.0 Client as well. Make sure that this endpoint is well protected\nand only callable by first-party components."),Object(b.b)("a",{id:"get-an-oauth-2.0-client.-parameters"}),Object(b.b)("h5",{id:"parameters-4"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"id"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The id of the OAuth 2.0 Client.")))),Object(b.b)("h4",{id:"responses-10"},"Responses"),Object(b.b)("a",{id:"get-an-oauth-2.0-client.-responses"}),Object(b.b)("h5",{id:"overview-10"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"oAuth2Client"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2client"}),"oAuth2Client"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-9"},"Examples"),Object(b.b)("h6",{id:"200-response-6"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "allowed_cors_origins": ["string"],\n  "audience": ["string"],\n  "backchannel_logout_session_required": true,\n  "backchannel_logout_uri": "string",\n  "client_id": "string",\n  "client_name": "string",\n  "client_secret": "string",\n  "client_secret_expires_at": 0,\n  "client_uri": "string",\n  "contacts": ["string"],\n  "created_at": "2020-04-22T10:17:29Z",\n  "frontchannel_logout_session_required": true,\n  "frontchannel_logout_uri": "string",\n  "grant_types": ["string"],\n  "jwks": {},\n  "jwks_uri": "string",\n  "logo_uri": "string",\n  "metadata": {},\n  "owner": "string",\n  "policy_uri": "string",\n  "post_logout_redirect_uris": ["string"],\n  "redirect_uris": ["string"],\n  "request_object_signing_alg": "string",\n  "request_uris": ["string"],\n  "response_types": ["string"],\n  "scope": "string",\n  "sector_identifier_uri": "string",\n  "subject_type": "string",\n  "token_endpoint_auth_method": "string",\n  "tos_uri": "string",\n  "updated_at": "2020-04-22T10:17:29Z",\n  "userinfo_signed_response_alg": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-10"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-getOAuth2Client"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-getOAuth2Client-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getOAuth2Client-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getOAuth2Client-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getOAuth2Client-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getOAuth2Client-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getOAuth2Client-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-getOAuth2Client-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /clients/{id} \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getOAuth2Client-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/clients/{id}", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getOAuth2Client-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/clients/{id}', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getOAuth2Client-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/clients/{id}");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getOAuth2Client-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/clients/{id}',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getOAuth2Client-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/clients/{id}',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdupdateOAuth2Client"}),Object(b.b)("h3",{id:"update-an-oauth-20-client"},"Update an OAuth 2.0 Client"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"PUT /clients/{id} HTTP/1.1\nContent-Type: application/json\nAccept: application/json\n\n")),Object(b.b)("p",null,"Update an existing OAuth 2.0 Client. If you pass ",Object(b.b)("inlineCode",{parentName:"p"},"client_secret")," the secret will\nbe updated and returned via the API. This is the only time you will be able to\nretrieve the client secret, so write it down and keep it safe."),Object(b.b)("p",null,"OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows.\nUsually, OAuth 2.0 clients are generated for applications which want to consume\nyour OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will\nneed an OAuth 2.0 Client as well. Make sure that this endpoint is well protected\nand only callable by first-party components."),Object(b.b)("h4",{id:"request-body-3"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "allowed_cors_origins": ["string"],\n  "audience": ["string"],\n  "backchannel_logout_session_required": true,\n  "backchannel_logout_uri": "string",\n  "client_id": "string",\n  "client_name": "string",\n  "client_secret": "string",\n  "client_secret_expires_at": 0,\n  "client_uri": "string",\n  "contacts": ["string"],\n  "created_at": "2020-04-22T10:17:29Z",\n  "frontchannel_logout_session_required": true,\n  "frontchannel_logout_uri": "string",\n  "grant_types": ["string"],\n  "jwks": {},\n  "jwks_uri": "string",\n  "logo_uri": "string",\n  "metadata": {},\n  "owner": "string",\n  "policy_uri": "string",\n  "post_logout_redirect_uris": ["string"],\n  "redirect_uris": ["string"],\n  "request_object_signing_alg": "string",\n  "request_uris": ["string"],\n  "response_types": ["string"],\n  "scope": "string",\n  "sector_identifier_uri": "string",\n  "subject_type": "string",\n  "token_endpoint_auth_method": "string",\n  "tos_uri": "string",\n  "updated_at": "2020-04-22T10:17:29Z",\n  "userinfo_signed_response_alg": "string"\n}\n')),Object(b.b)("a",{id:"update-an-oauth-2.0-client-parameters"}),Object(b.b)("h5",{id:"parameters-5"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"id"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2client"}),"oAuth2Client")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-11"},"Responses"),Object(b.b)("a",{id:"update-an-oauth-2.0-client-responses"}),Object(b.b)("h5",{id:"overview-11"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"oAuth2Client"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2client"}),"oAuth2Client"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-10"},"Examples"),Object(b.b)("h6",{id:"200-response-7"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "allowed_cors_origins": ["string"],\n  "audience": ["string"],\n  "backchannel_logout_session_required": true,\n  "backchannel_logout_uri": "string",\n  "client_id": "string",\n  "client_name": "string",\n  "client_secret": "string",\n  "client_secret_expires_at": 0,\n  "client_uri": "string",\n  "contacts": ["string"],\n  "created_at": "2020-04-22T10:17:29Z",\n  "frontchannel_logout_session_required": true,\n  "frontchannel_logout_uri": "string",\n  "grant_types": ["string"],\n  "jwks": {},\n  "jwks_uri": "string",\n  "logo_uri": "string",\n  "metadata": {},\n  "owner": "string",\n  "policy_uri": "string",\n  "post_logout_redirect_uris": ["string"],\n  "redirect_uris": ["string"],\n  "request_object_signing_alg": "string",\n  "request_uris": ["string"],\n  "response_types": ["string"],\n  "scope": "string",\n  "sector_identifier_uri": "string",\n  "subject_type": "string",\n  "token_endpoint_auth_method": "string",\n  "tos_uri": "string",\n  "updated_at": "2020-04-22T10:17:29Z",\n  "userinfo_signed_response_alg": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-11"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-updateOAuth2Client"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-updateOAuth2Client-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateOAuth2Client-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateOAuth2Client-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateOAuth2Client-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateOAuth2Client-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateOAuth2Client-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-updateOAuth2Client-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X PUT /clients/{id} \\\n  -H 'Content-Type: application/json' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateOAuth2Client-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/json"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("PUT", "/clients/{id}", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateOAuth2Client-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),'const fetch = require(\'node-fetch\');\nconst input = \'{\n  "allowed_cors_origins": [\n    "string"\n  ],\n  "audience": [\n    "string"\n  ],\n  "backchannel_logout_session_required": true,\n  "backchannel_logout_uri": "string",\n  "client_id": "string",\n  "client_name": "string",\n  "client_secret": "string",\n  "client_secret_expires_at": 0,\n  "client_uri": "string",\n  "contacts": [\n    "string"\n  ],\n  "created_at": "2020-04-22T10:17:29Z",\n  "frontchannel_logout_session_required": true,\n  "frontchannel_logout_uri": "string",\n  "grant_types": [\n    "string"\n  ],\n  "jwks": {},\n  "jwks_uri": "string",\n  "logo_uri": "string",\n  "metadata": {},\n  "owner": "string",\n  "policy_uri": "string",\n  "post_logout_redirect_uris": [\n    "string"\n  ],\n  "redirect_uris": [\n    "string"\n  ],\n  "request_object_signing_alg": "string",\n  "request_uris": [\n    "string"\n  ],\n  "response_types": [\n    "string"\n  ],\n  "scope": "string",\n  "sector_identifier_uri": "string",\n  "subject_type": "string",\n  "token_endpoint_auth_method": "string",\n  "tos_uri": "string",\n  "updated_at": "2020-04-22T10:17:29Z",\n  "userinfo_signed_response_alg": "string"\n}\';\nconst headers = {\n  \'Content-Type\': \'application/json\',  \'Accept\': \'application/json\'\n}\n\nfetch(\'/clients/{id}\', {\n  method: \'PUT\',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateOAuth2Client-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/clients/{id}");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("PUT");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateOAuth2Client-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nr = requests.put(\n  '/clients/{id}',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateOAuth2Client-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/json',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.put '/clients/{id}',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIddeleteOAuth2Client"}),Object(b.b)("h3",{id:"deletes-an-oauth-20-client"},"Deletes an OAuth 2.0 Client"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"DELETE /clients/{id} HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"Delete an existing OAuth 2.0 Client by its ID."),Object(b.b)("p",null,"OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows.\nUsually, OAuth 2.0 clients are generated for applications which want to consume\nyour OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will\nneed an OAuth 2.0 Client as well. Make sure that this endpoint is well protected\nand only callable by first-party components."),Object(b.b)("a",{id:"deletes-an-oauth-2.0-client-parameters"}),Object(b.b)("h5",{id:"parameters-6"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"id"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The id of the OAuth 2.0 Client.")))),Object(b.b)("h4",{id:"responses-12"},"Responses"),Object(b.b)("a",{id:"deletes-an-oauth-2.0-client-responses"}),Object(b.b)("h5",{id:"overview-12"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"204"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.5"}),"No Content")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"typically 201."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"None"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null})),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-11"},"Examples"),Object(b.b)("h6",{id:"404-response"},"404 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "debug": "The database adapter was unable to find the element",\n  "error": "The requested resource could not be found",\n  "error_description": "Object with ID 12345 does not exist",\n  "status_code": 404\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-12"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-deleteOAuth2Client"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-deleteOAuth2Client-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteOAuth2Client-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteOAuth2Client-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteOAuth2Client-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteOAuth2Client-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteOAuth2Client-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-deleteOAuth2Client-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X DELETE /clients/{id} \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteOAuth2Client-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("DELETE", "/clients/{id}", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteOAuth2Client-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/clients/{id}', {\n  method: 'DELETE',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteOAuth2Client-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/clients/{id}");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("DELETE");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteOAuth2Client-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.delete(\n  '/clients/{id}',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteOAuth2Client-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.delete '/clients/{id}',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdisInstanceAlive"}),Object(b.b)("h3",{id:"check-alive-status"},"Check alive status"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /health/alive HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint returns a 200 status code when the HTTP server is up running. This\nstatus does currently not include checks whether the database connection is\nworking."),Object(b.b)("p",null,"If the service supports TLS Edge Termination, this endpoint does not require the\n",Object(b.b)("inlineCode",{parentName:"p"},"X-Forwarded-Proto")," header to be set."),Object(b.b)("p",null,"Be aware that if you are running multiple nodes of this service, the health\nstatus will never refer to the cluster state, only to a single instance."),Object(b.b)("h4",{id:"responses-13"},"Responses"),Object(b.b)("a",{id:"check-alive-status-responses"}),Object(b.b)("h5",{id:"overview-13"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"healthStatus"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemahealthstatus"}),"healthStatus"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-12"},"Examples"),Object(b.b)("h6",{id:"200-response-8"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "status": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-13"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-isInstanceAlive"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-isInstanceAlive-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-isInstanceAlive-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-isInstanceAlive-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-isInstanceAlive-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-isInstanceAlive-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-isInstanceAlive-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-isInstanceAlive-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /health/alive \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-isInstanceAlive-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/health/alive", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-isInstanceAlive-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/health/alive', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-isInstanceAlive-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/health/alive");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-isInstanceAlive-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/health/alive',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-isInstanceAlive-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/health/alive',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdgetJsonWebKeySet"}),Object(b.b)("h3",{id:"retrieve-a-json-web-key-set"},"Retrieve a JSON Web Key Set"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /keys/{set} HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint can be used to retrieve JWK Sets stored in ORY Hydra."),Object(b.b)("p",null,"A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that\nrepresents a cryptographic key. A JWK Set is a JSON data structure that\nrepresents a set of JWKs. A JSON Web Key is identified by its set and key id.\nORY Hydra uses this functionality to store cryptographic keys used for TLS and\nJSON Web Tokens (such as OpenID Connect ID tokens), and allows storing\nuser-defined keys as well."),Object(b.b)("a",{id:"retrieve-a-json-web-key-set-parameters"}),Object(b.b)("h5",{id:"parameters-7"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"set"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The set")))),Object(b.b)("h4",{id:"responses-14"},"Responses"),Object(b.b)("a",{id:"retrieve-a-json-web-key-set-responses"}),Object(b.b)("h5",{id:"overview-14"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSONWebKeySet"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonwebkeyset"}),"JSONWebKeySet"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"403"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.3"}),"Forbidden")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-13"},"Examples"),Object(b.b)("h6",{id:"200-response-9"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "keys": [\n    {\n      "alg": "RS256",\n      "crv": "P-256",\n      "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n      "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n      "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n      "e": "AQAB",\n      "k": "GawgguFyGrWKav7AX4VKUg",\n      "kid": "1603dfe0af8f4596",\n      "kty": "RSA",\n      "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n      "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n      "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n      "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n      "use": "sig",\n      "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n      "x5c": ["string"],\n      "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n    }\n  ]\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-14"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-getJsonWebKeySet"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-getJsonWebKeySet-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getJsonWebKeySet-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getJsonWebKeySet-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getJsonWebKeySet-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getJsonWebKeySet-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getJsonWebKeySet-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-getJsonWebKeySet-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /keys/{set} \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getJsonWebKeySet-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/keys/{set}", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getJsonWebKeySet-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/keys/{set}', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getJsonWebKeySet-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/keys/{set}");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getJsonWebKeySet-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/keys/{set}',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getJsonWebKeySet-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/keys/{set}',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdupdateJsonWebKeySet"}),Object(b.b)("h3",{id:"update-a-json-web-key-set"},"Update a JSON Web Key Set"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"PUT /keys/{set} HTTP/1.1\nContent-Type: application/json\nAccept: application/json\n\n")),Object(b.b)("p",null,"Use this method if you do not want to let Hydra generate the JWKs for you, but\ninstead save your own."),Object(b.b)("p",null,"A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that\nrepresents a cryptographic key. A JWK Set is a JSON data structure that\nrepresents a set of JWKs. A JSON Web Key is identified by its set and key id.\nORY Hydra uses this functionality to store cryptographic keys used for TLS and\nJSON Web Tokens (such as OpenID Connect ID tokens), and allows storing\nuser-defined keys as well."),Object(b.b)("h4",{id:"request-body-4"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "keys": [\n    {\n      "alg": "RS256",\n      "crv": "P-256",\n      "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n      "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n      "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n      "e": "AQAB",\n      "k": "GawgguFyGrWKav7AX4VKUg",\n      "kid": "1603dfe0af8f4596",\n      "kty": "RSA",\n      "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n      "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n      "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n      "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n      "use": "sig",\n      "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n      "x5c": ["string"],\n      "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n    }\n  ]\n}\n')),Object(b.b)("a",{id:"update-a-json-web-key-set-parameters"}),Object(b.b)("h5",{id:"parameters-8"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"set"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The set")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonwebkeyset"}),"JSONWebKeySet")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-15"},"Responses"),Object(b.b)("a",{id:"update-a-json-web-key-set-responses"}),Object(b.b)("h5",{id:"overview-15"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSONWebKeySet"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonwebkeyset"}),"JSONWebKeySet"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"403"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.3"}),"Forbidden")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-14"},"Examples"),Object(b.b)("h6",{id:"200-response-10"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "keys": [\n    {\n      "alg": "RS256",\n      "crv": "P-256",\n      "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n      "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n      "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n      "e": "AQAB",\n      "k": "GawgguFyGrWKav7AX4VKUg",\n      "kid": "1603dfe0af8f4596",\n      "kty": "RSA",\n      "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n      "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n      "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n      "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n      "use": "sig",\n      "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n      "x5c": ["string"],\n      "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n    }\n  ]\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-15"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-updateJsonWebKeySet"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-updateJsonWebKeySet-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateJsonWebKeySet-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateJsonWebKeySet-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateJsonWebKeySet-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateJsonWebKeySet-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateJsonWebKeySet-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-updateJsonWebKeySet-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X PUT /keys/{set} \\\n  -H 'Content-Type: application/json' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateJsonWebKeySet-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/json"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("PUT", "/keys/{set}", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateJsonWebKeySet-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),'const fetch = require(\'node-fetch\');\nconst input = \'{\n  "keys": [\n    {\n      "alg": "RS256",\n      "crv": "P-256",\n      "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n      "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n      "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n      "e": "AQAB",\n      "k": "GawgguFyGrWKav7AX4VKUg",\n      "kid": "1603dfe0af8f4596",\n      "kty": "RSA",\n      "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n      "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n      "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n      "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n      "use": "sig",\n      "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n      "x5c": [\n        "string"\n      ],\n      "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n    }\n  ]\n}\';\nconst headers = {\n  \'Content-Type\': \'application/json\',  \'Accept\': \'application/json\'\n}\n\nfetch(\'/keys/{set}\', {\n  method: \'PUT\',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateJsonWebKeySet-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/keys/{set}");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("PUT");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateJsonWebKeySet-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nr = requests.put(\n  '/keys/{set}',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateJsonWebKeySet-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/json',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.put '/keys/{set}',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdcreateJsonWebKeySet"}),Object(b.b)("h3",{id:"generate-a-new-json-web-key"},"Generate a new JSON Web Key"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"POST /keys/{set} HTTP/1.1\nContent-Type: application/json\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint is capable of generating JSON Web Key Sets for you. There a\ndifferent strategies available, such as symmetric cryptographic keys (HS256,\nHS512) and asymetric cryptographic keys (RS256, ECDSA). If the specified JSON\nWeb Key Set does not exist, it will be created."),Object(b.b)("p",null,"A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that\nrepresents a cryptographic key. A JWK Set is a JSON data structure that\nrepresents a set of JWKs. A JSON Web Key is identified by its set and key id.\nORY Hydra uses this functionality to store cryptographic keys used for TLS and\nJSON Web Tokens (such as OpenID Connect ID tokens), and allows storing\nuser-defined keys as well."),Object(b.b)("h4",{id:"request-body-5"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "alg": "string",\n  "kid": "string",\n  "use": "string"\n}\n')),Object(b.b)("a",{id:"generate-a-new-json-web-key-parameters"}),Object(b.b)("h5",{id:"parameters-9"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"set"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The set")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonwebkeysetgeneratorrequest"}),"jsonWebKeySetGeneratorRequest")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-16"},"Responses"),Object(b.b)("a",{id:"generate-a-new-json-web-key-responses"}),Object(b.b)("h5",{id:"overview-16"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"201"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.2"}),"Created")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSONWebKeySet"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonwebkeyset"}),"JSONWebKeySet"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"403"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.3"}),"Forbidden")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-15"},"Examples"),Object(b.b)("h6",{id:"201-response-1"},"201 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "keys": [\n    {\n      "alg": "RS256",\n      "crv": "P-256",\n      "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n      "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n      "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n      "e": "AQAB",\n      "k": "GawgguFyGrWKav7AX4VKUg",\n      "kid": "1603dfe0af8f4596",\n      "kty": "RSA",\n      "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n      "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n      "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n      "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n      "use": "sig",\n      "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n      "x5c": ["string"],\n      "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n    }\n  ]\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-16"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-createJsonWebKeySet"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-createJsonWebKeySet-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-createJsonWebKeySet-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-createJsonWebKeySet-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-createJsonWebKeySet-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-createJsonWebKeySet-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-createJsonWebKeySet-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-createJsonWebKeySet-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X POST /keys/{set} \\\n  -H 'Content-Type: application/json' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-createJsonWebKeySet-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/json"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("POST", "/keys/{set}", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-createJsonWebKeySet-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\nconst input = '{\n  \"alg\": \"string\",\n  \"kid\": \"string\",\n  \"use\": \"string\"\n}';\nconst headers = {\n  'Content-Type': 'application/json',  'Accept': 'application/json'\n}\n\nfetch('/keys/{set}', {\n  method: 'POST',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-createJsonWebKeySet-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/keys/{set}");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("POST");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-createJsonWebKeySet-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nr = requests.post(\n  '/keys/{set}',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-createJsonWebKeySet-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/json',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.post '/keys/{set}',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIddeleteJsonWebKeySet"}),Object(b.b)("h3",{id:"delete-a-json-web-key-set"},"Delete a JSON Web Key Set"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"DELETE /keys/{set} HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"Use this endpoint to delete a complete JSON Web Key Set and all the keys in that\nset."),Object(b.b)("p",null,"A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that\nrepresents a cryptographic key. A JWK Set is a JSON data structure that\nrepresents a set of JWKs. A JSON Web Key is identified by its set and key id.\nORY Hydra uses this functionality to store cryptographic keys used for TLS and\nJSON Web Tokens (such as OpenID Connect ID tokens), and allows storing\nuser-defined keys as well."),Object(b.b)("a",{id:"delete-a-json-web-key-set-parameters"}),Object(b.b)("h5",{id:"parameters-10"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"set"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The set")))),Object(b.b)("h4",{id:"responses-17"},"Responses"),Object(b.b)("a",{id:"delete-a-json-web-key-set-responses"}),Object(b.b)("h5",{id:"overview-17"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"204"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.5"}),"No Content")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"typically 201."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"None"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null})),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"403"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.3"}),"Forbidden")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-16"},"Examples"),Object(b.b)("h6",{id:"401-response-2"},"401 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "debug": "The database adapter was unable to find the element",\n  "error": "The requested resource could not be found",\n  "error_description": "Object with ID 12345 does not exist",\n  "status_code": 404\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-17"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-deleteJsonWebKeySet"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-deleteJsonWebKeySet-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteJsonWebKeySet-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteJsonWebKeySet-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteJsonWebKeySet-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteJsonWebKeySet-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteJsonWebKeySet-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-deleteJsonWebKeySet-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X DELETE /keys/{set} \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteJsonWebKeySet-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("DELETE", "/keys/{set}", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteJsonWebKeySet-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/keys/{set}', {\n  method: 'DELETE',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteJsonWebKeySet-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/keys/{set}");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("DELETE");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteJsonWebKeySet-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.delete(\n  '/keys/{set}',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteJsonWebKeySet-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.delete '/keys/{set}',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdgetJsonWebKey"}),Object(b.b)("h3",{id:"fetch-a-json-web-key"},"Fetch a JSON Web Key"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /keys/{set}/{kid} HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint returns a singular JSON Web Key, identified by the set and the\nspecific key ID (kid)."),Object(b.b)("a",{id:"fetch-a-json-web-key-parameters"}),Object(b.b)("h5",{id:"parameters-11"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"kid"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The kid of the desired key")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"set"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The set")))),Object(b.b)("h4",{id:"responses-18"},"Responses"),Object(b.b)("a",{id:"fetch-a-json-web-key-responses"}),Object(b.b)("h5",{id:"overview-18"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSONWebKeySet"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonwebkeyset"}),"JSONWebKeySet"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-17"},"Examples"),Object(b.b)("h6",{id:"200-response-11"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "keys": [\n    {\n      "alg": "RS256",\n      "crv": "P-256",\n      "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n      "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n      "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n      "e": "AQAB",\n      "k": "GawgguFyGrWKav7AX4VKUg",\n      "kid": "1603dfe0af8f4596",\n      "kty": "RSA",\n      "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n      "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n      "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n      "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n      "use": "sig",\n      "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n      "x5c": ["string"],\n      "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n    }\n  ]\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-18"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-getJsonWebKey"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-getJsonWebKey-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getJsonWebKey-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getJsonWebKey-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getJsonWebKey-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getJsonWebKey-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getJsonWebKey-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-getJsonWebKey-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /keys/{set}/{kid} \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getJsonWebKey-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/keys/{set}/{kid}", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getJsonWebKey-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/keys/{set}/{kid}', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getJsonWebKey-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/keys/{set}/{kid}");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getJsonWebKey-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/keys/{set}/{kid}',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getJsonWebKey-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/keys/{set}/{kid}',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdupdateJsonWebKey"}),Object(b.b)("h3",{id:"update-a-json-web-key"},"Update a JSON Web Key"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"PUT /keys/{set}/{kid} HTTP/1.1\nContent-Type: application/json\nAccept: application/json\n\n")),Object(b.b)("p",null,"Use this method if you do not want to let Hydra generate the JWKs for you, but\ninstead save your own."),Object(b.b)("p",null,"A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that\nrepresents a cryptographic key. A JWK Set is a JSON data structure that\nrepresents a set of JWKs. A JSON Web Key is identified by its set and key id.\nORY Hydra uses this functionality to store cryptographic keys used for TLS and\nJSON Web Tokens (such as OpenID Connect ID tokens), and allows storing\nuser-defined keys as well."),Object(b.b)("h4",{id:"request-body-6"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "alg": "RS256",\n  "crv": "P-256",\n  "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n  "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n  "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n  "e": "AQAB",\n  "k": "GawgguFyGrWKav7AX4VKUg",\n  "kid": "1603dfe0af8f4596",\n  "kty": "RSA",\n  "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n  "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n  "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n  "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n  "use": "sig",\n  "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n  "x5c": ["string"],\n  "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n}\n')),Object(b.b)("a",{id:"update-a-json-web-key-parameters"}),Object(b.b)("h5",{id:"parameters-12"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"kid"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The kid of the desired key")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"set"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The set")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonwebkey"}),"JSONWebKey")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-19"},"Responses"),Object(b.b)("a",{id:"update-a-json-web-key-responses"}),Object(b.b)("h5",{id:"overview-19"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSONWebKey"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonwebkey"}),"JSONWebKey"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"403"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.3"}),"Forbidden")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-18"},"Examples"),Object(b.b)("h6",{id:"200-response-12"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "alg": "RS256",\n  "crv": "P-256",\n  "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n  "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n  "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n  "e": "AQAB",\n  "k": "GawgguFyGrWKav7AX4VKUg",\n  "kid": "1603dfe0af8f4596",\n  "kty": "RSA",\n  "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n  "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n  "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n  "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n  "use": "sig",\n  "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n  "x5c": ["string"],\n  "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-19"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-updateJsonWebKey"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-updateJsonWebKey-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateJsonWebKey-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateJsonWebKey-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateJsonWebKey-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateJsonWebKey-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-updateJsonWebKey-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-updateJsonWebKey-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X PUT /keys/{set}/{kid} \\\n  -H 'Content-Type: application/json' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateJsonWebKey-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/json"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("PUT", "/keys/{set}/{kid}", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateJsonWebKey-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),'const fetch = require(\'node-fetch\');\nconst input = \'{\n  "alg": "RS256",\n  "crv": "P-256",\n  "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n  "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n  "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n  "e": "AQAB",\n  "k": "GawgguFyGrWKav7AX4VKUg",\n  "kid": "1603dfe0af8f4596",\n  "kty": "RSA",\n  "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n  "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n  "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n  "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n  "use": "sig",\n  "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n  "x5c": [\n    "string"\n  ],\n  "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n}\';\nconst headers = {\n  \'Content-Type\': \'application/json\',  \'Accept\': \'application/json\'\n}\n\nfetch(\'/keys/{set}/{kid}\', {\n  method: \'PUT\',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateJsonWebKey-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/keys/{set}/{kid}");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("PUT");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateJsonWebKey-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nr = requests.put(\n  '/keys/{set}/{kid}',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-updateJsonWebKey-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/json',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.put '/keys/{set}/{kid}',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIddeleteJsonWebKey"}),Object(b.b)("h3",{id:"delete-a-json-web-key"},"Delete a JSON Web Key"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"DELETE /keys/{set}/{kid} HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"Use this endpoint to delete a single JSON Web Key."),Object(b.b)("p",null,"A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that\nrepresents a cryptographic key. A JWK Set is a JSON data structure that\nrepresents a set of JWKs. A JSON Web Key is identified by its set and key id.\nORY Hydra uses this functionality to store cryptographic keys used for TLS and\nJSON Web Tokens (such as OpenID Connect ID tokens), and allows storing\nuser-defined keys as well."),Object(b.b)("a",{id:"delete-a-json-web-key-parameters"}),Object(b.b)("h5",{id:"parameters-13"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"kid"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The kid of the desired key")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"set"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"path"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The set")))),Object(b.b)("h4",{id:"responses-20"},"Responses"),Object(b.b)("a",{id:"delete-a-json-web-key-responses"}),Object(b.b)("h5",{id:"overview-20"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"204"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.5"}),"No Content")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"typically 201."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"None"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null})),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"403"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.3"}),"Forbidden")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-19"},"Examples"),Object(b.b)("h6",{id:"401-response-3"},"401 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "debug": "The database adapter was unable to find the element",\n  "error": "The requested resource could not be found",\n  "error_description": "Object with ID 12345 does not exist",\n  "status_code": 404\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-20"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-deleteJsonWebKey"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-deleteJsonWebKey-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteJsonWebKey-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteJsonWebKey-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteJsonWebKey-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteJsonWebKey-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-deleteJsonWebKey-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-deleteJsonWebKey-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X DELETE /keys/{set}/{kid} \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteJsonWebKey-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("DELETE", "/keys/{set}/{kid}", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteJsonWebKey-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/keys/{set}/{kid}', {\n  method: 'DELETE',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteJsonWebKey-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/keys/{set}/{kid}");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("DELETE");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteJsonWebKey-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.delete(\n  '/keys/{set}/{kid}',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-deleteJsonWebKey-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.delete '/keys/{set}/{kid}',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdprometheus"}),Object(b.b)("h3",{id:"get-snapshot-metrics-from-the-hydra-service-if-youre-using-k8s-you-can-then-add-annotations-to"},"Get snapshot metrics from the Hydra service. If you're using k8s, you can then add annotations to"),Object(b.b)("p",null,"your deployment like so:"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /metrics/prometheus HTTP/1.1\n\n")),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),'metadata:\nannotations:\nprometheus.io/port: "4445"\nprometheus.io/path: "/metrics/prometheus"\n')),Object(b.b)("h4",{id:"responses-21"},"Responses"),Object(b.b)("a",{id:"get-snapshot-metrics-from-the-hydra-service.-if-you're-using-k8s,-you-can-then-add-annotations-to\nyour-deployment-like-so:-responses"}),Object(b.b)("h5",{id:"overview-21"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"typically 201."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"None"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null})),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))))),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-21"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-prometheus"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-prometheus-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-prometheus-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-prometheus-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-prometheus-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-prometheus-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-prometheus-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-prometheus-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /metrics/prometheus\n\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-prometheus-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/metrics/prometheus", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-prometheus-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nfetch('/metrics/prometheus', {\n  method: 'GET'\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-prometheus-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/metrics/prometheus");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-prometheus-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nr = requests.get(\n  '/metrics/prometheus',\n  params={)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-prometheus-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nresult = RestClient.get '/metrics/prometheus',\n  params: {}\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdgetConsentRequest"}),Object(b.b)("h3",{id:"get-consent-request-information"},"Get consent request information"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /oauth2/auth/requests/consent?consent_challenge=string HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY\nHydra asks the login provider to authenticate the subject and then tell ORY\nHydra now about it. If the subject authenticated, he/she must now be asked if\nthe OAuth 2.0 Client which initiated the flow should be allowed to access the\nresources on the subject's behalf."),Object(b.b)("p",null,'The consent provider which handles this request and is a web app implemented and\nhosted by you. It shows a subject interface which asks the subject to grant or\ndeny the client access to the requested scope ("Application my-dropbox-app wants\nwrite access to all your private files").'),Object(b.b)("p",null,"The consent challenge is appended to the consent provider's URL to which the\nsubject's user-agent (browser) is redirected to. The consent provider uses that\nchallenge to fetch information on the OAuth2 request and then tells ORY Hydra if\nthe subject accepted or rejected the request."),Object(b.b)("a",{id:"get-consent-request-information-parameters"}),Object(b.b)("h5",{id:"parameters-14"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"consent_challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-22"},"Responses"),Object(b.b)("a",{id:"get-consent-request-information-responses"}),Object(b.b)("h5",{id:"overview-22"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"consentRequest"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaconsentrequest"}),"consentRequest"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"409"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.8"}),"Conflict")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-20"},"Examples"),Object(b.b)("h6",{id:"200-response-13"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "acr": "string",\n  "challenge": "string",\n  "client": {\n    "allowed_cors_origins": ["string"],\n    "audience": ["string"],\n    "backchannel_logout_session_required": true,\n    "backchannel_logout_uri": "string",\n    "client_id": "string",\n    "client_name": "string",\n    "client_secret": "string",\n    "client_secret_expires_at": 0,\n    "client_uri": "string",\n    "contacts": ["string"],\n    "created_at": "2020-04-22T10:17:29Z",\n    "frontchannel_logout_session_required": true,\n    "frontchannel_logout_uri": "string",\n    "grant_types": ["string"],\n    "jwks": {},\n    "jwks_uri": "string",\n    "logo_uri": "string",\n    "metadata": {},\n    "owner": "string",\n    "policy_uri": "string",\n    "post_logout_redirect_uris": ["string"],\n    "redirect_uris": ["string"],\n    "request_object_signing_alg": "string",\n    "request_uris": ["string"],\n    "response_types": ["string"],\n    "scope": "string",\n    "sector_identifier_uri": "string",\n    "subject_type": "string",\n    "token_endpoint_auth_method": "string",\n    "tos_uri": "string",\n    "updated_at": "2020-04-22T10:17:29Z",\n    "userinfo_signed_response_alg": "string"\n  },\n  "context": {},\n  "login_challenge": "string",\n  "login_session_id": "string",\n  "oidc_context": {\n    "acr_values": ["string"],\n    "display": "string",\n    "id_token_hint_claims": {\n      "property1": {},\n      "property2": {}\n    },\n    "login_hint": "string",\n    "ui_locales": ["string"]\n  },\n  "request_url": "string",\n  "requested_access_token_audience": ["string"],\n  "requested_scope": ["string"],\n  "skip": true,\n  "subject": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-22"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-getConsentRequest"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-getConsentRequest-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getConsentRequest-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getConsentRequest-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getConsentRequest-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getConsentRequest-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getConsentRequest-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-getConsentRequest-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /oauth2/auth/requests/consent?consent_challenge=string \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getConsentRequest-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/oauth2/auth/requests/consent", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getConsentRequest-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/oauth2/auth/requests/consent?consent_challenge=string', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getConsentRequest-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/requests/consent?consent_challenge=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getConsentRequest-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/oauth2/auth/requests/consent',\n  params={\n    'consent_challenge': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getConsentRequest-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/oauth2/auth/requests/consent',\n  params: {\n    'consent_challenge' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdacceptConsentRequest"}),Object(b.b)("h3",{id:"accept-a-consent-request"},"Accept a consent request"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"PUT /oauth2/auth/requests/consent/accept?consent_challenge=string HTTP/1.1\nContent-Type: application/json\nAccept: application/json\n\n")),Object(b.b)("p",null,"When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY\nHydra asks the login provider to authenticate the subject and then tell ORY\nHydra now about it. If the subject authenticated, he/she must now be asked if\nthe OAuth 2.0 Client which initiated the flow should be allowed to access the\nresources on the subject's behalf."),Object(b.b)("p",null,'The consent provider which handles this request and is a web app implemented and\nhosted by you. It shows a subject interface which asks the subject to grant or\ndeny the client access to the requested scope ("Application my-dropbox-app wants\nwrite access to all your private files").'),Object(b.b)("p",null,"The consent challenge is appended to the consent provider's URL to which the\nsubject's user-agent (browser) is redirected to. The consent provider uses that\nchallenge to fetch information on the OAuth2 request and then tells ORY Hydra if\nthe subject accepted or rejected the request."),Object(b.b)("p",null,"This endpoint tells ORY Hydra that the subject has authorized the OAuth 2.0\nclient to access resources on his/her behalf. The consent provider includes\nadditional information, such as session data for access and ID tokens, and if\nthe consent request should be used as basis for future requests."),Object(b.b)("p",null,"The response contains a redirect URL which the consent provider should redirect\nthe user-agent to."),Object(b.b)("h4",{id:"request-body-7"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "grant_access_token_audience": ["string"],\n  "grant_scope": ["string"],\n  "handled_at": "2020-04-22T10:17:29Z",\n  "remember": true,\n  "remember_for": 0,\n  "session": {\n    "access_token": {\n      "property1": {},\n      "property2": {}\n    },\n    "id_token": {\n      "property1": {},\n      "property2": {}\n    }\n  }\n}\n')),Object(b.b)("a",{id:"accept-a-consent-request-parameters"}),Object(b.b)("h5",{id:"parameters-15"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"consent_challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaacceptconsentrequest"}),"acceptConsentRequest")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-23"},"Responses"),Object(b.b)("a",{id:"accept-a-consent-request-responses"}),Object(b.b)("h5",{id:"overview-23"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"completedRequest"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemacompletedrequest"}),"completedRequest"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-21"},"Examples"),Object(b.b)("h6",{id:"200-response-14"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "redirect_to": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-23"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-acceptConsentRequest"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-acceptConsentRequest-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptConsentRequest-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptConsentRequest-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptConsentRequest-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptConsentRequest-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptConsentRequest-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-acceptConsentRequest-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X PUT /oauth2/auth/requests/consent/accept?consent_challenge=string \\\n  -H 'Content-Type: application/json' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptConsentRequest-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/json"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("PUT", "/oauth2/auth/requests/consent/accept", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptConsentRequest-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),'const fetch = require(\'node-fetch\');\nconst input = \'{\n  "grant_access_token_audience": [\n    "string"\n  ],\n  "grant_scope": [\n    "string"\n  ],\n  "handled_at": "2020-04-22T10:17:29Z",\n  "remember": true,\n  "remember_for": 0,\n  "session": {\n    "access_token": {\n      "property1": {},\n      "property2": {}\n    },\n    "id_token": {\n      "property1": {},\n      "property2": {}\n    }\n  }\n}\';\nconst headers = {\n  \'Content-Type\': \'application/json\',  \'Accept\': \'application/json\'\n}\n\nfetch(\'/oauth2/auth/requests/consent/accept?consent_challenge=string\', {\n  method: \'PUT\',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptConsentRequest-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/requests/consent/accept?consent_challenge=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("PUT");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptConsentRequest-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nr = requests.put(\n  '/oauth2/auth/requests/consent/accept',\n  params={\n    'consent_challenge': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptConsentRequest-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/json',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.put '/oauth2/auth/requests/consent/accept',\n  params: {\n    'consent_challenge' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdrejectConsentRequest"}),Object(b.b)("h3",{id:"reject-a-consent-request"},"Reject a consent request"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"PUT /oauth2/auth/requests/consent/reject?consent_challenge=string HTTP/1.1\nContent-Type: application/json\nAccept: application/json\n\n")),Object(b.b)("p",null,"When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY\nHydra asks the login provider to authenticate the subject and then tell ORY\nHydra now about it. If the subject authenticated, he/she must now be asked if\nthe OAuth 2.0 Client which initiated the flow should be allowed to access the\nresources on the subject's behalf."),Object(b.b)("p",null,'The consent provider which handles this request and is a web app implemented and\nhosted by you. It shows a subject interface which asks the subject to grant or\ndeny the client access to the requested scope ("Application my-dropbox-app wants\nwrite access to all your private files").'),Object(b.b)("p",null,"The consent challenge is appended to the consent provider's URL to which the\nsubject's user-agent (browser) is redirected to. The consent provider uses that\nchallenge to fetch information on the OAuth2 request and then tells ORY Hydra if\nthe subject accepted or rejected the request."),Object(b.b)("p",null,"This endpoint tells ORY Hydra that the subject has not authorized the OAuth 2.0\nclient to access resources on his/her behalf. The consent provider must include\na reason why the consent was not granted."),Object(b.b)("p",null,"The response contains a redirect URL which the consent provider should redirect\nthe user-agent to."),Object(b.b)("h4",{id:"request-body-8"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "error": "string",\n  "error_debug": "string",\n  "error_description": "string",\n  "error_hint": "string",\n  "status_code": 0\n}\n')),Object(b.b)("a",{id:"reject-a-consent-request-parameters"}),Object(b.b)("h5",{id:"parameters-16"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"consent_challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemarejectrequest"}),"rejectRequest")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-24"},"Responses"),Object(b.b)("a",{id:"reject-a-consent-request-responses"}),Object(b.b)("h5",{id:"overview-24"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"completedRequest"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemacompletedrequest"}),"completedRequest"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-22"},"Examples"),Object(b.b)("h6",{id:"200-response-15"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "redirect_to": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-24"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-rejectConsentRequest"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-rejectConsentRequest-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectConsentRequest-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectConsentRequest-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectConsentRequest-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectConsentRequest-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectConsentRequest-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-rejectConsentRequest-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X PUT /oauth2/auth/requests/consent/reject?consent_challenge=string \\\n  -H 'Content-Type: application/json' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectConsentRequest-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/json"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("PUT", "/oauth2/auth/requests/consent/reject", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectConsentRequest-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),'const fetch = require(\'node-fetch\');\nconst input = \'{\n  "error": "string",\n  "error_debug": "string",\n  "error_description": "string",\n  "error_hint": "string",\n  "status_code": 0\n}\';\nconst headers = {\n  \'Content-Type\': \'application/json\',  \'Accept\': \'application/json\'\n}\n\nfetch(\'/oauth2/auth/requests/consent/reject?consent_challenge=string\', {\n  method: \'PUT\',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectConsentRequest-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/requests/consent/reject?consent_challenge=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("PUT");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectConsentRequest-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nr = requests.put(\n  '/oauth2/auth/requests/consent/reject',\n  params={\n    'consent_challenge': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectConsentRequest-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/json',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.put '/oauth2/auth/requests/consent/reject',\n  params: {\n    'consent_challenge' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdgetLoginRequest"}),Object(b.b)("h3",{id:"get-a-login-request"},"Get a login request"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /oauth2/auth/requests/login?login_challenge=string HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,'When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY\nHydra asks the login provider (sometimes called "identity provider") to\nauthenticate the subject and then tell ORY Hydra now about it. The login\nprovider is an web-app you write and host, and it must be able to authenticate\n("show the subject a login screen") a subject (in OAuth2 the proper name for\nsubject is "resource owner").'),Object(b.b)("p",null,"The authentication challenge is appended to the login provider URL to which the\nsubject's user-agent (browser) is redirected to. The login provider uses that\nchallenge to fetch information on the OAuth2 request and then accept or reject\nthe requested authentication process."),Object(b.b)("a",{id:"get-a-login-request-parameters"}),Object(b.b)("h5",{id:"parameters-17"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"login_challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-25"},"Responses"),Object(b.b)("a",{id:"get-a-login-request-responses"}),Object(b.b)("h5",{id:"overview-25"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"loginRequest"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaloginrequest"}),"loginRequest"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"400"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.1"}),"Bad Request")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"409"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.8"}),"Conflict")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-23"},"Examples"),Object(b.b)("h6",{id:"200-response-16"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "challenge": "string",\n  "client": {\n    "allowed_cors_origins": ["string"],\n    "audience": ["string"],\n    "backchannel_logout_session_required": true,\n    "backchannel_logout_uri": "string",\n    "client_id": "string",\n    "client_name": "string",\n    "client_secret": "string",\n    "client_secret_expires_at": 0,\n    "client_uri": "string",\n    "contacts": ["string"],\n    "created_at": "2020-04-22T10:17:29Z",\n    "frontchannel_logout_session_required": true,\n    "frontchannel_logout_uri": "string",\n    "grant_types": ["string"],\n    "jwks": {},\n    "jwks_uri": "string",\n    "logo_uri": "string",\n    "metadata": {},\n    "owner": "string",\n    "policy_uri": "string",\n    "post_logout_redirect_uris": ["string"],\n    "redirect_uris": ["string"],\n    "request_object_signing_alg": "string",\n    "request_uris": ["string"],\n    "response_types": ["string"],\n    "scope": "string",\n    "sector_identifier_uri": "string",\n    "subject_type": "string",\n    "token_endpoint_auth_method": "string",\n    "tos_uri": "string",\n    "updated_at": "2020-04-22T10:17:29Z",\n    "userinfo_signed_response_alg": "string"\n  },\n  "oidc_context": {\n    "acr_values": ["string"],\n    "display": "string",\n    "id_token_hint_claims": {\n      "property1": {},\n      "property2": {}\n    },\n    "login_hint": "string",\n    "ui_locales": ["string"]\n  },\n  "request_url": "string",\n  "requested_access_token_audience": ["string"],\n  "requested_scope": ["string"],\n  "session_id": "string",\n  "skip": true,\n  "subject": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-25"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-getLoginRequest"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-getLoginRequest-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getLoginRequest-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getLoginRequest-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getLoginRequest-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getLoginRequest-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getLoginRequest-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-getLoginRequest-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /oauth2/auth/requests/login?login_challenge=string \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getLoginRequest-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/oauth2/auth/requests/login", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getLoginRequest-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/oauth2/auth/requests/login?login_challenge=string', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getLoginRequest-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/requests/login?login_challenge=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getLoginRequest-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/oauth2/auth/requests/login',\n  params={\n    'login_challenge': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getLoginRequest-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/oauth2/auth/requests/login',\n  params: {\n    'login_challenge' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdacceptLoginRequest"}),Object(b.b)("h3",{id:"accept-a-login-request"},"Accept a login request"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"PUT /oauth2/auth/requests/login/accept?login_challenge=string HTTP/1.1\nContent-Type: application/json\nAccept: application/json\n\n")),Object(b.b)("p",null,'When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY\nHydra asks the login provider (sometimes called "identity provider") to\nauthenticate the subject and then tell ORY Hydra now about it. The login\nprovider is an web-app you write and host, and it must be able to authenticate\n("show the subject a login screen") a subject (in OAuth2 the proper name for\nsubject is "resource owner").'),Object(b.b)("p",null,"The authentication challenge is appended to the login provider URL to which the\nsubject's user-agent (browser) is redirected to. The login provider uses that\nchallenge to fetch information on the OAuth2 request and then accept or reject\nthe requested authentication process."),Object(b.b)("p",null,"This endpoint tells ORY Hydra that the subject has successfully authenticated\nand includes additional information such as the subject's ID and if ORY Hydra\nshould remember the subject's subject agent for future authentication attempts\nby setting a cookie."),Object(b.b)("p",null,"The response contains a redirect URL which the login provider should redirect\nthe user-agent to."),Object(b.b)("h4",{id:"request-body-9"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "acr": "string",\n  "context": {},\n  "force_subject_identifier": "string",\n  "remember": true,\n  "remember_for": 0,\n  "subject": "string"\n}\n')),Object(b.b)("a",{id:"accept-a-login-request-parameters"}),Object(b.b)("h5",{id:"parameters-18"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"login_challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaacceptloginrequest"}),"acceptLoginRequest")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-26"},"Responses"),Object(b.b)("a",{id:"accept-a-login-request-responses"}),Object(b.b)("h5",{id:"overview-26"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"completedRequest"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemacompletedrequest"}),"completedRequest"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-24"},"Examples"),Object(b.b)("h6",{id:"200-response-17"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "redirect_to": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-26"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-acceptLoginRequest"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-acceptLoginRequest-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptLoginRequest-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptLoginRequest-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptLoginRequest-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptLoginRequest-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptLoginRequest-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-acceptLoginRequest-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X PUT /oauth2/auth/requests/login/accept?login_challenge=string \\\n  -H 'Content-Type: application/json' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptLoginRequest-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/json"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("PUT", "/oauth2/auth/requests/login/accept", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptLoginRequest-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),'const fetch = require(\'node-fetch\');\nconst input = \'{\n  "acr": "string",\n  "context": {},\n  "force_subject_identifier": "string",\n  "remember": true,\n  "remember_for": 0,\n  "subject": "string"\n}\';\nconst headers = {\n  \'Content-Type\': \'application/json\',  \'Accept\': \'application/json\'\n}\n\nfetch(\'/oauth2/auth/requests/login/accept?login_challenge=string\', {\n  method: \'PUT\',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptLoginRequest-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/requests/login/accept?login_challenge=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("PUT");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptLoginRequest-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nr = requests.put(\n  '/oauth2/auth/requests/login/accept',\n  params={\n    'login_challenge': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptLoginRequest-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/json',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.put '/oauth2/auth/requests/login/accept',\n  params: {\n    'login_challenge' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdrejectLoginRequest"}),Object(b.b)("h3",{id:"reject-a-login-request"},"Reject a login request"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"PUT /oauth2/auth/requests/login/reject?login_challenge=string HTTP/1.1\nContent-Type: application/json\nAccept: application/json\n\n")),Object(b.b)("p",null,'When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY\nHydra asks the login provider (sometimes called "identity provider") to\nauthenticate the subject and then tell ORY Hydra now about it. The login\nprovider is an web-app you write and host, and it must be able to authenticate\n("show the subject a login screen") a subject (in OAuth2 the proper name for\nsubject is "resource owner").'),Object(b.b)("p",null,"The authentication challenge is appended to the login provider URL to which the\nsubject's user-agent (browser) is redirected to. The login provider uses that\nchallenge to fetch information on the OAuth2 request and then accept or reject\nthe requested authentication process."),Object(b.b)("p",null,"This endpoint tells ORY Hydra that the subject has not authenticated and\nincludes a reason why the authentication was be denied."),Object(b.b)("p",null,"The response contains a redirect URL which the login provider should redirect\nthe user-agent to."),Object(b.b)("h4",{id:"request-body-10"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "error": "string",\n  "error_debug": "string",\n  "error_description": "string",\n  "error_hint": "string",\n  "status_code": 0\n}\n')),Object(b.b)("a",{id:"reject-a-login-request-parameters"}),Object(b.b)("h5",{id:"parameters-19"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"login_challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemarejectrequest"}),"rejectRequest")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-27"},"Responses"),Object(b.b)("a",{id:"reject-a-login-request-responses"}),Object(b.b)("h5",{id:"overview-27"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"completedRequest"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemacompletedrequest"}),"completedRequest"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-25"},"Examples"),Object(b.b)("h6",{id:"200-response-18"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "redirect_to": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-27"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-rejectLoginRequest"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-rejectLoginRequest-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectLoginRequest-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectLoginRequest-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectLoginRequest-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectLoginRequest-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectLoginRequest-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-rejectLoginRequest-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X PUT /oauth2/auth/requests/login/reject?login_challenge=string \\\n  -H 'Content-Type: application/json' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectLoginRequest-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/json"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("PUT", "/oauth2/auth/requests/login/reject", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectLoginRequest-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),'const fetch = require(\'node-fetch\');\nconst input = \'{\n  "error": "string",\n  "error_debug": "string",\n  "error_description": "string",\n  "error_hint": "string",\n  "status_code": 0\n}\';\nconst headers = {\n  \'Content-Type\': \'application/json\',  \'Accept\': \'application/json\'\n}\n\nfetch(\'/oauth2/auth/requests/login/reject?login_challenge=string\', {\n  method: \'PUT\',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectLoginRequest-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/requests/login/reject?login_challenge=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("PUT");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectLoginRequest-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nr = requests.put(\n  '/oauth2/auth/requests/login/reject',\n  params={\n    'login_challenge': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectLoginRequest-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/json',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.put '/oauth2/auth/requests/login/reject',\n  params: {\n    'login_challenge' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdgetLogoutRequest"}),Object(b.b)("h3",{id:"get-a-logout-request"},"Get a logout request"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /oauth2/auth/requests/logout?logout_challenge=string HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"Use this endpoint to fetch a logout request."),Object(b.b)("a",{id:"get-a-logout-request-parameters"}),Object(b.b)("h5",{id:"parameters-20"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"logout_challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-28"},"Responses"),Object(b.b)("a",{id:"get-a-logout-request-responses"}),Object(b.b)("h5",{id:"overview-28"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"logoutRequest"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemalogoutrequest"}),"logoutRequest"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-26"},"Examples"),Object(b.b)("h6",{id:"200-response-19"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "request_url": "string",\n  "rp_initiated": true,\n  "sid": "string",\n  "subject": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-28"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-getLogoutRequest"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-getLogoutRequest-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getLogoutRequest-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getLogoutRequest-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getLogoutRequest-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getLogoutRequest-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getLogoutRequest-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-getLogoutRequest-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /oauth2/auth/requests/logout?logout_challenge=string \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getLogoutRequest-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/oauth2/auth/requests/logout", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getLogoutRequest-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/oauth2/auth/requests/logout?logout_challenge=string', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getLogoutRequest-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/requests/logout?logout_challenge=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getLogoutRequest-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/oauth2/auth/requests/logout',\n  params={\n    'logout_challenge': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getLogoutRequest-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/oauth2/auth/requests/logout',\n  params: {\n    'logout_challenge' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdacceptLogoutRequest"}),Object(b.b)("h3",{id:"accept-a-logout-request"},"Accept a logout request"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"PUT /oauth2/auth/requests/logout/accept?logout_challenge=string HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"When a user or an application requests ORY Hydra to log out a user, this\nendpoint is used to confirm that logout request. No body is required."),Object(b.b)("p",null,"The response contains a redirect URL which the consent provider should redirect\nthe user-agent to."),Object(b.b)("a",{id:"accept-a-logout-request-parameters"}),Object(b.b)("h5",{id:"parameters-21"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"logout_challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-29"},"Responses"),Object(b.b)("a",{id:"accept-a-logout-request-responses"}),Object(b.b)("h5",{id:"overview-29"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"completedRequest"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemacompletedrequest"}),"completedRequest"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-27"},"Examples"),Object(b.b)("h6",{id:"200-response-20"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "redirect_to": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-29"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-acceptLogoutRequest"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-acceptLogoutRequest-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptLogoutRequest-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptLogoutRequest-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptLogoutRequest-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptLogoutRequest-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-acceptLogoutRequest-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-acceptLogoutRequest-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X PUT /oauth2/auth/requests/logout/accept?logout_challenge=string \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptLogoutRequest-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("PUT", "/oauth2/auth/requests/logout/accept", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptLogoutRequest-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/oauth2/auth/requests/logout/accept?logout_challenge=string', {\n  method: 'PUT',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptLogoutRequest-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/requests/logout/accept?logout_challenge=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("PUT");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptLogoutRequest-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.put(\n  '/oauth2/auth/requests/logout/accept',\n  params={\n    'logout_challenge': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-acceptLogoutRequest-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.put '/oauth2/auth/requests/logout/accept',\n  params: {\n    'logout_challenge' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdrejectLogoutRequest"}),Object(b.b)("h3",{id:"reject-a-logout-request"},"Reject a logout request"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"PUT /oauth2/auth/requests/logout/reject?logout_challenge=string HTTP/1.1\nContent-Type: application/json\nAccept: application/json\n\n")),Object(b.b)("p",null,"When a user or an application requests ORY Hydra to log out a user, this\nendpoint is used to deny that logout request. No body is required."),Object(b.b)("p",null,"The response is empty as the logout provider has to chose what action to perform\nnext."),Object(b.b)("h4",{id:"request-body-11"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "error": "string",\n  "error_debug": "string",\n  "error_description": "string",\n  "error_hint": "string",\n  "status_code": 0\n}\n')),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-yaml"}),"error: string\nerror_debug: string\nerror_description: string\nerror_hint: string\nstatus_code: 0\n")),Object(b.b)("a",{id:"reject-a-logout-request-parameters"}),Object(b.b)("h5",{id:"parameters-22"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"logout_challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemarejectrequest"}),"rejectRequest")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-30"},"Responses"),Object(b.b)("a",{id:"reject-a-logout-request-responses"}),Object(b.b)("h5",{id:"overview-30"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"204"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.5"}),"No Content")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"typically 201."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"None"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null})),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-28"},"Examples"),Object(b.b)("h6",{id:"404-response-1"},"404 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "debug": "The database adapter was unable to find the element",\n  "error": "The requested resource could not be found",\n  "error_description": "Object with ID 12345 does not exist",\n  "status_code": 404\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-30"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-rejectLogoutRequest"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-rejectLogoutRequest-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectLogoutRequest-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectLogoutRequest-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectLogoutRequest-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectLogoutRequest-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-rejectLogoutRequest-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-rejectLogoutRequest-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X PUT /oauth2/auth/requests/logout/reject?logout_challenge=string \\\n  -H 'Content-Type: application/json' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectLogoutRequest-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/json"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("PUT", "/oauth2/auth/requests/logout/reject", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectLogoutRequest-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),'const fetch = require(\'node-fetch\');\nconst input = \'{\n  "error": "string",\n  "error_debug": "string",\n  "error_description": "string",\n  "error_hint": "string",\n  "status_code": 0\n}\';\nconst headers = {\n  \'Content-Type\': \'application/json\',  \'Accept\': \'application/json\'\n}\n\nfetch(\'/oauth2/auth/requests/logout/reject?logout_challenge=string\', {\n  method: \'PUT\',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectLogoutRequest-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/requests/logout/reject?logout_challenge=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("PUT");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectLogoutRequest-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nr = requests.put(\n  '/oauth2/auth/requests/logout/reject',\n  params={\n    'logout_challenge': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-rejectLogoutRequest-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/json',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.put '/oauth2/auth/requests/logout/reject',\n  params: {\n    'logout_challenge' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdlistSubjectConsentSessions"}),Object(b.b)("h3",{id:"lists-all-consent-sessions-of-a-subject"},"Lists all consent sessions of a subject"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /oauth2/auth/sessions/consent?subject=string HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint lists all subject's granted consent sessions, including client and\ngranted scope. The \"Link\" header is also included in successful responses, which\ncontains one or more links for pagination, formatted like so:\n'",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"https://hydra-url/admin/oauth2/auth/sessions/consent?subject=%7Buser%7D&limit=%7Blimit%7D&offset=%7Boffset%7D"}),"https://hydra-url/admin/oauth2/auth/sessions/consent?subject={user}&limit={limit}&offset={offset}"),";\nrel=\"{page}\"', where page is one of the following applicable pages: 'first',\n'next', 'last', and 'previous'. Multiple links can be included in this header,\nand will be separated by a comma."),Object(b.b)("a",{id:"lists-all-consent-sessions-of-a-subject-parameters"}),Object(b.b)("h5",{id:"parameters-23"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"subject"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-31"},"Responses"),Object(b.b)("a",{id:"lists-all-consent-sessions-of-a-subject-responses"}),Object(b.b)("h5",{id:"overview-31"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"A list of used consent requests."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Inline")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"400"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.1"}),"Bad Request")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("a",{id:"lists-all-consent-sessions-of-a-subject-responseschema"}),Object(b.b)("h5",{id:"response-schema-1"},"Response Schema"),Object(b.b)("p",null,"Status Code ",Object(b.b)("strong",{parentName:"p"},"200")),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("em",{parentName:"td"},"anonymous")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[",Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemapreviousconsentsession"}),"PreviousConsentSession"),"]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[The response used to return used consent requests same as HandledLoginRequest, just with consent_request exposed as json]")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb consent_request"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaconsentrequest"}),"consentRequest")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb acr"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session. You can use it to express that, for example, a user authenticated using two factor authentication.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'Challenge is the identifier ("authorization challenge") of the consent authorization request. It is used to identify the session.')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb client"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2client"}),"oAuth2Client")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb allowed_cors_origins"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb audience"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb backchannel_logout_session_required"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the RP requires that a sid (session ID) Claim be included in the Logout Token to identify the RP session with the OP when the backchannel_logout_uri is used. If omitted, the default value is false.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb backchannel_logout_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RP URL that will cause the RP to log itself out when sent a Logout Token by the OP.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb client_id"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ClientID is the id for this client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb client_name"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Name is the human-readable string name of the client to be presented to the end-user during authorization.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb client_secret"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Secret is the client's secret. The secret will be included in the create request as cleartext, and then never again. The secret is stored using BCrypt so it is impossible to recover it. Tell your users that they need to write the secret down as it will not be made available again.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb client_secret_expires_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"SecretExpiresAt is an integer holding the time at which the client secret will expire or 0 if it will not expire. The time is represented as the number of seconds from 1970-01-01T00:00:00Z as measured in UTC until the date/time of expiration. This feature is currently not supported and it's value will always be set to 0.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb client_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ClientURI is an URL string of a web page providing information about the client. If present, the server SHOULD display this URL to the end-user in a clickable fashion.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb contacts"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb created_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string(date-time)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"CreatedAt returns the timestamp of the client's creation.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb frontchannel_logout_session_required"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the RP requires that iss (issuer) and sid (session ID) query parameters be included to identify the RP session with the OP when the frontchannel_logout_uri is used. If omitted, the default value is false.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb frontchannel_logout_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RP URL that will cause the RP to log itself out when rendered in an iframe by the OP. An iss (issuer) query parameter and a sid (session ID) query parameter MAY be included by the OP to enable the RP to validate the request and to determine which of the potentially multiple sessions is to be logged out; if either is included, both MUST be.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb grant_types"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb jwks"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajosejsonwebkeyset"}),"JoseJSONWebKeySet")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb jwks_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL for the Client's JSON Web Key Set ","[JWK]"," document. If the Client signs requests to the Server, it contains the signing key(s) the Server uses to validate signatures from the Client. The JWK Set MAY also contain the Client's encryption keys(s), which are used by the Server to encrypt responses to the Client. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb logo_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"LogoURI is an URL string that references a logo for the client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb metadata"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonrawmessage"}),"JSONRawMessage")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb owner"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Owner is a string identifying the owner of the OAuth 2.0 Client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb policy_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"PolicyURI is a URL string that points to a human-readable privacy policy document that describes how the deployment organization collects, uses, retains, and discloses personal data.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb post_logout_redirect_uris"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb redirect_uris"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb request_object_signing_alg"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JWS ","[JWS]"," alg algorithm ","[JWA]"," that MUST be used for signing Request Objects sent to the OP. All Request Objects from this Client MUST be rejected, if not signed with this algorithm.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb request_uris"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb response_types"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 ","[RFC6749]",") that the client can use when requesting access tokens.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb sector_identifier_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP. The URL references a file with a single JSON array of redirect_uri values.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb subject_type"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include ",Object(b.b)("inlineCode",{parentName:"td"},"pairwise")," and ",Object(b.b)("inlineCode",{parentName:"td"},"public"),".")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb token_endpoint_auth_method"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb tos_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"TermsOfServiceURI is a URL string that points to a human-readable terms of service document for the client that describes a contractual relationship between the end-user and the client that the end-user accepts when authorizing the client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb updated_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string(date-time)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"UpdatedAt returns the timestamp of the last update.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb userinfo_signed_response_alg"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JWS alg algorithm ","[JWA]"," REQUIRED for signing UserInfo Responses. If this is specified, the response will be JWT ","[JWT]"," serialized, and signed using JWS. The default, if omitted, is for the UserInfo Response to return the Claims as a UTF-8 encoded JSON object using the application/json content-type.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb context"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonrawmessage"}),"JSONRawMessage")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb login_challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"LoginChallenge is the login challenge this consent challenge belongs to. It can be used to associate a login and consent request in the login & consent app.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb login_session_id"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'LoginSessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag) this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false) this will be a new random value. This value is used as the "sid" parameter in the ID Token and in OIDC Front-/Back- channel logout. It\'s value can generally be used to associate consecutive login requests by a certain user.')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb oidc_context"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaopenidconnectcontext"}),"openIDConnectContext")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb acr_values"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ACRValues is the Authentication AuthorizationContext Class Reference requested in the OAuth 2.0 Authorization request. It is a parameter defined by OpenID Connect and expresses which level of authentication (e.g. 2FA) is required. OpenID Connect defines it as follows: > Requested Authentication AuthorizationContext Class Reference values. Space-separated string that specifies the acr values that the Authorization Server is being requested to use for processing this Authentication Request, with the values appearing in order of preference. The Authentication AuthorizationContext Class satisfied by the authentication performed is returned as the acr Claim Value, as specified in Section 2. The acr Claim is requested as a Voluntary Claim by this parameter.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb display"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'Display is a string value that specifies how the Authorization Server displays the authentication and consent user interface pages to the End-User. The defined values are: page: The Authorization Server SHOULD display the authentication and consent UI consistent with a full User Agent page view. If the display parameter is not specified, this is the default display mode. popup: The Authorization Server SHOULD display the authentication and consent UI consistent with a popup User Agent window. The popup User Agent window should be of an appropriate size for a login-focused dialog and should not obscure the entire window that it is popping up over. touch: The Authorization Server SHOULD display the authentication and consent UI consistent with a device that leverages a touch interface. wap: The Authorization Server SHOULD display the authentication and consent UI consistent with a "feature phone" type display. The Authorization Server MAY also attempt to detect the capabilities of the User Agent and present an appropriate display.')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb id_token_hint_claims"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"IDTokenHintClaims are the claims of the ID Token previously issued by the Authorization Server being passed as a hint about the End-User's current or past authenticated session with the Client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb\xbb ",Object(b.b)("strong",{parentName:"td"},"additionalProperties")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb login_hint"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"LoginHint hints about the login identifier the End-User might use to log in (if necessary). This hint can be used by an RP if it first asks the End-User for their e-mail address (or other identifier) and then wants to pass that value as a hint to the discovered authorization service. This value MAY also be a phone number in the format specified for the phone_number Claim. The use of this parameter is optional.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb ui_locales"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"UILocales is the End-User'id preferred languages and scripts for the user interface, represented as a space-separated list of BCP47 ","[RFC5646]",' language tag values, ordered by preference. For instance, the value "fr-CA fr en" represents a preference for French as spoken in Canada, then French (without a region designation), followed by English (without a region designation). An error SHOULD NOT result if some or all of the requested locales are not supported by the OpenID Provider.')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb request_url"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but might come in handy if you want to deal with additional request parameters.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb requested_access_token_audience"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb requested_scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb skip"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Skip, if true, implies that the client has requested the same scopes from the same user previously. If true, you must not ask the user to grant the requested scopes. You must however either allow or deny the consent request using the usual API call.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb subject"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope requested by the OAuth 2.0 client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb grant_access_token_audience"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb grant_scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb handled_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemanulltime"}),"NullTime"),"(date-time)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb remember"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Remember, if set to true, tells ORY Hydra to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb remember_for"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RememberFor sets how long the consent authorization should be remembered for in seconds. If set to ",Object(b.b)("inlineCode",{parentName:"td"},"0"),", the authorization will be remembered indefinitely.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb session"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaconsentrequestsession"}),"consentRequestSession")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb access_token"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"AccessToken sets session data for the access and refresh token, as well as any future tokens issued by the refresh grant. Keep in mind that this data will be available to anyone performing OAuth 2.0 Challenge Introspection. If only your services can perform OAuth 2.0 Challenge Introspection, this is usually fine. But if third parties can access that endpoint as well, sensitive data from the session might be exposed to them. Use with care!")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb ",Object(b.b)("strong",{parentName:"td"},"additionalProperties")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb id_token"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"IDToken sets session data for the OpenID Connect ID token. Keep in mind that the session'id payloads are readable by anyone that has access to the ID Challenge. Use with care!")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb\xbb\xbb ",Object(b.b)("strong",{parentName:"td"},"additionalProperties")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h5",{id:"examples-29"},"Examples"),Object(b.b)("h6",{id:"200-response-21"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'[\n  {\n    "consent_request": {\n      "acr": "string",\n      "challenge": "string",\n      "client": {\n        "allowed_cors_origins": ["string"],\n        "audience": ["string"],\n        "backchannel_logout_session_required": true,\n        "backchannel_logout_uri": "string",\n        "client_id": "string",\n        "client_name": "string",\n        "client_secret": "string",\n        "client_secret_expires_at": 0,\n        "client_uri": "string",\n        "contacts": ["string"],\n        "created_at": "2020-04-22T10:17:29Z",\n        "frontchannel_logout_session_required": true,\n        "frontchannel_logout_uri": "string",\n        "grant_types": ["string"],\n        "jwks": {},\n        "jwks_uri": "string",\n        "logo_uri": "string",\n        "metadata": {},\n        "owner": "string",\n        "policy_uri": "string",\n        "post_logout_redirect_uris": ["string"],\n        "redirect_uris": ["string"],\n        "request_object_signing_alg": "string",\n        "request_uris": ["string"],\n        "response_types": ["string"],\n        "scope": "string",\n        "sector_identifier_uri": "string",\n        "subject_type": "string",\n        "token_endpoint_auth_method": "string",\n        "tos_uri": "string",\n        "updated_at": "2020-04-22T10:17:29Z",\n        "userinfo_signed_response_alg": "string"\n      },\n      "context": {},\n      "login_challenge": "string",\n      "login_session_id": "string",\n      "oidc_context": {\n        "acr_values": ["string"],\n        "display": "string",\n        "id_token_hint_claims": {\n          "property1": {},\n          "property2": {}\n        },\n        "login_hint": "string",\n        "ui_locales": ["string"]\n      },\n      "request_url": "string",\n      "requested_access_token_audience": ["string"],\n      "requested_scope": ["string"],\n      "skip": true,\n      "subject": "string"\n    },\n    "grant_access_token_audience": ["string"],\n    "grant_scope": ["string"],\n    "handled_at": "2020-04-22T10:17:29Z",\n    "remember": true,\n    "remember_for": 0,\n    "session": {\n      "access_token": {\n        "property1": {},\n        "property2": {}\n      },\n      "id_token": {\n        "property1": {},\n        "property2": {}\n      }\n    }\n  }\n]\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-31"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-listSubjectConsentSessions"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-listSubjectConsentSessions-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-listSubjectConsentSessions-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-listSubjectConsentSessions-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-listSubjectConsentSessions-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-listSubjectConsentSessions-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-listSubjectConsentSessions-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-listSubjectConsentSessions-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /oauth2/auth/sessions/consent?subject=string \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-listSubjectConsentSessions-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/oauth2/auth/sessions/consent", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-listSubjectConsentSessions-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/oauth2/auth/sessions/consent?subject=string', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-listSubjectConsentSessions-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/sessions/consent?subject=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-listSubjectConsentSessions-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/oauth2/auth/sessions/consent',\n  params={\n    'subject': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-listSubjectConsentSessions-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/oauth2/auth/sessions/consent',\n  params: {\n    'subject' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdrevokeConsentSessions"}),Object(b.b)("h3",{id:"revokes-consent-sessions-of-a-subject-for-a-specific-oauth-20-client"},"Revokes consent sessions of a subject for a specific OAuth 2.0 Client"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"DELETE /oauth2/auth/sessions/consent?subject=string HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint revokes a subject's granted consent sessions for a specific OAuth\n2.0 Client and invalidates all associated OAuth 2.0 Access Tokens."),Object(b.b)("a",{id:"revokes-consent-sessions-of-a-subject-for-a-specific-oauth-2.0-client-parameters"}),Object(b.b)("h5",{id:"parameters-24"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"subject"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The subject (Subject) who's consent sessions should be deleted.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"client"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"If set, deletes only those consent sessions by the Subject that have been granted to the specified OAuth 2.0 Client ID")))),Object(b.b)("h4",{id:"responses-32"},"Responses"),Object(b.b)("a",{id:"revokes-consent-sessions-of-a-subject-for-a-specific-oauth-2.0-client-responses"}),Object(b.b)("h5",{id:"overview-32"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"204"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.5"}),"No Content")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"typically 201."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"None"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null})),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"400"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.1"}),"Bad Request")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-30"},"Examples"),Object(b.b)("h6",{id:"400-response"},"400 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "debug": "The database adapter was unable to find the element",\n  "error": "The requested resource could not be found",\n  "error_description": "Object with ID 12345 does not exist",\n  "status_code": 404\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-32"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-revokeConsentSessions"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-revokeConsentSessions-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeConsentSessions-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeConsentSessions-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeConsentSessions-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeConsentSessions-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeConsentSessions-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-revokeConsentSessions-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X DELETE /oauth2/auth/sessions/consent?subject=string \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeConsentSessions-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("DELETE", "/oauth2/auth/sessions/consent", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeConsentSessions-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/oauth2/auth/sessions/consent?subject=string', {\n  method: 'DELETE',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeConsentSessions-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/sessions/consent?subject=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("DELETE");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeConsentSessions-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.delete(\n  '/oauth2/auth/sessions/consent',\n  params={\n    'subject': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeConsentSessions-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.delete '/oauth2/auth/sessions/consent',\n  params: {\n    'subject' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdrevokeAuthenticationSession"}),Object(b.b)("h3",{id:"invalidates-all-login-sessions-of-a-certain-user"},"Invalidates all login sessions of a certain user"),Object(b.b)("p",null,"Invalidates a subject's authentication session"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"DELETE /oauth2/auth/sessions/login?subject=string HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint invalidates a subject's authentication session. After revoking the\nauthentication session, the subject has to re-authenticate at ORY Hydra. This\nendpoint does not invalidate any tokens and does not work with OpenID Connect\nFront- or Back-channel logout."),Object(b.b)("a",{id:"invalidates-all-login-sessions-of-a-certain-user\ninvalidates-a-subject's-authentication-session-parameters"}),Object(b.b)("h5",{id:"parameters-25"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"subject"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"query"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-33"},"Responses"),Object(b.b)("a",{id:"invalidates-all-login-sessions-of-a-certain-user\ninvalidates-a-subject's-authentication-session-responses"}),Object(b.b)("h5",{id:"overview-33"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"204"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.5"}),"No Content")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"typically 201."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"None"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null})),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"400"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.1"}),"Bad Request")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"404"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.5.4"}),"Not Found")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-31"},"Examples"),Object(b.b)("h6",{id:"400-response-1"},"400 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "debug": "The database adapter was unable to find the element",\n  "error": "The requested resource could not be found",\n  "error_description": "Object with ID 12345 does not exist",\n  "status_code": 404\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-33"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-revokeAuthenticationSession"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-revokeAuthenticationSession-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeAuthenticationSession-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeAuthenticationSession-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeAuthenticationSession-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeAuthenticationSession-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-revokeAuthenticationSession-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-revokeAuthenticationSession-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X DELETE /oauth2/auth/sessions/login?subject=string \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeAuthenticationSession-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("DELETE", "/oauth2/auth/sessions/login", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeAuthenticationSession-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/oauth2/auth/sessions/login?subject=string', {\n  method: 'DELETE',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeAuthenticationSession-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/auth/sessions/login?subject=string");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("DELETE");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeAuthenticationSession-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.delete(\n  '/oauth2/auth/sessions/login',\n  params={\n    'subject': 'string'},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-revokeAuthenticationSession-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.delete '/oauth2/auth/sessions/login',\n  params: {\n    'subject' => 'string'}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdflushInactiveOAuth2Tokens"}),Object(b.b)("h3",{id:"flush-expired-oauth2-access-tokens"},"Flush Expired OAuth2 Access Tokens"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"POST /oauth2/flush HTTP/1.1\nContent-Type: application/json\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint flushes expired OAuth2 access tokens from the database. You can\nset a time after which no tokens will be not be touched, in case you want to\nkeep recent tokens for auditing. Refresh tokens can not be flushed as they are\ndeleted automatically when performing the refresh flow."),Object(b.b)("h4",{id:"request-body-12"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "notAfter": "2020-04-22T10:17:29Z"\n}\n')),Object(b.b)("a",{id:"flush-expired-oauth2-access-tokens-parameters"}),Object(b.b)("h5",{id:"parameters-26"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaflushinactiveoauth2tokensrequest"}),"flushInactiveOAuth2TokensRequest")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("h4",{id:"responses-34"},"Responses"),Object(b.b)("a",{id:"flush-expired-oauth2-access-tokens-responses"}),Object(b.b)("h5",{id:"overview-34"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"204"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.5"}),"No Content")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"typically 201."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"None"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null})),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-32"},"Examples"),Object(b.b)("h6",{id:"401-response-4"},"401 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "debug": "The database adapter was unable to find the element",\n  "error": "The requested resource could not be found",\n  "error_description": "Object with ID 12345 does not exist",\n  "status_code": 404\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-34"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-flushInactiveOAuth2Tokens"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-flushInactiveOAuth2Tokens-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-flushInactiveOAuth2Tokens-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-flushInactiveOAuth2Tokens-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-flushInactiveOAuth2Tokens-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-flushInactiveOAuth2Tokens-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-flushInactiveOAuth2Tokens-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-flushInactiveOAuth2Tokens-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X POST /oauth2/flush \\\n  -H 'Content-Type: application/json' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-flushInactiveOAuth2Tokens-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/json"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("POST", "/oauth2/flush", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-flushInactiveOAuth2Tokens-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\nconst input = '{\n  \"notAfter\": \"2020-04-22T10:17:29Z\"\n}';\nconst headers = {\n  'Content-Type': 'application/json',  'Accept': 'application/json'\n}\n\nfetch('/oauth2/flush', {\n  method: 'POST',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-flushInactiveOAuth2Tokens-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/flush");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("POST");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-flushInactiveOAuth2Tokens-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nr = requests.post(\n  '/oauth2/flush',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-flushInactiveOAuth2Tokens-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/json',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.post '/oauth2/flush',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdintrospectOAuth2Token"}),Object(b.b)("h3",{id:"introspect-oauth2-tokens"},"Introspect OAuth2 tokens"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"POST /oauth2/introspect HTTP/1.1\nContent-Type: application/x-www-form-urlencoded\nAccept: application/json\n\n")),Object(b.b)("p",null,"The introspection endpoint allows to check if a token (both refresh and access)\nis active or not. An active token is neither expired nor revoked. If a token is\nactive, additional information on the token will be included. You can set\nadditional data for a token by setting ",Object(b.b)("inlineCode",{parentName:"p"},"accessTokenExtra")," during the consent\nflow."),Object(b.b)("p",null,"For more information\n",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.oauth.com/oauth2-servers/token-introspection-endpoint/"}),"read this blog post"),"."),Object(b.b)("h4",{id:"request-body-13"},"Request body"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-yaml"}),"token: string\nscope: string\n")),Object(b.b)("a",{id:"introspect-oauth2-tokens-parameters"}),Object(b.b)("h5",{id:"parameters-27"},"Parameters"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Parameter"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"In"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb token"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The string value of the token. For access tokens, this")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"body"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"An optional, space separated list of required scopes. If the access token was not granted one of the")))),Object(b.b)("h5",{id:"detailed-descriptions"},"Detailed descriptions"),Object(b.b)("p",null,Object(b.b)("strong",{parentName:"p"},"\xbb token"),': The string value of the token. For access tokens, this is the\n"access_token" value returned from the token endpoint defined in OAuth 2.0. For\nrefresh tokens, this is the "refresh_token" value returned.'),Object(b.b)("p",null,Object(b.b)("strong",{parentName:"p"},"\xbb scope"),": An optional, space separated list of required scopes. If the access\ntoken was not granted one of the scopes, the result of active will be false."),Object(b.b)("h4",{id:"responses-35"},"Responses"),Object(b.b)("a",{id:"introspect-oauth2-tokens-responses"}),Object(b.b)("h5",{id:"overview-35"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"oAuth2TokenIntrospection"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2tokenintrospection"}),"oAuth2TokenIntrospection"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"401"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7235#section-3.1"}),"Unauthorized")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"500"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.6.1"}),"Internal Server Error")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"genericError"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemagenericerror"}),"genericError"))))),Object(b.b)("h5",{id:"examples-33"},"Examples"),Object(b.b)("h6",{id:"200-response-22"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "active": true,\n  "aud": ["string"],\n  "client_id": "string",\n  "exp": 0,\n  "ext": {\n    "property1": {},\n    "property2": {}\n  },\n  "iat": 0,\n  "iss": "string",\n  "nbf": 0,\n  "obfuscated_subject": "string",\n  "scope": "string",\n  "sub": "string",\n  "token_type": "string",\n  "username": "string"\n}\n')),Object(b.b)("aside",{class:"warning"},"To perform this operation, you must be authenticated by means of one of the following methods: basic, oauth2"),Object(b.b)("h4",{id:"code-samples-35"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-introspectOAuth2Token"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-introspectOAuth2Token-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-introspectOAuth2Token-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-introspectOAuth2Token-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-introspectOAuth2Token-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-introspectOAuth2Token-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-introspectOAuth2Token-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-introspectOAuth2Token-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X POST /oauth2/introspect \\\n  -H 'Content-Type: application/x-www-form-urlencoded' \\  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-introspectOAuth2Token-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Content-Type": []string{"application/x-www-form-urlencoded"},\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("POST", "/oauth2/introspect", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-introspectOAuth2Token-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\nconst input = '{\n  \"token\": \"string\",\n  \"scope\": \"string\"\n}';\nconst headers = {\n  'Content-Type': 'application/x-www-form-urlencoded',  'Accept': 'application/json'\n}\n\nfetch('/oauth2/introspect', {\n  method: 'POST',\n  body: input,\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-introspectOAuth2Token-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/oauth2/introspect");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("POST");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-introspectOAuth2Token-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Content-Type': 'application/x-www-form-urlencoded',\n  'Accept': 'application/json'\n}\n\nr = requests.post(\n  '/oauth2/introspect',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-introspectOAuth2Token-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' => 'application/x-www-form-urlencoded',\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.post '/oauth2/introspect',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("a",{id:"opIdgetVersion"}),Object(b.b)("h3",{id:"get-service-version"},"Get service version"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{}),"GET /version HTTP/1.1\nAccept: application/json\n\n")),Object(b.b)("p",null,"This endpoint returns the service version typically notated using semantic\nversioning."),Object(b.b)("p",null,"If the service supports TLS Edge Termination, this endpoint does not require the\n",Object(b.b)("inlineCode",{parentName:"p"},"X-Forwarded-Proto")," header to be set."),Object(b.b)("h4",{id:"responses-36"},"Responses"),Object(b.b)("a",{id:"get-service-version-responses"}),Object(b.b)("h5",{id:"overview-36"},"Overview"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Status"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Meaning"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Schema"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"200"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"https://tools.ietf.org/html/rfc7231#section-6.3.1"}),"OK")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"version"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaversion"}),"version"))))),Object(b.b)("h5",{id:"examples-34"},"Examples"),Object(b.b)("h6",{id:"200-response-23"},"200 response"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "version": "string"\n}\n')),Object(b.b)("aside",{class:"success"},"This operation does not require authentication"),Object(b.b)("h4",{id:"code-samples-36"},"Code samples"),Object(b.b)("div",{class:"tabs",id:"tab-getVersion"},Object(b.b)("nav",{class:"tabs-nav"},Object(b.b)("ul",{class:"nav nav-tabs au-link-list au-link-list--inline"},Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link active",role:"tab",href:"#tab-getVersion-shell"},"Shell")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getVersion-go"},"Go")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getVersion-node"},"Node.js")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getVersion-java"},"Java")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getVersion-python"},"Python")),Object(b.b)("li",{class:"nav-item"},Object(b.b)("a",{class:"nav-link",role:"tab",href:"#tab-getVersion-ruby"},"Ruby")))),Object(b.b)("div",{class:"tab-content"},Object(b.b)("div",{class:"tab-pane active",role:"tabpanel",id:"tab-getVersion-shell"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"curl -X GET /version \\\n  -H 'Accept: application/json'\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getVersion-go"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-go"}),'package main\n\nimport (\n    "bytes"\n    "net/http"\n)\n\nfunc main() {\n    headers := map[string][]string{\n        "Accept": []string{"application/json"},\n    }\n\n    var body []byte\n    // body = ...\n\n    req, err := http.NewRequest("GET", "/version", bytes.NewBuffer(body))\n    req.Header = headers\n\n    client := &http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getVersion-node"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-nodejs"}),"const fetch = require('node-fetch');\n\nconst headers = {\n  'Accept': 'application/json'\n}\n\nfetch('/version', {\n  method: 'GET',\n  headers\n})\n.then(r => r.json())\n.then((body) => {\n    console.log(body)\n})\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getVersion-java"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-java"}),'// This sample needs improvement.\nURL obj = new URL("/version");\n\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod("GET");\n\nint responseCode = con.getResponseCode();\n\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream())\n);\n\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\n\nSystem.out.println(response.toString());\n'))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getVersion-python"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"import requests\n\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get(\n  '/version',\n  params={},\n  headers = headers)\n\nprint r.json()\n"))),Object(b.b)("div",{class:"tab-pane",role:"tabpanel",id:"tab-getVersion-ruby"},Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-ruby"}),"require 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' => 'application/json'\n}\n\nresult = RestClient.get '/version',\n  params: {}, headers: headers\n\np JSON.parse(result)\n"))))),Object(b.b)("h2",{id:"schemas"},"Schemas"),Object(b.b)("a",{id:"tocSjsonrawmessage"},"JSONRawMessage"),Object(b.b)("h4",{id:"jsonrawmessage"},"JSONRawMessage"),Object(b.b)("a",{id:"schemajsonrawmessage"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),"{}\n")),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"JSONRawMessage represents a json.RawMessage that works well with JSON, SQL, and\nSwagger.")),Object(b.b)("h4",{id:"properties"},"Properties"),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"None")),Object(b.b)("a",{id:"tocSjsonwebkey"},"JSONWebKey"),Object(b.b)("h4",{id:"jsonwebkey"},"JSONWebKey"),Object(b.b)("a",{id:"schemajsonwebkey"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "alg": "RS256",\n  "crv": "P-256",\n  "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n  "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n  "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n  "e": "AQAB",\n  "k": "GawgguFyGrWKav7AX4VKUg",\n  "kid": "1603dfe0af8f4596",\n  "kty": "RSA",\n  "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n  "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n  "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n  "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n  "use": "sig",\n  "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n  "x5c": ["string"],\n  "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},'It is important that this model object is named JSONWebKey for "swagger\ngenerate spec" to generate only on definition of a JSONWebKey.')),Object(b.b)("h4",{id:"properties-1"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"alg"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'The "alg" (algorithm) parameter identifies the algorithm intended for use with the key. The values used should either be registered in the IANA "JSON Web Signature and Encryption Algorithms" registry established by ',"[JWA]"," or be a value that contains a Collision- Resistant Name.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"crv"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"d"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"dp"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"dq"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"e"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"k"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"kid"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'The "kid" (key ID) parameter is used to match a specific key. This is used, for instance, to choose among a set of keys within a JWK Set during key rollover. The structure of the "kid" value is unspecified. When "kid" values are used within a JWK Set, different keys within the JWK Set SHOULD use distinct "kid" values. (One example in which different keys might use the same "kid" value is if they have different "kty" (key type) values but are considered to be equivalent alternatives by the application using them.) The "kid" value is a case-sensitive string.')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"kty"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'The "kty" (key type) parameter identifies the cryptographic algorithm family used with the key, such as "RSA" or "EC". "kty" values should either be registered in the IANA "JSON Web Key Types" registry established by ',"[JWA]",' or be a value that contains a Collision- Resistant Name. The "kty" value is a case-sensitive string.')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"n"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"p"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"q"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"qi"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"use"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'Use ("public key use") identifies the intended use of the public key. The "use" parameter is employed to indicate whether a public key is used for encrypting data or verifying the signature on data. Values are commonly "sig" (signature) or "enc" (encryption).')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"x"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"x5c"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'The "x5c" (X.509 certificate chain) parameter contains a chain of one or more PKIX certificates ',"[RFC5280]",". The certificate chain is represented as a JSON array of certificate value strings. Each string in the array is a base64-encoded (Section 4 of ","[RFC4648]"," -- not base64url-encoded) DER ","[ITU.X690.1994]"," PKIX certificate value. The PKIX certificate containing the key value MUST be the first certificate.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"y"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("a",{id:"tocSjsonwebkeyset"},"JSONWebKeySet"),Object(b.b)("h4",{id:"jsonwebkeyset"},"JSONWebKeySet"),Object(b.b)("a",{id:"schemajsonwebkeyset"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "keys": [\n    {\n      "alg": "RS256",\n      "crv": "P-256",\n      "d": "T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE",\n      "dp": "G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0",\n      "dq": "s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk",\n      "e": "AQAB",\n      "k": "GawgguFyGrWKav7AX4VKUg",\n      "kid": "1603dfe0af8f4596",\n      "kty": "RSA",\n      "n": "vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0",\n      "p": "6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ",\n      "q": "0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ",\n      "qi": "GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU",\n      "use": "sig",\n      "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",\n      "x5c": ["string"],\n      "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"\n    }\n  ]\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},'It is important that this model object is named JSONWebKeySet for "swagger\ngenerate spec" to generate only on definition of a JSONWebKeySet. Since one with\nthe same name is previously defined as client.Client.JSONWebKeys and this one is\nlast, this one will be effectively written in the swagger spec.')),Object(b.b)("h4",{id:"properties-2"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"keys"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[",Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonwebkey"}),"JSONWebKey"),"]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'The value of the "keys" parameter is an array of JWK values. By default, the order of the JWK values within the array does not imply an order of preference among them, although applications of JWK Sets can choose to assign a meaning to the order for their purposes, if desired.')))),Object(b.b)("a",{id:"tocSjosejsonwebkeyset"},"JoseJSONWebKeySet"),Object(b.b)("h4",{id:"josejsonwebkeyset"},"JoseJSONWebKeySet"),Object(b.b)("a",{id:"schemajosejsonwebkeyset"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),"{}\n")),Object(b.b)("h4",{id:"properties-3"},"Properties"),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"None")),Object(b.b)("a",{id:"tocSnulltime"},"NullTime"),Object(b.b)("h4",{id:"nulltime"},"NullTime"),Object(b.b)("a",{id:"schemanulltime"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'"2020-04-22T10:17:29Z"\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"NullTime implements sql.NullTime functionality.")),Object(b.b)("h4",{id:"properties-4"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"NullTime implements sql.NullTime functionality."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string(date-time)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("a",{id:"tocSpreviousconsentsession"},"PreviousConsentSession"),Object(b.b)("h4",{id:"previousconsentsession"},"PreviousConsentSession"),Object(b.b)("a",{id:"schemapreviousconsentsession"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "consent_request": {\n    "acr": "string",\n    "challenge": "string",\n    "client": {\n      "allowed_cors_origins": ["string"],\n      "audience": ["string"],\n      "backchannel_logout_session_required": true,\n      "backchannel_logout_uri": "string",\n      "client_id": "string",\n      "client_name": "string",\n      "client_secret": "string",\n      "client_secret_expires_at": 0,\n      "client_uri": "string",\n      "contacts": ["string"],\n      "created_at": "2020-04-22T10:17:29Z",\n      "frontchannel_logout_session_required": true,\n      "frontchannel_logout_uri": "string",\n      "grant_types": ["string"],\n      "jwks": {},\n      "jwks_uri": "string",\n      "logo_uri": "string",\n      "metadata": {},\n      "owner": "string",\n      "policy_uri": "string",\n      "post_logout_redirect_uris": ["string"],\n      "redirect_uris": ["string"],\n      "request_object_signing_alg": "string",\n      "request_uris": ["string"],\n      "response_types": ["string"],\n      "scope": "string",\n      "sector_identifier_uri": "string",\n      "subject_type": "string",\n      "token_endpoint_auth_method": "string",\n      "tos_uri": "string",\n      "updated_at": "2020-04-22T10:17:29Z",\n      "userinfo_signed_response_alg": "string"\n    },\n    "context": {},\n    "login_challenge": "string",\n    "login_session_id": "string",\n    "oidc_context": {\n      "acr_values": ["string"],\n      "display": "string",\n      "id_token_hint_claims": {\n        "property1": {},\n        "property2": {}\n      },\n      "login_hint": "string",\n      "ui_locales": ["string"]\n    },\n    "request_url": "string",\n    "requested_access_token_audience": ["string"],\n    "requested_scope": ["string"],\n    "skip": true,\n    "subject": "string"\n  },\n  "grant_access_token_audience": ["string"],\n  "grant_scope": ["string"],\n  "handled_at": "2020-04-22T10:17:29Z",\n  "remember": true,\n  "remember_for": 0,\n  "session": {\n    "access_token": {\n      "property1": {},\n      "property2": {}\n    },\n    "id_token": {\n      "property1": {},\n      "property2": {}\n    }\n  }\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"The response used to return used consent requests same as HandledLoginRequest,\njust with consent_request exposed as json")),Object(b.b)("h4",{id:"properties-5"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"consent_request"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaconsentrequest"}),"consentRequest")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"grant_access_token_audience"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"grant_scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"handled_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemanulltime"}),"NullTime")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"remember"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Remember, if set to true, tells ORY Hydra to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"remember_for"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RememberFor sets how long the consent authorization should be remembered for in seconds. If set to ",Object(b.b)("inlineCode",{parentName:"td"},"0"),", the authorization will be remembered indefinitely.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"session"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaconsentrequestsession"}),"consentRequestSession")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("a",{id:"tocSstringslicepipedelimiter"},"StringSlicePipeDelimiter"),Object(b.b)("h4",{id:"stringslicepipedelimiter"},"StringSlicePipeDelimiter"),Object(b.b)("a",{id:"schemastringslicepipedelimiter"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'["string"]\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"StringSlicePipeDelimiter de/encodes the string slice to/from a SQL string.")),Object(b.b)("h4",{id:"properties-6"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"StringSlicePipeDelimiter de/encodes the string slice to/from a SQL string."),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("a",{id:"tocSacceptconsentrequest"},"acceptConsentRequest"),Object(b.b)("h4",{id:"acceptconsentrequest"},"acceptConsentRequest"),Object(b.b)("a",{id:"schemaacceptconsentrequest"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "grant_access_token_audience": ["string"],\n  "grant_scope": ["string"],\n  "handled_at": "2020-04-22T10:17:29Z",\n  "remember": true,\n  "remember_for": 0,\n  "session": {\n    "access_token": {\n      "property1": {},\n      "property2": {}\n    },\n    "id_token": {\n      "property1": {},\n      "property2": {}\n    }\n  }\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"The request payload used to accept a consent request.")),Object(b.b)("h4",{id:"properties-7"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"grant_access_token_audience"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"grant_scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"handled_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemanulltime"}),"NullTime")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"remember"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Remember, if set to true, tells ORY Hydra to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"remember_for"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RememberFor sets how long the consent authorization should be remembered for in seconds. If set to ",Object(b.b)("inlineCode",{parentName:"td"},"0"),", the authorization will be remembered indefinitely.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"session"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaconsentrequestsession"}),"consentRequestSession")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("a",{id:"tocSacceptloginrequest"},"acceptLoginRequest"),Object(b.b)("h4",{id:"acceptloginrequest"},"acceptLoginRequest"),Object(b.b)("a",{id:"schemaacceptloginrequest"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "acr": "string",\n  "context": {},\n  "force_subject_identifier": "string",\n  "remember": true,\n  "remember_for": 0,\n  "subject": "string"\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"HandledLoginRequest is the request payload used to accept a login request.")),Object(b.b)("h4",{id:"properties-8"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"acr"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ACR sets the Authentication AuthorizationContext Class Reference value for this authentication session. You can use it to express that, for example, a user authenticated using two factor authentication.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"context"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonrawmessage"}),"JSONRawMessage")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"force_subject_identifier"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'ForceSubjectIdentifier forces the "pairwise" user ID of the end-user that authenticated. The "pairwise" user ID refers to the (Pairwise Identifier Algorithm)',"[http://openid.net/specs/openid-connect-core-1_0.html#PairwiseAlg]",' of the OpenID Connect specification. It allows you to set an obfuscated subject ("user") identifier that is unique to the client. Please note that this changes the user ID on endpoint /userinfo and sub claim of the ID Token. It does not change the sub claim in the OAuth 2.0 Introspection. Per default, ORY Hydra handles this value with its own algorithm. In case you want to set this yourself you can use this field. Please note that setting this field has no effect if ',Object(b.b)("inlineCode",{parentName:"td"},"pairwise")," is not configured in ORY Hydra or the OAuth 2.0 Client does not expect a pairwise identifier (set via ",Object(b.b)("inlineCode",{parentName:"td"},"subject_type")," key in the client's configuration). Please also be aware that ORY Hydra is unable to properly compute this value during authentication. This implies that you have to compute this value on every authentication process (probably depending on the client ID or some other unique value). If you fail to compute the proper value, then authentication processes which have id_token_hint set might fail.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"remember"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Remember, if set to true, tells ORY Hydra to remember this user by telling the user agent (browser) to store a cookie with authentication data. If the same user performs another OAuth 2.0 Authorization Request, he/she will not be asked to log in again.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"remember_for"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RememberFor sets how long the authentication should be remembered for in seconds. If set to ",Object(b.b)("inlineCode",{parentName:"td"},"0"),", the authorization will be remembered for the duration of the browser session (using a session cookie).")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"subject"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Subject is the user ID of the end-user that authenticated.")))),Object(b.b)("a",{id:"tocScompletedrequest"},"completedRequest"),Object(b.b)("h4",{id:"completedrequest"},"completedRequest"),Object(b.b)("a",{id:"schemacompletedrequest"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "redirect_to": "string"\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"The response payload sent when accepting or rejecting a login or consent\nrequest.")),Object(b.b)("h4",{id:"properties-9"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"redirect_to"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RedirectURL is the URL which you should redirect the user to once the authentication process is completed.")))),Object(b.b)("a",{id:"tocSconsentrequest"},"consentRequest"),Object(b.b)("h4",{id:"consentrequest"},"consentRequest"),Object(b.b)("a",{id:"schemaconsentrequest"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "acr": "string",\n  "challenge": "string",\n  "client": {\n    "allowed_cors_origins": ["string"],\n    "audience": ["string"],\n    "backchannel_logout_session_required": true,\n    "backchannel_logout_uri": "string",\n    "client_id": "string",\n    "client_name": "string",\n    "client_secret": "string",\n    "client_secret_expires_at": 0,\n    "client_uri": "string",\n    "contacts": ["string"],\n    "created_at": "2020-04-22T10:17:29Z",\n    "frontchannel_logout_session_required": true,\n    "frontchannel_logout_uri": "string",\n    "grant_types": ["string"],\n    "jwks": {},\n    "jwks_uri": "string",\n    "logo_uri": "string",\n    "metadata": {},\n    "owner": "string",\n    "policy_uri": "string",\n    "post_logout_redirect_uris": ["string"],\n    "redirect_uris": ["string"],\n    "request_object_signing_alg": "string",\n    "request_uris": ["string"],\n    "response_types": ["string"],\n    "scope": "string",\n    "sector_identifier_uri": "string",\n    "subject_type": "string",\n    "token_endpoint_auth_method": "string",\n    "tos_uri": "string",\n    "updated_at": "2020-04-22T10:17:29Z",\n    "userinfo_signed_response_alg": "string"\n  },\n  "context": {},\n  "login_challenge": "string",\n  "login_session_id": "string",\n  "oidc_context": {\n    "acr_values": ["string"],\n    "display": "string",\n    "id_token_hint_claims": {\n      "property1": {},\n      "property2": {}\n    },\n    "login_hint": "string",\n    "ui_locales": ["string"]\n  },\n  "request_url": "string",\n  "requested_access_token_audience": ["string"],\n  "requested_scope": ["string"],\n  "skip": true,\n  "subject": "string"\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"Contains information on an ongoing consent request.")),Object(b.b)("h4",{id:"properties-10"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"acr"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session. You can use it to express that, for example, a user authenticated using two factor authentication.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'Challenge is the identifier ("authorization challenge") of the consent authorization request. It is used to identify the session.')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"client"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2client"}),"oAuth2Client")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"context"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonrawmessage"}),"JSONRawMessage")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"login_challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"LoginChallenge is the login challenge this consent challenge belongs to. It can be used to associate a login and consent request in the login & consent app.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"login_session_id"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'LoginSessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag) this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false) this will be a new random value. This value is used as the "sid" parameter in the ID Token and in OIDC Front-/Back- channel logout. It\'s value can generally be used to associate consecutive login requests by a certain user.')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"oidc_context"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaopenidconnectcontext"}),"openIDConnectContext")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"request_url"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but might come in handy if you want to deal with additional request parameters.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"requested_access_token_audience"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"requested_scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"skip"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Skip, if true, implies that the client has requested the same scopes from the same user previously. If true, you must not ask the user to grant the requested scopes. You must however either allow or deny the consent request using the usual API call.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"subject"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope requested by the OAuth 2.0 client.")))),Object(b.b)("a",{id:"tocSconsentrequestsession"},"consentRequestSession"),Object(b.b)("h4",{id:"consentrequestsession"},"consentRequestSession"),Object(b.b)("a",{id:"schemaconsentrequestsession"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "access_token": {\n    "property1": {},\n    "property2": {}\n  },\n  "id_token": {\n    "property1": {},\n    "property2": {}\n  }\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"Used to pass session data to a consent request.")),Object(b.b)("h4",{id:"properties-11"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"access_token"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"AccessToken sets session data for the access and refresh token, as well as any future tokens issued by the refresh grant. Keep in mind that this data will be available to anyone performing OAuth 2.0 Challenge Introspection. If only your services can perform OAuth 2.0 Challenge Introspection, this is usually fine. But if third parties can access that endpoint as well, sensitive data from the session might be exposed to them. Use with care!")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb ",Object(b.b)("strong",{parentName:"td"},"additionalProperties")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"id_token"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"IDToken sets session data for the OpenID Connect ID token. Keep in mind that the session'id payloads are readable by anyone that has access to the ID Challenge. Use with care!")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb ",Object(b.b)("strong",{parentName:"td"},"additionalProperties")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("a",{id:"tocSflushinactiveoauth2tokensrequest"},"flushInactiveOAuth2TokensRequest"),Object(b.b)("h4",{id:"flushinactiveoauth2tokensrequest"},"flushInactiveOAuth2TokensRequest"),Object(b.b)("a",{id:"schemaflushinactiveoauth2tokensrequest"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "notAfter": "2020-04-22T10:17:29Z"\n}\n')),Object(b.b)("h4",{id:"properties-12"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"notAfter"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string(date-time)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"NotAfter sets after which point tokens should not be flushed. This is useful when you want to keep a history of recently issued tokens for auditing.")))),Object(b.b)("a",{id:"tocSgenericerror"},"genericError"),Object(b.b)("h4",{id:"genericerror"},"genericError"),Object(b.b)("a",{id:"schemagenericerror"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "debug": "The database adapter was unable to find the element",\n  "error": "The requested resource could not be found",\n  "error_description": "Object with ID 12345 does not exist",\n  "status_code": 404\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"Error response")),Object(b.b)("h4",{id:"properties-13"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"debug"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Debug contains debug information. This is usually not available and has to be enabled.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"error"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Name is the error name.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"error_description"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Description contains further information on the nature of the error.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"status_code"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Code represents the error status code (404, 403, 401, ...).")))),Object(b.b)("a",{id:"tocShealthnotreadystatus"},"healthNotReadyStatus"),Object(b.b)("h4",{id:"healthnotreadystatus"},"healthNotReadyStatus"),Object(b.b)("a",{id:"schemahealthnotreadystatus"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "errors": {\n    "property1": "string",\n    "property2": "string"\n  }\n}\n')),Object(b.b)("h4",{id:"properties-14"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"errors"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Errors contains a list of errors that caused the not ready status.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb ",Object(b.b)("strong",{parentName:"td"},"additionalProperties")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("a",{id:"tocShealthstatus"},"healthStatus"),Object(b.b)("h4",{id:"healthstatus"},"healthStatus"),Object(b.b)("a",{id:"schemahealthstatus"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "status": "string"\n}\n')),Object(b.b)("h4",{id:"properties-15"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"status"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'Status always contains "ok".')))),Object(b.b)("a",{id:"tocSjsonwebkeysetgeneratorrequest"},"jsonWebKeySetGeneratorRequest"),Object(b.b)("h4",{id:"jsonwebkeysetgeneratorrequest"},"jsonWebKeySetGeneratorRequest"),Object(b.b)("a",{id:"schemajsonwebkeysetgeneratorrequest"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "alg": "string",\n  "kid": "string",\n  "use": "string"\n}\n')),Object(b.b)("h4",{id:"properties-16"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"alg"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'The algorithm to be used for creating the key. Supports "RS256", "ES512", "HS512", and "HS256"')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"kid"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"The kid of the key to be created")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"use"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'The "use" (public key use) parameter identifies the intended use of the public key. The "use" parameter is employed to indicate whether a public key is used for encrypting data or verifying the signature on data. Valid values are "enc" and "sig".')))),Object(b.b)("a",{id:"tocSloginrequest"},"loginRequest"),Object(b.b)("h4",{id:"loginrequest"},"loginRequest"),Object(b.b)("a",{id:"schemaloginrequest"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "challenge": "string",\n  "client": {\n    "allowed_cors_origins": ["string"],\n    "audience": ["string"],\n    "backchannel_logout_session_required": true,\n    "backchannel_logout_uri": "string",\n    "client_id": "string",\n    "client_name": "string",\n    "client_secret": "string",\n    "client_secret_expires_at": 0,\n    "client_uri": "string",\n    "contacts": ["string"],\n    "created_at": "2020-04-22T10:17:29Z",\n    "frontchannel_logout_session_required": true,\n    "frontchannel_logout_uri": "string",\n    "grant_types": ["string"],\n    "jwks": {},\n    "jwks_uri": "string",\n    "logo_uri": "string",\n    "metadata": {},\n    "owner": "string",\n    "policy_uri": "string",\n    "post_logout_redirect_uris": ["string"],\n    "redirect_uris": ["string"],\n    "request_object_signing_alg": "string",\n    "request_uris": ["string"],\n    "response_types": ["string"],\n    "scope": "string",\n    "sector_identifier_uri": "string",\n    "subject_type": "string",\n    "token_endpoint_auth_method": "string",\n    "tos_uri": "string",\n    "updated_at": "2020-04-22T10:17:29Z",\n    "userinfo_signed_response_alg": "string"\n  },\n  "oidc_context": {\n    "acr_values": ["string"],\n    "display": "string",\n    "id_token_hint_claims": {\n      "property1": {},\n      "property2": {}\n    },\n    "login_hint": "string",\n    "ui_locales": ["string"]\n  },\n  "request_url": "string",\n  "requested_access_token_audience": ["string"],\n  "requested_scope": ["string"],\n  "session_id": "string",\n  "skip": true,\n  "subject": "string"\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"Contains information on an ongoing login request.")),Object(b.b)("h4",{id:"properties-17"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"challenge"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'Challenge is the identifier ("login challenge") of the login request. It is used to identify the session.')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"client"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaoauth2client"}),"oAuth2Client")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"oidc_context"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemaopenidconnectcontext"}),"openIDConnectContext")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"request_url"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but might come in handy if you want to deal with additional request parameters.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"requested_access_token_audience"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"requested_scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"session_id"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'SessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag) this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false) this will be a new random value. This value is used as the "sid" parameter in the ID Token and in OIDC Front-/Back- channel logout. It\'s value can generally be used to associate consecutive login requests by a certain user.')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"skip"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Skip, if true, implies that the client has requested the same scopes from the same user previously. If true, you can skip asking the user to grant the requested scopes, and simply forward the user to the redirect URL. This feature allows you to update / set session information.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"subject"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope requested by the OAuth 2.0 client. If this value is set and ",Object(b.b)("inlineCode",{parentName:"td"},"skip")," is true, you MUST include this subject type when accepting the login request, or the request will fail.")))),Object(b.b)("a",{id:"tocSlogoutrequest"},"logoutRequest"),Object(b.b)("h4",{id:"logoutrequest"},"logoutRequest"),Object(b.b)("a",{id:"schemalogoutrequest"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "request_url": "string",\n  "rp_initiated": true,\n  "sid": "string",\n  "subject": "string"\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"Contains information about an ongoing logout request.")),Object(b.b)("h4",{id:"properties-18"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"request_url"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RequestURL is the original Logout URL requested.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"rp_initiated"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RPInitiated is set to true if the request was initiated by a Relying Party (RP), also known as an OAuth 2.0 Client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"sid"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"SessionID is the login session ID that was requested to log out.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"subject"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Subject is the user for whom the logout was request.")))),Object(b.b)("a",{id:"tocSoauth2client"},"oAuth2Client"),Object(b.b)("h4",{id:"oauth2client"},"oAuth2Client"),Object(b.b)("a",{id:"schemaoauth2client"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "allowed_cors_origins": ["string"],\n  "audience": ["string"],\n  "backchannel_logout_session_required": true,\n  "backchannel_logout_uri": "string",\n  "client_id": "string",\n  "client_name": "string",\n  "client_secret": "string",\n  "client_secret_expires_at": 0,\n  "client_uri": "string",\n  "contacts": ["string"],\n  "created_at": "2020-04-22T10:17:29Z",\n  "frontchannel_logout_session_required": true,\n  "frontchannel_logout_uri": "string",\n  "grant_types": ["string"],\n  "jwks": {},\n  "jwks_uri": "string",\n  "logo_uri": "string",\n  "metadata": {},\n  "owner": "string",\n  "policy_uri": "string",\n  "post_logout_redirect_uris": ["string"],\n  "redirect_uris": ["string"],\n  "request_object_signing_alg": "string",\n  "request_uris": ["string"],\n  "response_types": ["string"],\n  "scope": "string",\n  "sector_identifier_uri": "string",\n  "subject_type": "string",\n  "token_endpoint_auth_method": "string",\n  "tos_uri": "string",\n  "updated_at": "2020-04-22T10:17:29Z",\n  "userinfo_signed_response_alg": "string"\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"Client represents an OAuth 2.0 Client.")),Object(b.b)("h4",{id:"properties-19"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"allowed_cors_origins"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"audience"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"backchannel_logout_session_required"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the RP requires that a sid (session ID) Claim be included in the Logout Token to identify the RP session with the OP when the backchannel_logout_uri is used. If omitted, the default value is false.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"backchannel_logout_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RP URL that will cause the RP to log itself out when sent a Logout Token by the OP.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"client_id"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ClientID is the id for this client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"client_name"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Name is the human-readable string name of the client to be presented to the end-user during authorization.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"client_secret"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Secret is the client's secret. The secret will be included in the create request as cleartext, and then never again. The secret is stored using BCrypt so it is impossible to recover it. Tell your users that they need to write the secret down as it will not be made available again.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"client_secret_expires_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"SecretExpiresAt is an integer holding the time at which the client secret will expire or 0 if it will not expire. The time is represented as the number of seconds from 1970-01-01T00:00:00Z as measured in UTC until the date/time of expiration. This feature is currently not supported and it's value will always be set to 0.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"client_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ClientURI is an URL string of a web page providing information about the client. If present, the server SHOULD display this URL to the end-user in a clickable fashion.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"contacts"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"created_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string(date-time)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"CreatedAt returns the timestamp of the client's creation.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"frontchannel_logout_session_required"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the RP requires that iss (issuer) and sid (session ID) query parameters be included to identify the RP session with the OP when the frontchannel_logout_uri is used. If omitted, the default value is false.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"frontchannel_logout_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"RP URL that will cause the RP to log itself out when rendered in an iframe by the OP. An iss (issuer) query parameter and a sid (session ID) query parameter MAY be included by the OP to enable the RP to validate the request and to determine which of the potentially multiple sessions is to be logged out; if either is included, both MUST be.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"grant_types"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"jwks"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajosejsonwebkeyset"}),"JoseJSONWebKeySet")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"jwks_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL for the Client's JSON Web Key Set ","[JWK]"," document. If the Client signs requests to the Server, it contains the signing key(s) the Server uses to validate signatures from the Client. The JWK Set MAY also contain the Client's encryption keys(s), which are used by the Server to encrypt responses to the Client. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"logo_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"LogoURI is an URL string that references a logo for the client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"metadata"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemajsonrawmessage"}),"JSONRawMessage")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"owner"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Owner is a string identifying the owner of the OAuth 2.0 Client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"policy_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"PolicyURI is a URL string that points to a human-readable privacy policy document that describes how the deployment organization collects, uses, retains, and discloses personal data.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"post_logout_redirect_uris"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"redirect_uris"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"request_object_signing_alg"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JWS ","[JWS]"," alg algorithm ","[JWA]"," that MUST be used for signing Request Objects sent to the OP. All Request Objects from this Client MUST be rejected, if not signed with this algorithm.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"request_uris"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"response_types"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),Object(b.b)("a",Object(a.a)({parentName:"td"},{href:"#schemastringslicepipedelimiter"}),"StringSlicePipeDelimiter")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 ","[RFC6749]",") that the client can use when requesting access tokens.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"sector_identifier_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP. The URL references a file with a single JSON array of redirect_uri values.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"subject_type"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include ",Object(b.b)("inlineCode",{parentName:"td"},"pairwise")," and ",Object(b.b)("inlineCode",{parentName:"td"},"public"),".")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"token_endpoint_auth_method"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"tos_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"TermsOfServiceURI is a URL string that points to a human-readable terms of service document for the client that describes a contractual relationship between the end-user and the client that the end-user accepts when authorizing the client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"updated_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string(date-time)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"UpdatedAt returns the timestamp of the last update.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"userinfo_signed_response_alg"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JWS alg algorithm ","[JWA]"," REQUIRED for signing UserInfo Responses. If this is specified, the response will be JWT ","[JWT]"," serialized, and signed using JWS. The default, if omitted, is for the UserInfo Response to return the Claims as a UTF-8 encoded JSON object using the application/json content-type.")))),Object(b.b)("a",{id:"tocSoauth2tokenintrospection"},"oAuth2TokenIntrospection"),Object(b.b)("h4",{id:"oauth2tokenintrospection"},"oAuth2TokenIntrospection"),Object(b.b)("a",{id:"schemaoauth2tokenintrospection"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "active": true,\n  "aud": ["string"],\n  "client_id": "string",\n  "exp": 0,\n  "ext": {\n    "property1": {},\n    "property2": {}\n  },\n  "iat": 0,\n  "iss": "string",\n  "nbf": 0,\n  "obfuscated_subject": "string",\n  "scope": "string",\n  "sub": "string",\n  "token_type": "string",\n  "username": "string"\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"Introspection contains an access token's session data as specified by IETF RFC\n7662, see:")),Object(b.b)("h4",{id:"properties-20"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"active"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'Active is a boolean indicator of whether or not the presented token is currently active. The specifics of a token\'s "active" state will vary depending on the implementation of the authorization server and the information it keeps about its tokens, but a "true" value return for the "active" property will generally indicate that a given token has been issued by this authorization server, has not been revoked by the resource owner, and is within its given time window of validity (e.g., after its issuance time and before its expiration time).')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"aud"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Audience contains a list of the token's intended audiences.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"client_id"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ClientID is aclient identifier for the OAuth 2.0 client that requested this token.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"exp"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Expires at is an integer timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token will expire.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ext"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Extra is arbitrary data set by the session.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb ",Object(b.b)("strong",{parentName:"td"},"additionalProperties")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"iat"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Issued at is an integer timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token was originally issued.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"iss"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"IssuerURL is a string representing the issuer of this token")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"nbf"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"NotBefore is an integer timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token is not to be used before.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"obfuscated_subject"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'ObfuscatedSubject is set when the subject identifier algorithm was set to "pairwise" during authorization. It is the ',Object(b.b)("inlineCode",{parentName:"td"},"sub")," value of the ID Token that was issued.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Scope is a JSON string containing a space-separated list of scopes associated with this token.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"sub"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Subject of the token, as defined in JWT ","[RFC7519]",". Usually a machine-readable identifier of the resource owner who authorized this token.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"token_type"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"TokenType is the introspected token's type, for example ",Object(b.b)("inlineCode",{parentName:"td"},"access_token")," or ",Object(b.b)("inlineCode",{parentName:"td"},"refresh_token"),".")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"username"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Username is a human-readable identifier for the resource owner who authorized this token.")))),Object(b.b)("a",{id:"tocSoauth2tokenresponse"},"oauth2TokenResponse"),Object(b.b)("h4",{id:"oauth2tokenresponse"},"oauth2TokenResponse"),Object(b.b)("a",{id:"schemaoauth2tokenresponse"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "access_token": "string",\n  "expires_in": 0,\n  "id_token": "string",\n  "refresh_token": "string",\n  "scope": "string",\n  "token_type": "string"\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"The Access Token Response")),Object(b.b)("h4",{id:"properties-21"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"access_token"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"expires_in"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"id_token"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"refresh_token"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"scope"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"token_type"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("a",{id:"tocSopenidconnectcontext"},"openIDConnectContext"),Object(b.b)("h4",{id:"openidconnectcontext"},"openIDConnectContext"),Object(b.b)("a",{id:"schemaopenidconnectcontext"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "acr_values": ["string"],\n  "display": "string",\n  "id_token_hint_claims": {\n    "property1": {},\n    "property2": {}\n  },\n  "login_hint": "string",\n  "ui_locales": ["string"]\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"Contains optional information about the OpenID Connect request.")),Object(b.b)("h4",{id:"properties-22"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"acr_values"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ACRValues is the Authentication AuthorizationContext Class Reference requested in the OAuth 2.0 Authorization request. It is a parameter defined by OpenID Connect and expresses which level of authentication (e.g. 2FA) is required. OpenID Connect defines it as follows: > Requested Authentication AuthorizationContext Class Reference values. Space-separated string that specifies the acr values that the Authorization Server is being requested to use for processing this Authentication Request, with the values appearing in order of preference. The Authentication AuthorizationContext Class satisfied by the authentication performed is returned as the acr Claim Value, as specified in Section 2. The acr Claim is requested as a Voluntary Claim by this parameter.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"display"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),'Display is a string value that specifies how the Authorization Server displays the authentication and consent user interface pages to the End-User. The defined values are: page: The Authorization Server SHOULD display the authentication and consent UI consistent with a full User Agent page view. If the display parameter is not specified, this is the default display mode. popup: The Authorization Server SHOULD display the authentication and consent UI consistent with a popup User Agent window. The popup User Agent window should be of an appropriate size for a login-focused dialog and should not obscure the entire window that it is popping up over. touch: The Authorization Server SHOULD display the authentication and consent UI consistent with a device that leverages a touch interface. wap: The Authorization Server SHOULD display the authentication and consent UI consistent with a "feature phone" type display. The Authorization Server MAY also attempt to detect the capabilities of the User Agent and present an appropriate display.')),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"id_token_hint_claims"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"IDTokenHintClaims are the claims of the ID Token previously issued by the Authorization Server being passed as a hint about the End-User's current or past authenticated session with the Client.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\xbb ",Object(b.b)("strong",{parentName:"td"},"additionalProperties")),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"object"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"login_hint"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"LoginHint hints about the login identifier the End-User might use to log in (if necessary). This hint can be used by an RP if it first asks the End-User for their e-mail address (or other identifier) and then wants to pass that value as a hint to the discovered authorization service. This value MAY also be a phone number in the format specified for the phone_number Claim. The use of this parameter is optional.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"ui_locales"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"UILocales is the End-User'id preferred languages and scripts for the user interface, represented as a space-separated list of BCP47 ","[RFC5646]",' language tag values, ordered by preference. For instance, the value "fr-CA fr en" represents a preference for French as spoken in Canada, then French (without a region designation), followed by English (without a region designation). An error SHOULD NOT result if some or all of the requested locales are not supported by the OpenID Provider.')))),Object(b.b)("a",{id:"tocSrejectrequest"},"rejectRequest"),Object(b.b)("h4",{id:"rejectrequest"},"rejectRequest"),Object(b.b)("a",{id:"schemarejectrequest"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "error": "string",\n  "error_debug": "string",\n  "error_description": "string",\n  "error_hint": "string",\n  "status_code": 0\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"The request payload used to accept a login or consent request.")),Object(b.b)("h4",{id:"properties-23"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"error"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"error_debug"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"error_description"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"error_hint"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"status_code"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none")))),Object(b.b)("a",{id:"tocSuserinforesponse"},"userinfoResponse"),Object(b.b)("h4",{id:"userinforesponse"},"userinfoResponse"),Object(b.b)("a",{id:"schemauserinforesponse"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "birthdate": "string",\n  "email": "string",\n  "email_verified": true,\n  "family_name": "string",\n  "gender": "string",\n  "given_name": "string",\n  "locale": "string",\n  "middle_name": "string",\n  "name": "string",\n  "nickname": "string",\n  "phone_number": "string",\n  "phone_number_verified": true,\n  "picture": "string",\n  "preferred_username": "string",\n  "profile": "string",\n  "sub": "string",\n  "updated_at": 0,\n  "website": "string",\n  "zoneinfo": "string"\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"The userinfo response")),Object(b.b)("h4",{id:"properties-24"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"birthdate"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"End-User's birthday, represented as an ISO 8601:2004 ","[ISO8601\u20112004]"," YYYY-MM-DD format. The year MAY be 0000, indicating that it is omitted. To represent only the year, YYYY format is allowed. Note that depending on the underlying platform's date related function, providing just year can result in varying month and day, so the implementers need to take this factor into account to correctly process the dates.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"email"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"End-User's preferred e-mail address. Its value MUST conform to the RFC 5322 ","[RFC5322]"," addr-spec syntax. The RP MUST NOT rely upon this value being unique, as discussed in Section 5.7.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"email_verified"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"True if the End-User's e-mail address has been verified; otherwise false. When this Claim Value is true, this means that the OP took affirmative steps to ensure that this e-mail address was controlled by the End-User at the time the verification was performed. The means by which an e-mail address is verified is context-specific, and dependent upon the trust framework or contractual agreements within which the parties are operating.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"family_name"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Surname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"gender"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"End-User's gender. Values defined by this specification are female and male. Other values MAY be used when neither of the defined values are applicable.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"given_name"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Given name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"locale"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"End-User's locale, represented as a BCP47 ","[RFC5646]"," language tag. This is typically an ISO 639-1 Alpha-2 ","[ISO639\u20111]"," language code in lowercase and an ISO 3166-1 Alpha-2 ","[ISO3166\u20111]"," country code in uppercase, separated by a dash. For example, en-US or fr-CA. As a compatibility note, some implementations have used an underscore as the separator rather than a dash, for example, en_US; Relying Parties MAY choose to accept this locale syntax as well.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"middle_name"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Middle name(s) of the End-User. Note that in some cultures, people can have multiple middle names; all can be present, with the names being separated by space characters. Also note that in some cultures, middle names are not used.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"name"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"End-User's full name in displayable form including all name parts, possibly including titles and suffixes, ordered according to the End-User's locale and preferences.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"nickname"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Casual name of the End-User that may or may not be the same as the given_name. For instance, a nickname value of Mike might be returned alongside a given_name value of Michael.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"phone_number"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"End-User's preferred telephone number. E.164 ","[E.164]"," is RECOMMENDED as the format of this Claim, for example, +1 (425) 555-1212 or +56 (2) 687 2400. If the phone number contains an extension, it is RECOMMENDED that the extension be represented using the RFC 3966 ","[RFC3966]"," extension syntax, for example, +1 (604) 555-1234;ext=5678.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"phone_number_verified"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"True if the End-User's phone number has been verified; otherwise false. When this Claim Value is true, this means that the OP took affirmative steps to ensure that this phone number was controlled by the End-User at the time the verification was performed. The means by which a phone number is verified is context-specific, and dependent upon the trust framework or contractual agreements within which the parties are operating. When true, the phone_number Claim MUST be in E.164 format and any extensions MUST be represented in RFC 3966 format.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"picture"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL of the End-User's profile picture. This URL MUST refer to an image file (for example, a PNG, JPEG, or GIF image file), rather than to a Web page containing an image. Note that this URL SHOULD specifically reference a profile photo of the End-User suitable for displaying when describing the End-User, rather than an arbitrary photo taken by the End-User.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"preferred_username"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Non-unique shorthand name by which the End-User wishes to be referred to at the RP, such as janedoe or j.doe. This value MAY be any valid JSON string including special characters such as @, /, or whitespace.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"profile"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL of the End-User's profile page. The contents of this Web page SHOULD be about the End-User.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"sub"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Subject - Identifier for the End-User at the IssuerURL.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"updated_at"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"integer(int64)"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Time the End-User's information was last updated. Its value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"website"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL of the End-User's Web page or blog. This Web page SHOULD contain information published by the End-User or an organization that the End-User is affiliated with.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"zoneinfo"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"String from zoneinfo ","[zoneinfo]"," time zone database representing the End-User's time zone. For example, Europe/Paris or America/Los_Angeles.")))),Object(b.b)("a",{id:"tocSversion"},"version"),Object(b.b)("h4",{id:"version"},"version"),Object(b.b)("a",{id:"schemaversion"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "version": "string"\n}\n')),Object(b.b)("h4",{id:"properties-25"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"version"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Version is the service's version.")))),Object(b.b)("a",{id:"tocSwellknown"},"wellKnown"),Object(b.b)("h4",{id:"wellknown"},"wellKnown"),Object(b.b)("a",{id:"schemawellknown"}),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n  "authorization_endpoint": "https://playground.ory.sh/ory-hydra/public/oauth2/auth",\n  "backchannel_logout_session_supported": true,\n  "backchannel_logout_supported": true,\n  "claims_parameter_supported": true,\n  "claims_supported": ["string"],\n  "end_session_endpoint": "string",\n  "frontchannel_logout_session_supported": true,\n  "frontchannel_logout_supported": true,\n  "grant_types_supported": ["string"],\n  "id_token_signing_alg_values_supported": ["string"],\n  "issuer": "https://playground.ory.sh/ory-hydra/public/",\n  "jwks_uri": "https://playground.ory.sh/ory-hydra/public/.well-known/jwks.json",\n  "registration_endpoint": "https://playground.ory.sh/ory-hydra/admin/client",\n  "request_parameter_supported": true,\n  "request_uri_parameter_supported": true,\n  "require_request_uri_registration": true,\n  "response_modes_supported": ["string"],\n  "response_types_supported": ["string"],\n  "revocation_endpoint": "string",\n  "scopes_supported": ["string"],\n  "subject_types_supported": ["string"],\n  "token_endpoint": "https://playground.ory.sh/ory-hydra/public/oauth2/token",\n  "token_endpoint_auth_methods_supported": ["string"],\n  "userinfo_endpoint": "string",\n  "userinfo_signing_alg_values_supported": ["string"]\n}\n')),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"WellKnown represents important OpenID Connect discovery metadata")),Object(b.b)("h4",{id:"properties-26"},"Properties"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Name"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Type"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Required"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Restrictions"),Object(b.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"Description"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"authorization_endpoint"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL of the OP's OAuth 2.0 Authorization Endpoint.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"backchannel_logout_session_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the OP can pass a sid (session ID) Claim in the Logout Token to identify the RP session with the OP. If supported, the sid Claim is also included in ID Tokens issued by the OP")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"backchannel_logout_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the OP supports back-channel logout, with true indicating support.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"claims_parameter_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the OP supports use of the claims parameter, with true indicating support.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"claims_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for. Note that for privacy or other reasons, this might not be an exhaustive list.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"end_session_endpoint"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL at the OP to which an RP can perform a redirect to request that the End-User be logged out at the OP.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"frontchannel_logout_session_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the OP can pass iss (issuer) and sid (session ID) query parameters to identify the RP session with the OP when the frontchannel_logout_uri is used. If supported, the sid Claim is also included in ID Tokens issued by the OP.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"frontchannel_logout_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the OP supports HTTP-based logout, with true indicating support.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"grant_types_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSON array containing a list of the OAuth 2.0 Grant Type values that this OP supports.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"id_token_signing_alg_values_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"issuer"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL using the https scheme with no query or fragment component that the OP asserts as its IssuerURL Identifier. If IssuerURL discovery is supported , this value MUST be identical to the issuer value returned by WebFinger. This also MUST be identical to the iss Claim value in ID Tokens issued from this IssuerURL.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"jwks_uri"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL of the OP's JSON Web Key Set ","[JWK]"," document. This contains the signing key(s) the RP uses to validate signatures from the OP. The JWK Set MAY also contain the Server's encryption key(s), which are used by RPs to encrypt requests to the Server. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"registration_endpoint"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL of the OP's Dynamic Client Registration Endpoint.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"request_parameter_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the OP supports use of the request parameter, with true indicating support.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"request_uri_parameter_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the OP supports use of the request_uri parameter, with true indicating support.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"require_request_uri_registration"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"boolean"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Boolean value specifying whether the OP requires any request_uri values used to be pre-registered using the request_uris registration parameter.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"response_modes_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSON array containing a list of the OAuth 2.0 response_mode values that this OP supports.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"response_types_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Dynamic OpenID Providers MUST support the code, id_token, and the token id_token Response Type values.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"revocation_endpoint"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL of the authorization server's OAuth 2.0 revocation endpoint.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"scopes_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"SON array containing a list of the OAuth 2.0 ","[RFC6749]"," scope values that this server supports. The server MUST support the openid scope value. Servers MAY choose not to advertise some supported scope values even when this parameter is used")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"subject_types_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSON array containing a list of the Subject Identifier types that this OP supports. Valid types include pairwise and public.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"token_endpoint"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"true"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL of the OP's OAuth 2.0 Token Endpoint")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"token_endpoint_auth_methods_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSON array containing a list of Client Authentication methods supported by this Token Endpoint. The options are client_secret_post, client_secret_basic, client_secret_jwt, and private_key_jwt, as described in Section 9 of OpenID Connect Core 1.0")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"userinfo_endpoint"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"string"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"URL of the OP's UserInfo Endpoint.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"userinfo_signing_alg_values_supported"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"[string]"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"false"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"none"),Object(b.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"JSON array containing a list of the JWS ","[JWS]"," signing algorithms (alg values) ","[JWA]"," supported by the UserInfo Endpoint to encode the Claims in a JWT ","[JWT]",".")))))}o.isMDXComponent=!0},199:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},b=Object.keys(e);for(a=0;a<b.length;a++)n=b[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(e);for(a=0;a<b.length;a++)n=b[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var i=r.a.createContext({}),o=function(e){var t=r.a.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):c({},t,{},e)),n},p=function(e){var t=o(e.components);return r.a.createElement(i.Provider,{value:t},e.children)},j={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},O=Object(a.forwardRef)((function(e,t){var n=e.components,a=e.mdxType,b=e.originalType,l=e.parentName,i=s(e,["components","mdxType","originalType","parentName"]),p=o(n),O=a,d=p["".concat(l,".").concat(O)]||p[O]||j[O]||b;return n?r.a.createElement(d,c({ref:t},i,{components:n})):r.a.createElement(d,c({ref:t},i))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var b=n.length,l=new Array(b);l[0]=O;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:a,l[1]=c;for(var i=2;i<b;i++)l[i]=n[i];return r.a.createElement.apply(null,l)}return r.a.createElement.apply(null,n)}O.displayName="MDXCreateElement"}}]);