---
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

## Changes

- **2026-07-17** `9c4fd7143750` — 1 info
  - endpoint added
- **2022-11-07** `c46a2d6b426c` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/signalk/apis/signal-k-security-api/changes/security/oidc/put.md)

---

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