---
title: Create a user API key
description: Optional idempotency key.
---
# Create a user API key

`POST https://api.releases.sh/v1/api-keys`

Optional idempotency key. Reuse the same key only for an identical request; successful responses are replayable for 24 hours.

**Auth:** Bearer token required.

**Parameters**

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Idempotency-Key` | header | string | no | Optional idempotency key. Reuse the same key only for an identical request; successful responses are replayable for 24 hours. |

**Request body** (`application/json`)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | Display name, at most 200 bytes. |
| `scope` | "read" \| "write" \| "admin" | no | Defaults to `read`, the self-serve ceiling. |
| `expiresInDays` | integer | no |  |

**Responses**

- `201` Created user API key, including the one-time secret.
- `400` Invalid JSON body, name, scope, or expiresInDays
- `401` Sign-in required
- `409` Active user API key limit reached
- `503` Idempotency storage or response replay is temporarily unavailable.

Full request and response schemas: [OpenAPI 3.1 spec](https://api.releases.sh/v1/openapi.json).
