---
title: "Get Weights Key"
method: POST
path: "/v1/license/weights/key"
tags: ["license"]
---

# Get Weights Key

`POST /v1/license/weights/key`

## Request

- Base URL: `https://api.kugelaudio.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kugelaudio.com/v1/license/weights/key`
- Auth: none declared. Required headers: `X-Kugel-License-Key`
- TypeScript: <https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/docs/v1/license/weights/key/post.ts> (a function with typed inputs; its response is checked against the schema)

Return the decryption key for a weights image the caller already holds.

Additive: weights arrive in an image now, so nothing downloads here. The
licence key travels in a header rather than the query string, so it does
not land in access logs.

## Headers

- `X-Kugel-License-Key` string, required

## Request body

- WeightsKeyRequest: Every field comes from the image's own artifact-metadata.json, so a deployment restates the release it holds rather than choosing one.
  - `artifact_id` string, required
  - `version` string, required
  - `source_fingerprint` string, required
  - `wrapped_key` string, required
  - `key_encryption_key_id` string, required
  - `encryption_format` string, required

## Response `200`

Successful Response

- WeightsKeyResponse
  - `artifact_id` string, required
  - `version` string, required
  - `decryption_key_b64` string, required
  - `encryption_format` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api.md) - [All operations](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/revisions/711945519e5c?raw)
