---
title: "Create a new API key"
method: POST
path: "/api/v1/keys"
tags: ["API Keys"]
---

# Create a new API key

`POST /api/v1/keys`

## Request

- Base URL: `https://investormatch.pro`
- URL: `https://investormatch.pro/api/v1/keys`
- Auth: HTTP bearer

Mints a new API key for the authenticated account. The full key is returned ONCE and never again. Authenticated with an existing key and rate-limited.

## Request body

- CreateKeyRequest
  - `name` string: Human-friendly label for the key.
  - `is_test_mode` boolean: When true, mints an im_test_… key that never charges credits.

## Response `201`

Key created. Store api_key securely — it is shown only once.

- CreateKeyResponse: The full API key is returned ONCE at creation time and never again — store it securely.
  - `api_key` string
  - `name` string, nullable
  - `is_test_mode` boolean
  - `created_at` string, date-time

## Other responses

- `400`: Invalid request body.
- `401`: Missing or invalid API key.
- `429`: Rate limit exceeded.

---

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