---
title: "Create Artifact Grant"
method: POST
path: "/v1/license/artifacts/download"
tags: ["license"]
---

# Create Artifact Grant

`POST /v1/license/artifacts/download`

## 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/artifacts/download`
- Auth: none declared. Required headers: `X-Kugel-License-Key`
- TypeScript: <https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/docs/v1/license/artifacts/download/post.ts> (a function with typed inputs; its response is checked against the schema)

Authorize a release and return a short-lived direct R2 download URL.

## Headers

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

## Request body

- ArtifactGrantRequest
  - `artifact_id` string, required
  - `version` string, required

## Response `200`

Successful Response

- ArtifactGrantResponse
  - `artifact_id` string, required
  - `version` string, required
  - `download_url` string, required
  - `expires_in_seconds` integer, required
  - `ciphertext_size` integer, required
  - `ciphertext_sha256` string, required
  - `archive_format` string, required
  - `compression` string, required
  - `encryption_format` string, required
  - `decryption_key_b64` string, required
  - `associated_data_b64` string, required
  - `recommended_part_size_bytes` integer, required
  - `recommended_concurrency` integer, 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)
