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

# Create Artifact Grant

`POST /v1/license/artifacts/download`

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.net/kugelaudio/apis/kugelaudio-tts-api.md) · [All operations](https://skmtc.net/kugelaudio/apis/kugelaudio-tts-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kugelaudio/kugelaudio-tts-api/revisions/695a69509860/schema)
