---
title: "Retrieve video status and details"
method: GET
path: "/videos/{videoId}/status"
tags: ["Videos"]
---

# Retrieve video status and details

`GET /videos/{videoId}/status`

Retrieve upload status and encoding status to determine when the video is uploaded or ready to playback. Once encoding is completed, the response also lists the available stream qualities.

## Path parameters

- `videoId` string, required

## Response `200`

Success

- VideoStatus
  - `ingest` VideoStatusIngest — Details about the capturing, transferring, and storing of your video for use immediately or in the future.
    - `status` 'uploading' | 'uploaded' | 'ingesting' | 'ingested' — There are four possible statuses depending on how you provide a video file: - `uploading` - the API is gathering the video source file from an upload. - `uploaded` - the video file is fully uploaded. - `ingesting` - the API is gathering the video source file from either a URL, or from cloning. - `ingested` - the video file is fully stored.
    - `filesize` integer, nullable — The size of your file in bytes.
    - `receivedBytes` BytesRange[] — The total number of bytes received, listed for each chunk of the upload.
      - `from` integer — The starting point for the range of bytes for a chunk of a video.
      - `to` integer — The ending point for the range of bytes for a chunk of a video.
      - `total` integer — The total number of expected bytes.
    - `receivedParts` VideoStatusIngestReceivedParts
      - `parts` integer[] — The parts that have been uploaded, ordered. For example, if part 2 was sent before part 1, and both have been uploaded, the output will be [1, 2].
      - `total` integer, nullable — Contains the number of expected parts. The total will be listed as "null" until the total number of parts is known.
  - `encoding` VideoStatusEncoding
    - `playable` boolean — Whether the video is playable or not.
    - `qualities` Quality[] — Available qualities the video can be viewed in.
      - `type` 'hls' | 'mp4' — The type of video (hls or mp4).
      - `quality` '240p' | '360p' | '480p' | '720p' | '1080p' | '2160p' — The quality of the video you have, in pixels. Choices include 360p, 480p, 720p, 1080p, and 2160p.
      - `status` 'waiting' | 'encoding' | 'encoded' | 'failed' — The status of your video. Statuses include waiting - the video is waiting to be encoded. encoding - the video is in the process of being encoded. encoded - the video was successfully encoded. failed - the video failed to be encoded.
    - `metadata` VideoStatusEncodingMetadata
      - `width` integer, nullable — The width of the video in pixels.
      - `height` integer, nullable — The height of the video in pixels.
      - `bitrate` number, nullable — The number of bits processed per second.
      - `duration` integer, nullable — The length of the video.
      - `framerate` integer, nullable — The frequency with which consecutive images or frames appear on a display. Shown in this API as frames per second (fps).
      - `samplerate` integer, nullable — How many samples per second a digital audio system uses to record an audio signal. The higher the rate, the higher the frequencies that can be recorded. They are presented in this API using hertz.
      - `videoCodec` string, nullable — The method used to compress and decompress digital video. API Video supports all codecs in the libavcodec library.
      - `audioCodec` string, nullable — The method used to compress and decompress digital audio for your video.
      - `aspectRatio` string, nullable

## Other responses

- `404` — Not Found
- `429` — Too Many Requests

---

[API](https://skmtc.net/apivideo/apis/api-video.md) · [All operations](https://skmtc.net/apivideo/apis/api-video/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/apivideo/api-video/revisions/45ec26f342b6/schema)
