---
title: "Create an API key"
method: POST
path: "/spaces/{space_id}/api_keys"
---

# Create an API key

`POST /spaces/{space_id}/api_keys`

Creates a new API key (client credentials) for the specified space.
Requires user authentication (JWT). API keys cannot create other API keys.

## Path parameters

- `space_id` string, required

## Request body

- CreateApiKeyRequest — Request to create a new API key in a space.
  - `name` string, required — User-provided label for the new API key.

## Response `201`

API key created

- ApiKeyCredentials — Credentials for a newly created API key. The secret portion cannot be retrieved again later.
  - `api_key` string, required — Bearer token for the key. Use as `Authorization: Bearer <api_key>`.
  - `access_key` string, required — Use as the username in HTTP Basic auth.
  - `secret_key` string, required — Use as the password in HTTP Basic auth.

## Other responses

- `default` — Error response

## Changes

- **2026-08-11** `42816b90d8d6` — 1 warning
  - added the new `signups_disabled` enum value to the `code` response property for the response status `default`
- **2026-06-23** `d0e78bae6ce1` — 1 warning
  - added the new `compute_limit_exceeded` enum value to the `code` response property for the response status `default`
- **2026-06-22** `bdf92f48aec1` — 1 info
  - added the optional property `code` to the response with the `default` status
- **2026-04-17** `a7becb6668ec` — 1 warning
  - removed the optional property `code` from the response with the `default` status

[Change history](https://skmtc.dev/timescale/apis/ghost-api/changes/spaces/:space_id/api_keys/post.md)

---

[API](https://skmtc.dev/timescale/apis/ghost-api.md) · [All operations](https://skmtc.dev/timescale/apis/ghost-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/timescale/ghost-api/revisions/42816b90d8d6/schema)
