---
title: "Retrieve Video"
method: GET
path: "/videos/{id}"
tags: ["Videos"]
---

# Retrieve Video

`GET /videos/{id}`

Returns details for a single video.

**Important:** Until `status` is `processed`, `playback_url`
returns the raw upload URL (the `pending_uri`) and `format`
returns the file extension of that URL — not the HLS
playback URL or `m3u8`. Poll this endpoint until
`status: processed` before consuming
`playback_url`/`format`.

## Path parameters

- `id` string, id, required

## Response `200`

Details about the video

- Video
  - `id` string, required — The unique ID for the video
  - `company_id` string — A unique identifier for the Company the Video belongs to
  - `creator_id` string — The id of the entity that created the Video
  - `creator_type` string — The type of the entity that created the Video
  - `creator_name` string — The display name of the entity that created the Video
  - `project_id` string — The unique ID of the project the Video was captured at
  - `coordinates` Coordinate
    - `lat` number, float, required
    - `lon` number, float, required
  - `status` 'pending' | 'processing' | 'processed' | 'processing_error' — The video's processing status. Until `status` is `processed`, `playback_url` and `format` reflect the raw upload — not the HLS playback URL.
  - `internal` boolean — Indicates whether the video is for internal use only and should not be used in marketing or other public materials
  - `captured_at` integer — Unix timestamp when the Video was captured
  - `created_at` integer — Unix timestamp when the video record was created on the server. May differ from `captured_at`.
  - `updated_at` integer — Unix timestamp when the video was last updated
  - `playback_url` string, nullable — Once `status` is `processed`, this is the HLS manifest URL (`.m3u8`) used to play the video. Before processing completes, this is the raw upload URL (the `pending_uri`).
  - `format` string, nullable — The video format. `"m3u8"` once the video has been processed; otherwise the file extension of the pending upload (e.g. `"mov"`, `"mp4"`).
  - `thumbnail_urls` object — Static thumbnail images at three sizes. May be null until the thumbnail has been fetched.
    - `large` string, nullable
    - `medium` string, nullable
    - `small` string, nullable
  - `duration` integer — Length of the video in seconds

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not found
- `500` — Unexpected error

---

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