---
title: "Rotate Key"
method: POST
path: "/v1/keys/{key_id}/rotate"
tags: ["keys"]
---

# Rotate Key

`POST /v1/keys/{key_id}/rotate`

Rotate an API key's secret in place.

Requires master key authentication.

Generates a new secret for the same key row (id, user, name, expiry, and
metadata are preserved) and returns the new raw key once, using the same
response shape as key creation. The previous secret stops authenticating
immediately; there is no grace window.

## Path parameters

- `key_id` string, required

## Response `200`

Successful Response

- CreateKeyResponse — Response model for creating a new API key.
  - `allowed_models` string[], nullable, required
  - `created_at` string, required
  - `exclude_from_budget` boolean, required
  - `expires_at` string, nullable, required
  - `id` string, required
  - `is_active` boolean, required
  - `key` string, required
  - `key_name` string, nullable, required
  - `key_prefix` string, nullable, required
  - `metadata` object, required
  - `reject_user_mismatch` boolean, nullable, required
  - `user_id` string, nullable, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mozilla-ai/apis/otari.md) · [All operations](https://skmtc.net/mozilla-ai/apis/otari/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mozilla-ai/otari/versions/9efeac9dd037/schema)
