# Change history: Rotate API key

[← Changelog](/docs/changelog). Entries: 21.

- 2026-11-02 [FIX-1102-16: Key issuance refusal on a cloud RU account no longer names the plan as the cause](/docs/changelog/2026-11-02#fix-1102-16-key-issuance-refusal-on-a-cloud-ru-account-no-longer-names-the-plan-as-the-cause)
- 2026-10-13 [FIX-1013-2: rotating a revoked API key is refused before a new key is created](/docs/changelog/2026-10-13#fix-1013-2-rotating-a-revoked-api-key-is-refused-before-a-new-key-is-created)
- 2026-10-12 [NEW-1012-15: Management keys are available in OpenAPI](/docs/changelog/2026-10-12#new-1012-15-management-keys-are-available-in-openapi)
- 2026-09-26 [BC-0926-1: the Cowork subscription key of an owner without a Bitrix24 account cannot be rotated, re-enabled or extended](/docs/changelog/2026-09-26#bc-0926-1-the-cowork-subscription-key-of-an-owner-without-a-bitrix24-account-cannot-be-rotated-re-enabled-or-extended)
- 2026-09-22 [BC-0922-9: Retrying an unfinished key rotation requires recovery](/docs/changelog/2026-09-22#bc-0922-9-retrying-an-unfinished-key-rotation-requires-recovery)
- 2026-09-17 [BC-0917-20: key mode errors point to an available switch](/docs/changelog/2026-09-17#bc-0917-20-key-mode-errors-point-to-an-available-switch)
- 2026-09-16 [FIX-0916-5: the COWORK_HARNESS_DISABLED code no longer arrives on Cowork subscription keys](/docs/changelog/2026-09-16#fix-0916-5-the-cowork_harness_disabled-code-no-longer-arrives-on-cowork-subscription-keys)
- 2026-09-16 [FIX-0916-17: POST /v1/keys/{id}/rotate accepts a blocked key](/docs/changelog/2026-09-16#fix-0916-17-post-v1-keys-id-rotate-accepts-a-blocked-key)
- 2026-09-09 [FIX-0909-5: a self-hosted portal now issues a key that needs no webhook](/docs/changelog/2026-09-09#fix-0909-5-a-self-hosted-portal-now-issues-a-key-that-needs-no-webhook)
- 2026-09-09 [FIX-0909-6: replacing an application key no longer hands out an already-expired secret](/docs/changelog/2026-09-09#fix-0909-6-replacing-an-application-key-no-longer-hands-out-an-already-expired-secret)
- 2026-08-22 [BC-0822-2: the create and rotate responses now match the documented key shape](/docs/changelog/2026-08-22#bc-0822-2-the-create-and-rotate-responses-now-match-the-documented-key-shape)
- 2026-08-22 [BC-0822-3: key rotation now requires the same Bitrix24 plan as creation](/docs/changelog/2026-08-22#bc-0822-3-key-rotation-now-requires-the-same-bitrix24-plan-as-creation)
- 2026-08-22 [NEW-0822-4: a key now reports the channel it was issued through, and a refusal reports its exact cause](/docs/changelog/2026-08-22#new-0822-4-a-key-now-reports-the-channel-it-was-issued-through-and-a-refusal-reports-its-exact-cause)
- 2026-08-22 [FIX-0822-5: a rotation refused over scopes now reports the same code on every account](/docs/changelog/2026-08-22#fix-0822-5-a-rotation-refused-over-scopes-now-reports-the-same-code-on-every-account)
- 2026-08-22 [BC-0822-8: rotating and bringing back platform-issued keys is closed](/docs/changelog/2026-08-22#bc-0822-8-rotating-and-bringing-back-platform-issued-keys-is-closed)
- 2026-08-22 [NEW-0822-11: Rotating a subscription key checks the issuance gates](/docs/changelog/2026-08-22#new-0822-11-rotating-a-subscription-key-checks-the-issuance-gates)
- 2026-08-06 [NEW-0806-24: a clear refusal when a personal key is left with only placement or entity](/docs/changelog/2026-08-06#new-0806-24-a-clear-refusal-when-a-personal-key-is-left-with-only-placement-or-entity)
- 2026-08-05 [FIX-0805-1: key rotation no longer strands the bot registered with it](/docs/changelog/2026-08-05#fix-0805-1-key-rotation-no-longer-strands-the-bot-registered-with-it)
- 2026-08-05 [FIX-0805-2: a container on a shared host is no longer lost after key rotation](/docs/changelog/2026-08-05#fix-0805-2-a-container-on-a-shared-host-is-no-longer-lost-after-key-rotation)
- 2026-08-05 [FIX-0805-3: key rotation no longer disconnects the server and app bound to it](/docs/changelog/2026-08-05#fix-0805-3-key-rotation-no-longer-disconnects-the-server-and-app-bound-to-it)
- 2026-07-29 [NEW-0729-18: totalDefault — the meta.total default on the API key itself](/docs/changelog/2026-07-29#new-0729-18-totaldefault-the-meta-total-default-on-the-api-key-itself)
