---
title: "POST /v1/llm/keys"
method: POST
path: "/v1/llm/keys"
tags: ["LLM"]
---

# POST /v1/llm/keys

`POST /v1/llm/keys`

Issues an LLM API key scoped to the requested models. The key may only call the listed model names; calls to anything else are rejected. Expires after `duration` (1-99 hours or minutes, e.g. `72h` or `30m`; default 72h).

## Headers

- `Authorization` string

## Request body

- object
  - `models` string[], required
  - `duration` string
  - `purpose` 'code_review'
  - `operationId` string, uuid

## Response `201`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, required
    - `type` 'llm-key', required
    - `attributes` object, required
      - `key` string, required
      - `expiresAt` string, date-time, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

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