---
title: "Ensure My Api Key"
method: POST
path: "/v1/me/api-key/ensure"
---

# Ensure My Api Key

`POST /v1/me/api-key/ensure`

## Request

- Base URL: `https://api.transcript.land` (the document declares no server; this is the origin it was published from)
- URL: `https://api.transcript.land/v1/me/api-key/ensure`
- Auth: none declared

Idempotently guarantee the caller has an API key. Returns the existing
one if present (no plaintext); otherwise mints one and returns the plaintext
ONCE. Called on login so every user always has exactly one key.

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- ApiKeyState
  - `has_key` boolean, required
  - `key_prefix` string, nullable
  - `tier` string, required
  - `created_at` string, nullable
  - `key` string, nullable

## Other responses

- `422`: Validation Error

---

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