---
title: "Read Free Video Offer"
method: GET
path: "/account/offers/free-video"
tags: ["account"]
---

# Read Free Video Offer

`GET /account/offers/free-video`

## Request

- Base URL: `https://api.beatra.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.beatra.ai/account/offers/free-video`
- Auth: none declared

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- FreeVideoOfferResponse: The free-first-video offer as the console renders it. `status` is `available | granted | holding | consumed`. Only `available` is derived — a tenant with no row reads as available; everything else is stored. 0013 removed the redemption window, so a claim no longer expires. The locked scope is echoed back on every response so the page states what is being given in the same words the redemption path will enforce. `consumed_task_id` and `consumed_at` are the receipt: which video this turned into, and when.
  - `status` string, required
  - `capability` string, required
  - `model` string, required
  - `resolution` string, required
  - `duration_seconds` integer, required
  - `consumed_task_id` string, nullable
  - `consumed_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/beatra/apis/agent-service-api.md) · [All operations](https://skmtc.dev/beatra/apis/agent-service-api/llms.txt) · [OpenAPI document](https://skmtc.dev/beatra/apis/agent-service-api/revisions/58e440556498?raw)
