---
title: "Update OIDC configuration."
method: PUT
path: "/security/oidc"
tags: ["oidc"]
---

# Update OIDC configuration.

`PUT /security/oidc`

Updates the OIDC configuration. Fields set via environment variables cannot be overridden. Leave clientSecret empty to preserve the existing secret.

## Request body

- OIDCConfigRequest — OIDC configuration update request
  - `enabled` boolean
  - `issuer` string
  - `clientId` string
  - `clientSecret` string — Leave empty to keep existing secret
  - `scope` string
  - `defaultPermission` 'readonly' | 'readwrite' | 'admin' — Signal K permission level
  - `autoCreateUsers` boolean
  - `adminGroups` union
    - string — Comma-separated list
    - string[]
  - `readwriteGroups` union
    - string — Comma-separated list
    - string[]
  - `groupsAttribute` string
  - `providerName` string
  - `autoLogin` boolean

## Response `200`

Configuration saved successfully

- object
  - `message` string

## Other responses

- `400` — Invalid configuration
- `401` — Unauthorized - admin access required
- `500` — Failed to save configuration

---

[API](https://skmtc.net/signalk/apis/signal-k-security-api.md) · [All operations](https://skmtc.net/signalk/apis/signal-k-security-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/signalk/signal-k-security-api/versions/9c4fd7143750/schema)
