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

# Create API key

`POST /api-keys`

## Request

- Base URL: `https://app.freyavoice.ai/api/v2`
- URL: `https://app.freyavoice.ai/api/v2/api-keys`
- Auth: HTTP bearer

Creates a new API key. The key value is only returned in this response.

## Request body

- object
  - `name` string, required: Name for the API key
  - `workspaceId` string, required: Workspace ID
  - `userId` string, required: User ID creating the key
  - `expiresAt` string: Expiration date (ISO format)
  - `rateLimit` object: Rate limit configuration
    - `requestsPerMinute` integer, required
    - `requestsPerDay` integer, required

## Response `200`

API key created (includes the key value)

- object
  - `success` true, required
  - `data` object, required
    - `message` string, required
    - `result` object, required
      - `apiKey` object, required
        - `id` string, required
        - `key` string, required
        - `workspaceId` string, required
        - `userId` string, required
        - `name` string, required
        - `isActive` boolean, required
        - `createdAt` string, required
        - `lastUsedAt` string, nullable
        - `expiresAt` string, nullable
        - `rateLimit` object
          - `requestsPerMinute` integer, required
          - `requestsPerDay` integer, required
        - `creator` object
          - `id` string, required
          - `email` string, email, nullable
          - `displayName` string, nullable
      - `key` string, required

## Other responses

- `400`: Validation error
- `401`: Missing or invalid token
- `500`: Server error

---

[API](https://skmtc.dev/freyavoice/apis/freyavoice-api.md) - [All operations](https://skmtc.dev/freyavoice/apis/freyavoice-api/llms.txt) - [OpenAPI document](https://skmtc.dev/freyavoice/apis/freyavoice-api/revisions/153d120f0c73?raw)
