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

# Create API key

`POST /api-keys`

Creates a new API key for the specified owner.

## Request body

- CreateApiKeyRequest
  - `enabled` boolean, nullable
  - `expires_at` string, date-time, nullable
  - `metadata` object, nullable
  - `name` string, required
  - `owner_id` string, required
  - `owner_type` string, required
  - `permissions` string[], nullable
  - `prefix` string, nullable
  - `rate_limit_enabled` boolean, nullable
  - `rate_limit_max_requests` integer, nullable
  - `rate_limit_time_window` integer, nullable

## Response `201`

Created

- CreateApiKeyResponse
  - `api_key` ApiKey, required
    - `created_at` string, date-time, required
    - `enabled` boolean, required
    - `expires_at` string, date-time, nullable
    - `id` string, required
    - `key_hash` string, required
    - `last` string, required
    - `last_requested_at` string, date-time, nullable
    - `metadata` object, nullable
    - `name` string, required
    - `owner_id` string, required
    - `owner_type` string, required
    - `permissions` string[], nullable
    - `prefix` string, nullable
    - `rate_limit_enabled` boolean, required
    - `start` string, required
    - `updated_at` string, date-time, required
  - `raw_api_key` string, required

---

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