---
title: "Get short-lived playback access for a private generation candidate"
method: GET
path: "/video/projects/{id}/generation-candidates/{jobId}/playback"
---

# Get short-lived playback access for a private generation candidate

`GET /video/projects/{id}/generation-candidates/{jobId}/playback`

## Request

- Base URL: `https://api.bamf.ai/v1`
- URL: `https://api.bamf.ai/v1/video/projects/{id}/generation-candidates/{jobId}/playback`
- Auth: HTTP bearer

Requires a signed-in JWT user who owns the project. Revalidates the take's project and source binding before returning a five-minute private playback URL. The response is private, no-store; do not persist the URL.

## Path parameters

- `id` string, uuid, required
- `jobId` string, uuid, required

## Response `200`

Short-lived signed playback URL and verified private output metadata

- object
  - `data` object, required
    - `url` string, uri, required
    - `expiresInSeconds` 300, required
    - `contentType` 'video/mp4', required
    - `byteSize` integer, required
    - `sha256` string, required

## Other responses

- `400`: Project or job ID is invalid
- `401`: Missing or invalid user session
- `403`: API-key actor or unsupported actor type
- `404`: Owned project or eligible succeeded candidate not found
- `503`: Private playback signing unavailable

---

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