Update Oauth Provider
PUT
/settings/oauth-providers/{provider_id}
const url = 'https://example.com/api/settings/oauth-providers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"slug":"example","display_name":"example","provider_type":"google","client_id":"example","client_secret":"example","discovery_url":"example","authorize_url":"example","token_url":"example","userinfo_url":"example","scopes":"example","default_role":"example","group_claim":"example","group_role_mapping":{},"enabled":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://example.com/api/settings/oauth-providers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "slug": "example", "display_name": "example", "provider_type": "google", "client_id": "example", "client_secret": "example", "discovery_url": "example", "authorize_url": "example", "token_url": "example", "userinfo_url": "example", "scopes": "example", "default_role": "example", "group_claim": "example", "group_role_mapping": {}, "enabled": true }'Update an existing OAuth provider (admin only).
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ” provider_id
required
Provider Id
string format: uuid
Request Body required
Section titled “Request Body required ” Media type application/json
OAuthProviderUpdate
Schema for updating an existing OAuth provider. All fields optional.
object
Responses
Section titled “ Responses ”Successful Response
Media type application/json
OAuthProviderResponse
Response schema for OAuth provider. Never exposes client_secret.
object
id
required
Id
Unique provider identifier.
string format: uuid
slug
required
Slug
URL-safe identifier used in the callback URL.
string
display_name
required
Display Name
Label shown on the login page button.
string
provider_type
required
Provider Type
Provider type: ‘google’, ‘microsoft’, or ‘oidc’.
string
client_id
required
Client Id
OAuth client ID. Visible to admins; never exposes client_secret.
string
scopes
required
Scopes
Space-separated OAuth scopes.
string
default_role
required
Default Role
Default role assigned to new users.
string
enabled
required
Enabled
Whether the provider button appears on the login page.
boolean
created_at
required
Created At
Timestamp the provider was created.
string format: date-time
updated_at
required
Updated At
Timestamp the provider was last updated.
string format: date-time
Example generated
{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "slug": "example", "display_name": "example", "provider_type": "example", "client_id": "example", "discovery_url": "example", "authorize_url": "example", "token_url": "example", "userinfo_url": "example", "scopes": "example", "default_role": "example", "group_claim": "example", "group_role_mapping": {}, "enabled": true, "created_at": "2026-04-15T12:00:00Z", "updated_at": "2026-04-15T12:00:00Z"}Validation Error
Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}