---
title: "Api Get Keys Create"
method: POST
path: "/api/get-keys"
tags: ["users"]
---

# Api Get Keys Create

`POST /api/get-keys`

Create a new API key for the organization.

``super().post()`` routes through
``OrganizationInjectionMixin.post`` which calls
``inject_target_organization(request)`` — that handles superadmin-
gated ``organization`` / ``organization_id`` injection for us. We
only need to pin ``user`` (which the injection helper does not
touch) before delegating.

## Headers

- `Authorization` string, required

## Request body

- OrganizationKeyRequest
  - `project` string, nullable
  - `name` string — A free-form name for the API key. Need not be unique. 50 characters max.
  - `revoked` boolean — If the API key is revoked, clients cannot use it anymore. (This cannot be undone.)
  - `expiry_date` string, date-time, nullable — Once API key expires, clients cannot use it anymore.
  - `max_usage` integer
  - `rate_limit` number, double, nullable
  - `spending_limit` number, double, nullable
  - `is_test` boolean
  - `is_temporary` boolean

## Response `201`

- OrganizationKey
  - `id` string, required
  - `api_key` string, required
  - `suffix` string, required
  - `tags` GenericTagDisplay[], required
    - `id` string, required
    - `name` string, required
    - `color` string, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `status` 'active' | 'expired' | 'revoked', required — * `active` - Active * `expired` - Expired * `revoked` - Revoked
  - `project` string, nullable
  - `prefix` string, required
  - `hashed_key` string, required
  - `created` string, date-time, required
  - `name` string — A free-form name for the API key. Need not be unique. 50 characters max.
  - `revoked` boolean — If the API key is revoked, clients cannot use it anymore. (This cannot be undone.)
  - `expiry_date` string, date-time, nullable — Once API key expires, clients cannot use it anymore.
  - `key_usage` integer, required
  - `max_usage` integer
  - `last_used` string, date-time, required
  - `rate_limit` number, double, nullable
  - `spending_limit` number, double, nullable
  - `spending_in_period` number, double, required
  - `is_test` boolean
  - `is_temporary` boolean
  - `revoked_at` string, date-time, nullable, required
  - `revoked_by_email` string, nullable, required
  - `user` integer, nullable, required
  - `organization` integer, nullable, required
  - `created_by` integer, nullable, required
  - `updated_by` integer, nullable, required

---

[API](https://skmtc.net/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.net/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/keywordsai/api-reference/versions/c26d550029f8/schema)
