---
title: "Self-serve: issue a FREE API key by email"
method: POST
path: "/keys"
---

# Self-serve: issue a FREE API key by email

`POST /keys`

## Request

- Base URL: `https://ai-law-tracker.com/api/v1`
- URL: `https://ai-law-tracker.com/api/v1/keys`
- Auth: one of:
  - none
  - API key in header `X-API-Key`
  - HTTP bearer

Submit an email to mint a free-tier key. The plaintext key is emailed to that address (your durable copy — find it again there anytime) AND returned once in this response. We never store the plaintext server-side. One active free key per email; abusive request rates are throttled per IP.

## Request body

- object
  - `email` string, email, required: Where the key is delivered.

## Response `201`

Key issued (plaintext shown once).

- object
  - `api_version` string
  - `key` string: Plaintext key — shown once, not recoverable.
  - `key_prefix` string
  - `id` string, uuid
  - `tier` string
  - `email` string
  - `email_delivery` object
    - `delivered` boolean

## Other responses

- `400`: Invalid email
- `409`: A key already exists for this email
- `429`: Too many key requests
- `503`: Key store not available

---

[API](https://skmtc.dev/ai-law-tracker/apis/ai-law-tracker-public-laws-api.md) · [All operations](https://skmtc.dev/ai-law-tracker/apis/ai-law-tracker-public-laws-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ai-law-tracker/apis/ai-law-tracker-public-laws-api/revisions/25403268a853?raw)
