---
title: "Create an API key (the raw token is returned exactly once)"
method: POST
path: "/api/api-keys"
tags: ["API keys"]
---

# Create an API key (the raw token is returned exactly once)

`POST /api/api-keys`

## Request

- Base URL: `https://api.wordis-bond.com`
- URL: `https://api.wordis-bond.com/api/api-keys`
- Auth: HTTP bearer

The `token` (`wb_live_…`, 80 chars) is shown ONCE and never stored in plaintext — only a SHA-256 hash is persisted. Store it securely; a lost token must be revoked and reissued.

## Request body

- object
  - `name` string, required: A human label for the key.

## Response `201`

Created (token shown once)

- object
  - `data` object, required
    - `id` string, uuid, required
    - `name` string, required
    - `keyPrefix` string, required: First 12 chars, e.g. "wb_live_ab12".
    - `lastUsedAt` string, date-time, nullable
    - `createdAt` string, date-time
    - `token` string, required
  - `error` union, required
    - object
    - string

## Other responses

- `401`: Missing, invalid, or revoked credentials.
- `402`: API_KEY_LIMIT — the plan's active-key allowance is used (starter 1, pro 10). Revoke a key first.
- `422`: The request body failed validation.

---

[API](https://skmtc.dev/wordis-bond/apis/word-is-bond-voice-agent-testing-api.md) · [All operations](https://skmtc.dev/wordis-bond/apis/word-is-bond-voice-agent-testing-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wordis-bond/apis/word-is-bond-voice-agent-testing-api/revisions/66c2d5480d84?raw)
