Discover OIDC configuration
POST
/identity-providers/discover-oidc
const url = 'http://localhost:8000/identity-providers/discover-oidc';
const options = {
method: 'POST',
headers: {
'API-Version': '2026-06-01.beta',
'API-Key': '<API-Key>',
'Content-Type': 'application/json'
},
body: '{"issuer_url":"https://accounts.google.com"}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}curl --request POST \
--url http://localhost:8000/identity-providers/discover-oidc \
--header 'API-Key: <API-Key>' \
--header 'API-Version: 2026-06-01.beta' \
--header 'Content-Type: application/json' \
--data '{ "issuer_url": "https://accounts.google.com" }'Fetches and parses the /.well-known/openid-configuration document for an OIDC issuer. Use the returned endpoints to populate config.oidc when creating a custom OIDC provider.
Required scope: identity-providers:read
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”API-Version
required
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
issuer_url
required
OIDC issuer URL. The /.well-known/openid-configuration suffix is appended automatically if absent.
string
Example
https://accounts.google.comResponses
Section titled “Responses”The request has succeeded.
Media typeapplication/json
OIDC discovery document from the issuer’s /.well-known/openid-configuration endpoint.
object
issuer
required
string
authorization_endpoint
required
string
token_endpoint
required
string
userinfo_endpoint
string
jwks_uri
string
scopes_supported
Array<string>
response_types_supported
Array<string>
token_endpoint_auth_methods_supported
Array<string>
Example generated
{
"issuer": "example",
"authorization_endpoint": "example",
"token_endpoint": "example",
"userinfo_endpoint": "example",
"jwks_uri": "example",
"scopes_supported": [
"example"
],
"response_types_supported": [
"example"
],
"token_endpoint_auth_methods_supported": [
"example"
]
}The server could not understand the request due to invalid syntax.
Media typeapplication/problem+json
RFC 9457 Problem Details object.
object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}Access is unauthorized.
Media typeapplication/problem+json
RFC 9457 Problem Details object.
object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}Client error
Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri
errors
required
Array<object>
object
field
required
string
detail
required
string
code
string
value
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com",
"errors": [
{
"field": "example",
"detail": "example",
"code": "example",
"value": "example"
}
]
}Client error
Media typeapplication/problem+json
RFC 9457 Problem Details object.
object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}Headers
Section titled “Headers”Retry-After
integer
RateLimit-Limit
integer
RateLimit-Remaining
integer
RateLimit-Reset
integer
X-RateLimit-Limit-Second
integer
X-RateLimit-Remaining-Second
integer
X-RateLimit-Limit-Minute
integer
X-RateLimit-Remaining-Minute
integer
X-RateLimit-Limit-Hour
integer
X-RateLimit-Remaining-Hour
integer
X-RateLimit-Limit-Day
integer
X-RateLimit-Remaining-Day
integer
Server error
Media typeapplication/problem+json
RFC 9457 Problem Details object.
object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}Server error
Media typeapplication/problem+json
RFC 9457 Problem Details object.
object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}