---
title: "Changes to Update an AI provider key"
method: PATCH
path: "/v1/workspaces/{workspaceId}/ai_provider_keys/{id}"
---

# Changes to Update an AI provider key

`PATCH /v1/workspaces/{workspaceId}/ai_provider_keys/{id}`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 6 of 57 revisions.

- **2026-07-19** `3ecc1debabfa` — 6 breaking, 10 warning, 6 info
- **2026-07-02** `06e0e37c1499` — 10 warning, 8 info
- **2026-06-12** `ea07a25ab5da` — 1 info
- **2026-06-09** `13d98d37dd96` — 1 info
- **2026-06-07** `873a704256d9` — 2 breaking, 4 warning, 5 info
- **2026-06-07** `902986a268db` — 1 info

## Changes

- **2026-07-19** `3ecc1debabfa` — 6 breaking, 10 warning, 6 info
  - the `spec/config/allOf[#/components/schemas/AIProviderConfig]/` request property type/format changed from `object`/`` to ``/``
  - the `spec/credentials/allOf[#/components/schemas/AIProviderCredential]/` request property type/format changed from `object`/`` to ``/``
  - added `#/components/schemas/AIProviderConfig_Openrouter, #/components/schemas/AIProviderConfig_Openai, #/components/schemas/AIProviderConfig_OpenaiCompatible` to the `spec/config/allOf[#/components/schemas/AIProviderConfig]/` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/AIProviderCredential_ApiKey, #/components/schemas/AIProviderCredential_Headers` to the `spec/credentials/allOf[#/components/schemas/AIProviderCredential]/` response property `oneOf` list for the response status `200`
  - the `spec/config/allOf[#/components/schemas/AIProviderConfig]/` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - the `spec/credentials/allOf[#/components/schemas/AIProviderCredential]/` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - removed the request property `spec/config/allOf[#/components/schemas/AIProviderConfig]/openai`
  - removed the request property `spec/config/allOf[#/components/schemas/AIProviderConfig]/openaiCompatible`
  - removed the request property `spec/config/allOf[#/components/schemas/AIProviderConfig]/openrouter`
  - removed the request property `spec/credentials/allOf[#/components/schemas/AIProviderCredential]/apiKey`
  - removed the request property `spec/credentials/allOf[#/components/schemas/AIProviderCredential]/headers`
  - removed the optional property `spec/config/allOf[#/components/schemas/AIProviderConfig]/openai` from the response with the `200` status
  - removed the optional property `spec/config/allOf[#/components/schemas/AIProviderConfig]/openaiCompatible` from the response with the `200` status
  - removed the optional property `spec/config/allOf[#/components/schemas/AIProviderConfig]/openrouter` from the response with the `200` status
  - removed the optional property `spec/credentials/allOf[#/components/schemas/AIProviderCredential]/apiKey` from the response with the `200` status
  - removed the optional property `spec/credentials/allOf[#/components/schemas/AIProviderCredential]/headers` from the response with the `200` status
  - added discriminator to `spec/config/allOf[#/components/schemas/AIProviderConfig]/` request property
  - added discriminator to `spec/credentials/allOf[#/components/schemas/AIProviderCredential]/` request property
  - added `#/components/schemas/AIProviderConfig_Openrouter, #/components/schemas/AIProviderConfig_Openai, #/components/schemas/AIProviderConfig_OpenaiCompatible` to the `spec/config/allOf[#/components/schemas/AIProviderConfig]/` request property `oneOf` list
  - added `#/components/schemas/AIProviderCredential_ApiKey, #/components/schemas/AIProviderCredential_Headers` to the `spec/credentials/allOf[#/components/schemas/AIProviderCredential]/` request property `oneOf` list
  - added discriminator to `spec/config/allOf[#/components/schemas/AIProviderConfig]/` response property for the response status `200`
  - added discriminator to `spec/credentials/allOf[#/components/schemas/AIProviderCredential]/` response property for the response status `200`
- **2026-07-02** `06e0e37c1499` — 10 warning, 8 info
  - removed the request property `metadata/bundleKey`
  - removed the request property `spec/apiKey`
  - removed the request property `spec/openrouter`
  - removed the optional property `metadata/bundleKey` from the response with the `200` status
  - removed the optional property `spec/apiKey` from the response with the `200` status
  - removed the optional property `spec/openrouter` from the response with the `200` status
  - added the new `AI_PROVIDER_ANTHROPIC` enum value to the `spec/provider` response property for the response status `200`
  - added the new `AI_PROVIDER_GEMINI` enum value to the `spec/provider` response property for the response status `200`
  - added the new `AI_PROVIDER_OPENAI` enum value to the `spec/provider` response property for the response status `200`
  - added the new `AI_PROVIDER_OPENAI_COMPATIBLE` enum value to the `spec/provider` response property for the response status `200`
  - added the new optional request property `spec/config`
  - added the new optional request property `spec/credentials`
  - added the new `AI_PROVIDER_ANTHROPIC` enum value to the request property `spec/provider`
  - added the new `AI_PROVIDER_GEMINI` enum value to the request property `spec/provider`
  - added the new `AI_PROVIDER_OPENAI` enum value to the request property `spec/provider`
  - added the new `AI_PROVIDER_OPENAI_COMPATIBLE` enum value to the request property `spec/provider`
  - added the optional property `spec/config` to the response with the `200` status
  - added the optional property `spec/credentials` to the response with the `200` status
- **2026-06-12** `ea07a25ab5da` — 1 info
  - added the optional property `info/allOf[#/components/schemas/AIProviderKeyInfo]/isPromotional` to the response with the `200` status
- **2026-06-09** `13d98d37dd96` — 1 info
  - added the optional property `metadata/updatedAt` to the response with the `200` status
- **2026-06-07** `873a704256d9` — 2 breaking, 4 warning, 5 info
  - request property `spec/provider` was restricted to a list of enum values
  - the `spec/provider` request property type/format changed from `string`/`` to `string`/`enum`
  - removed the request property `spec/region`
  - removed the optional property `spec/region` from the response with the `200` status
  - added the new `AI_PROVIDER_OPENROUTER` enum value to the `spec/provider` response property for the response status `200`
  - added the new `AI_PROVIDER_UNSPECIFIED` enum value to the `spec/provider` response property for the response status `200`
  - added the new optional request property `spec/openrouter`
  - added the new `AI_PROVIDER_OPENROUTER` enum value to the request property `spec/provider`
  - added the new `AI_PROVIDER_UNSPECIFIED` enum value to the request property `spec/provider`
  - added the optional property `info` to the response with the `200` status
  - added the optional property `spec/openrouter` to the response with the `200` status
- **2026-06-07** `902986a268db` — 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/cadenya/apis/cadenya-api/docs/v1/workspaces/:workspaceId/ai_provider_keys/:id/patch.md) · [API](https://skmtc.dev/cadenya/apis/cadenya-api.md) · [Page](https://skmtc.dev/cadenya/apis/cadenya-api/changes/v1/workspaces/:workspaceId/ai_provider_keys/:id/patch)
