---
title: "Get video by ID"
method: GET
path: "/api/videos/{video_id}"
tags: ["videos"]
---

# Get video by ID

`GET /api/videos/{video_id}`

Get a single video by its ID (requires authentication)

## Path parameters

- `video_id` integer, required

## Response `200`

Successful Response

- VideoResponse — Video response model.
  - `id` integer, required — Video ID
  - `created_at` string, required — Creation timestamp
  - `youtube_url` string, nullable — YouTube URL
  - `title` string, required — Video title
  - `description` string, required — Video description
  - `type` string, nullable — Video type/category
  - `video_id` string, nullable — Video identifier
  - `thumbnail` string, nullable — Base64 encoded video thumbnail
  - `badge_name` string, nullable — Badge name to display for this video in app/website
  - `is_locked` boolean — Whether the video is visible but not playable
  - `locked_message` string, nullable — Reason shown when the video is locked
  - `cta_url` string, nullable — CTA URL/path shown when the video is locked
  - `cta_label` string, nullable — CTA label shown when the video is locked

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/corabea/apis/corabea-api.md) · [All operations](https://skmtc.dev/corabea/apis/corabea-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/corabea/corabea-api/revisions/13c1bce1bdc4/schema)
