View .md

OIDC endpoints (Admin API)

4 FeatherPanel Admin API endpoints from admin/oidc.php: methods, paths, auth, permissions, rate limits, parameters and responses.

Last synced from FeatherPanel 15b94e9 on .

On this page

Defined in backend/app/routes/admin/oidc.php. Authentication used here: Admin. Read Authentication for how to send credentials and Rate limits and errors for the response envelope.

Paths, methods, permissions and rate limits come from the route file. Summaries, parameters and response codes come from the OpenAPI annotations on the controllers; endpoints without annotations show only what the route file declares.

Endpoints

GET/api/admin/oidc/providers

Auth: AdminPermission: admin.settings.viewRoute name: admin-oidc-providersController: OidcProvidersController::indexroute source

List OIDC providers

Response data fieldTypeDescription
providersOidcProvider[]
curl -X GET "$PANEL_URL/api/admin/oidc/providers" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Responses: 200 Providers retrieved successfully

PUT/api/admin/oidc/providers

Auth: AdminPermission: admin.settings.editRoute name: admin-oidc-providers-createController: OidcProvidersController::createroute source

Create OIDC provider

Request body: OidcProvider (application/json)

Body fieldTypeRequiredDescription
uuidstring (uuid)noProvider UUID
namestringnoDisplay name
issuer_urlstringnoOIDC issuer URL
client_idstringnoOIDC client ID
scopesstringnoSpace-separated scopes
email_claimstringnoEmail claim name
subject_claimstringnoSubject claim name
group_claimstringnoGroup/role claim name
group_valuestringnoRequired group/role value
auto_provisionstringnoAuto provision users
require_email_verifiedstringnoRequire email_verified
enabledstringnoWhether this provider is enabled
curl -X PUT "$PANEL_URL/api/admin/oidc/providers" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"uuid":"","name":"","issuer_url":"","client_id":"","scopes":"","email_claim":"","subject_claim":"","group_claim":"","group_value":"","auto_provision":"","require_email_verified":"","enabled":""}'

Plugin events: featherpanel:oidc:provider:create

Responses: 200 Provider created successfully · 400 Bad request

PATCH/api/admin/oidc/providers/{uuid}

Auth: AdminPermission: admin.settings.editRoute name: admin-oidc-providers-updateController: OidcProvidersController::updateroute source

Update OIDC provider

ParameterInTypeRequiredDescription
uuidpathstringyes

Request body: OidcProvider (application/json)

Body fieldTypeRequiredDescription
uuidstring (uuid)noProvider UUID
namestringnoDisplay name
issuer_urlstringnoOIDC issuer URL
client_idstringnoOIDC client ID
scopesstringnoSpace-separated scopes
email_claimstringnoEmail claim name
subject_claimstringnoSubject claim name
group_claimstringnoGroup/role claim name
group_valuestringnoRequired group/role value
auto_provisionstringnoAuto provision users
require_email_verifiedstringnoRequire email_verified
enabledstringnoWhether this provider is enabled
curl -X PATCH "$PANEL_URL/api/admin/oidc/providers/$UUID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"uuid":"","name":"","issuer_url":"","client_id":"","scopes":"","email_claim":"","subject_claim":"","group_claim":"","group_value":"","auto_provision":"","require_email_verified":"","enabled":""}'

Plugin events: featherpanel:oidc:provider:update

Responses: 200 Provider updated successfully · 404 Provider not found

DELETE/api/admin/oidc/providers/{uuid}

Auth: AdminPermission: admin.settings.editRoute name: admin-oidc-providers-deleteController: OidcProvidersController::deleteroute source

Delete OIDC provider

ParameterInTypeRequiredDescription
uuidpathstringyes
curl -X DELETE "$PANEL_URL/api/admin/oidc/providers/$UUID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Plugin events: featherpanel:oidc:provider:delete

Responses: 200 Provider deleted successfully · 404 Provider not found