---
title: "Mint Project Key"
method: POST
path: "/api/v1/projects/{project_id}/keys"
tags: ["projects"]
---

# Mint Project Key

`POST /api/v1/projects/{project_id}/keys`

## Request

- Base URL: `https://core.mnemoverse.com`
- URL: `https://core.mnemoverse.com/api/v1/projects/{project_id}/keys`
- Auth: API key in header `X-Admin-Key`

Mint an API key into a project the authenticated user OWNS. Proofs:
X-Admin-Key (portal) + a live session, PLUS an ownership check. The key's
organization_id is the project's storage_org_id; project_id is stamped.

## Path parameters

- `project_id` string, required

## Request body

- ProjectKeyRequest
  - `name` string, required: Human-readable key name.
  - `tier` string
  - `rate_limit_per_min` integer
  - `atom_limit` integer
  - `daily_query_limit` integer

## Response `200`

Successful Response

- CreateKeyResponse
  - `id` string, required
  - `key` string, required: Full API key — returned only once.
  - `key_prefix` string, required
  - `organization_id` string, required
  - `tier` string, required

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `422`: Validation Error
- `429`: Rate limited
- `500`: Internal server error
- `503`: Service unavailable

---

[API](https://skmtc.dev/mnemoverse/apis/mnemoverse-core.md) · [All operations](https://skmtc.dev/mnemoverse/apis/mnemoverse-core/llms.txt) · [OpenAPI document](https://skmtc.dev/mnemoverse/apis/mnemoverse-core/revisions/1f5e0048f017?raw)
