---
title: "Generate an API key"
method: POST
path: "/api-keys"
tags: ["Account"]
---

# Generate an API key

`POST /api-keys`

## Request

- Base URL: `https://barevalue.com/api/v1`
- URL: `https://barevalue.com/api/v1/api-keys`
- Auth: none required

Exchange email and password for a Bearer API key (prefixed `bv_sk_*`). Rate limited to 5 requests per 60 minutes per IP.

## Request body

- ApiKeyRequest
  - `email` string, email, required
  - `password` string, password, required

## Response `200`

API key generated

- ApiKeyResponse
  - `api_key` string: API key (bv_sk_* prefix). Store securely; shown only once.
  - `expires_at` string, date-time, nullable

## Other responses

- `401`: Missing or invalid API key
- `429`: Rate limit exceeded

---

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