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

# POST /v1/llm/keys

`POST /v1/llm/keys`

Issues a LiteLLM API key scoped to the requested models. The key may only call the listed model names (calls to anything else are rejected) and the real underlying models stay hidden behind aliases. 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

## 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/versions/fbb186825642/schema)
