---
title: "Create API Key"
method: POST
path: "/v0/organizations/{organization-id}/api-keys"
tags: ["API keys"]
---

# Create API Key

`POST /v0/organizations/{organization-id}/api-keys`

## Request

- Base URL: `https://api.griffin.com`
- URL: `https://api.griffin.com/v0/organizations/{organization-id}/api-keys`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/griffin/apis/the-griffin-api/docs/v0/organizations/:organization-id/api-keys/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a new API key. This is the only time `api-key-secret` is shown.

## Path parameters

- `organization-id` string, required

## Request body

- object
  - `api-key-name` unknown, required

## Response `201`

Created

- object
  - `api-key-url` union, required: The resource path for the API key
    - string
    - string
  - `api-key-name` string, required: The immutable display name for the API key
  - `api-key-live?` boolean, required
  - `organization-url` string, required: Link to the [organization](#tag/Organizations).
  - `user-url` string, required: Link to the user.
  - `created-at` string, date-time, required: ISO 8601 formatted date-time.
  - `api-key-secret` string, required: The API secret

## Other responses

- `400`: Bad Request
- `401`: Requires an API key to continue
- `404`: Not Found
- `409`: Conflict

## Changes

- **2026-09-19** `3e69d9e24ef6`: 1 info
  - api operation id `post-organizations-organization-id-api-keys` was added

[Operation history](https://skmtc.dev/griffin/apis/the-griffin-api/changes/v0/organizations/:organization-id/api-keys/post.md)

---

[API](https://skmtc.dev/griffin/apis/the-griffin-api.md) - [All operations](https://skmtc.dev/griffin/apis/the-griffin-api/llms.txt) - [OpenAPI document](https://skmtc.dev/griffin/apis/the-griffin-api/revisions/9e4c303c70a5?raw)
