---
title: "Generate a new API key with optional expiration."
method: PUT
path: "/api-keys"
tags: ["api-key"]
---

# Generate a new API key with optional expiration.

`PUT /api-keys`

## Query parameters

- `name` string, required
- `expires_in` '1_month' | '3_months' | '6_months' | '1_year' | '3_years' | 'never', required

## Response `200`

Successful Response

- ApiKeyCreatedResponse
  - `id` integer, required
  - `name` string, required
  - `prefix` string, required
  - `expires_at` string, date-time, nullable, required
  - `created_at` string, date-time, required
  - `api_key` string, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-23** `3bdfd02830b1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/uhh-lt/apis/discourse-analysis-tool-suite-api/changes/api-keys/put.md)

---

[API](https://skmtc.dev/uhh-lt/apis/discourse-analysis-tool-suite-api.md) · [All operations](https://skmtc.dev/uhh-lt/apis/discourse-analysis-tool-suite-api/llms.txt) · [OpenAPI document](https://skmtc.dev/uhh-lt/apis/discourse-analysis-tool-suite-api/revisions/c68c19b13069?raw)
