---
title: "Mint a fresh short-lived, single-use download URL for an owned job"
method: POST
path: "/v1/jobs/{job_id}/download-url"
tags: ["jobs"]
---

# Mint a fresh short-lived, single-use download URL for an owned job

`POST /v1/jobs/{job_id}/download-url`

## Request

- Base URL: `https://api.slideforge.dev`
- URL: `https://api.slideforge.dev/v1/jobs/{job_id}/download-url`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Artifact-security (#73): exchange an owned job for a click-time download URL — short TTL, single-use, key-versioned (instantly revocable). Ownership-gated. Prefer this over holding a long-lived render-time link, so a leaked transcript/log leaks an inert pointer, not access.

## Path parameters

- `job_id` string, required

## Request body

- DownloadUrlRequest
  - `artifact` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/slideforge/apis/slideforge-api.md) · [All operations](https://skmtc.dev/slideforge/apis/slideforge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/slideforge/apis/slideforge-api/revisions/ae698e3d3c00?raw)
