---
title: "Issue a new API key from a recovery token"
method: POST
path: "/v1/rekey"
---

# Issue a new API key from a recovery token

`POST /v1/rekey`

## Request

- Base URL: `https://api.veezee.io`
- URL: `https://api.veezee.io/v1/rekey`
- Auth: none required

Consume a single-use recovery token (1-hour TTL, from the recovery email): a new API key is issued and every old key is revoked in one atomic batch. The token is consumed first, so if rotation ever fails the token is spent and a fresh link must be requested. The new key is shown exactly once. Balance, plan, receipts, and in-flight calls are unchanged.

## Request body

- object
  - `token` string, required

## Response `200`

re-keyed

- object
  - `account_id` string
  - `api_key` string
  - `note` string

## Other responses

- `401`: invalid, expired, or already-used token

---

[API](https://skmtc.dev/veezee/apis/veezee-api.md) · [All operations](https://skmtc.dev/veezee/apis/veezee-api/llms.txt) · [OpenAPI document](https://skmtc.dev/veezee/apis/veezee-api/revisions/6f1831474e70?raw)
