Skip to content

SSO API ​

13 endpoints. Request and response schemas are described on the schemas page; the other tags are listed in the API index.

Endpoints ​

GET /api/v1/admin/sso-providers ​

List SSO providers

List all SSO providers (admin only)

Responses

StatusDescriptionBody
200List of SSO providersapplication/json: object
403Admin access required-

Fields of the 200 response (application/json):

FieldTypeRequiredDescription
providersarray of SSOProvideryes-

POST /api/v1/admin/sso-providers ​

Create SSO provider

Create a new SSO provider (admin only)

Request body (required)

application/json: object

FieldTypeRequiredDescription
configobjectno-
display_namestringyes-
enabledbooleanno-
kindstringyesOne of: oidc, saml.
slugstringyes-

Responses

StatusDescriptionBody
201SSO provider createdapplication/json: SSOProvider
400Invalid requestapplication/json: Error
403Admin access required-

GET /api/v1/admin/sso-providers/{slug} ​

Get SSO provider

Get details of a specific SSO provider (admin only)

Parameters

NameInTypeRequiredDescription
slugpathstringyes-

Responses

StatusDescriptionBody
200SSO provider detailsapplication/json: SSOProvider
400Invalid request, including a NUL byte in the URL or the bodyapplication/json: Error
403Forbiddenapplication/json: Error
404SSO provider not found-

PATCH /api/v1/admin/sso-providers/{slug} ​

Update SSO provider

Update an SSO provider (admin only)

Parameters

NameInTypeRequiredDescription
slugpathstringyes-

Request body (required)

application/json: object

FieldTypeRequiredDescription
configobjectno-
display_namestringno-
enabledbooleanno-

Responses

StatusDescriptionBody
200SSO provider updatedapplication/json: SSOProvider
400Invalid request, including a NUL byte in the URL or the bodyapplication/json: Error
403Forbiddenapplication/json: Error
404SSO provider not found-

DELETE /api/v1/admin/sso-providers/{slug} ​

Delete SSO provider

Delete an SSO provider (admin only)

Parameters

NameInTypeRequiredDescription
slugpathstringyes-

Responses

StatusDescriptionBody
204SSO provider deleted-
400Invalid request, including a NUL byte in the URL or the bodyapplication/json: Error
403Forbiddenapplication/json: Error
404SSO provider not found-

POST /api/v1/admin/sso-providers/{slug}/test ​

Test SSO provider

Test an SSO provider configuration (admin only)

Parameters

NameInTypeRequiredDescription
slugpathstringyes-

Responses

StatusDescriptionBody
200Test resultapplication/json: object
400Invalid request, including a NUL byte in the URL or the bodyapplication/json: Error
404SSO provider not found-

Fields of the 200 response (application/json):

FieldTypeRequiredDescription
errorstringno-
kindstringno-
messagestringno-
okbooleanno-

GET /api/v1/auth/sso/oidc/{slug}/callback ​

OIDC callback

Parameters

NameInTypeRequiredDescription
slugpathstringyes-
codequerystringno-
statequerystringno-

Responses

StatusDescriptionBody
302302-
defaultErrorapplication/json: Error

GET /api/v1/auth/sso/oidc/{slug}/login ​

Begin OIDC login

Parameters

NameInTypeRequiredDescription
slugpathstringyes-

Responses

StatusDescriptionBody
302302-
defaultErrorapplication/json: Error

POST /api/v1/auth/sso/oidc/{slug}/logout ​

OIDC logout

Ends the local session (the request body is ignored; same-origin only). When the session was created by this provider and its IdP advertises an end_session_endpoint, responds 200 with the RP-initiated logout URL the browser must navigate to; otherwise 204.

Authentication: none (public endpoint).

Parameters

NameInTypeRequiredDescription
slugpathstringyes-

Responses

StatusDescriptionBody
200Logged out locally; continue at the IdPapplication/json: EndSessionResponse
204Logged out locally, no IdP logout-
defaultErrorapplication/json: Error

GET /api/v1/auth/sso/providers ​

List SSO providers

List available SSO providers (public)

Authentication: none (public endpoint).

Responses

StatusDescriptionBody
200List of SSO providersapplication/json: object

Fields of the 200 response (application/json):

FieldTypeRequiredDescription
providersarray of objectyes-
providers[].display_namestringno-
providers[].kindstringnoOne of: oidc, saml.
providers[].slugstringno-

POST /api/v1/auth/sso/saml/{slug}/acs ​

SAML assertion consumer service

Parameters

NameInTypeRequiredDescription
slugpathstringyes-

Responses

StatusDescriptionBody
302302-
defaultErrorapplication/json: Error

GET /api/v1/auth/sso/saml/{slug}/login ​

Begin SAML login

Parameters

NameInTypeRequiredDescription
slugpathstringyes-

Responses

StatusDescriptionBody
302302-
defaultErrorapplication/json: Error

GET /api/v1/auth/sso/saml/{slug}/metadata ​

SAML SP metadata

Parameters

NameInTypeRequiredDescription
slugpathstringyes-

Responses

StatusDescriptionBody
200Success-
defaultErrorapplication/json: Error

Free software under the AGPL-3.0-or-later.