---
title: "Get a video"
method: GET
path: "/api/v1/videos/{id}"
tags: ["Video"]
---

# Get a video

`GET /api/v1/videos/{id}`

## Path parameters

- `id` union, required
  - integer
  - string, uuid
  - string — translation of a uuid v4 with a bigger alphabet to have a shorter uuid

## Response `200`

successful operation

- VideoDetails
  - `account` object
    - `avatars` ActorImage[]
      - `createdAt` string, date-time
      - `path` string
      - `updatedAt` string, date-time
      - `width` integer
    - `displayName` string — editable name of the account, displayed in its representations
    - `host` string, hostname — server on which the actor is resident
    - `id` integer
    - `name` string — immutable name of the actor, used to find or mention it
    - `url` string, url
    - `createdAt` string, date-time
    - `followersCount` integer — number of followers of this actor, as seen by this instance
    - `followingCount` integer — number of actors subscribed to by this actor, as seen by this instance
    - `hostRedundancyAllowed` boolean — whether this actor's host allows redundancy of its videos
    - `updatedAt` string, date-time
    - `description` string — text or bio displayed on the account's profile
    - `userId` integer
  - `blacklisted` boolean, nullable
  - `blacklistedReason` string, nullable
  - `category` VideoConstantNumberCategory
    - `id` integer — category id of the video (see [/videos/categories](#operation/getCategories))
    - `label` string
  - `channel` object
    - `avatars` ActorImage[]
      - `createdAt` string, date-time
      - `path` string
      - `updatedAt` string, date-time
      - `width` integer
    - `displayName` string — editable name of the channel, displayed in its representations
    - `host` string, hostname — server on which the actor is resident
    - `id` integer
    - `name` string — immutable name of the actor, used to find or mention it
    - `url` string, url
    - `createdAt` string, date-time
    - `followersCount` integer — number of followers of this actor, as seen by this instance
    - `followingCount` integer — number of actors subscribed to by this actor, as seen by this instance
    - `hostRedundancyAllowed` boolean — whether this actor's host allows redundancy of its videos
    - `updatedAt` string, date-time
    - `banners` ActorImage[]
      - `createdAt` string, date-time
      - `path` string
      - `updatedAt` string, date-time
      - `width` integer
    - `description` string
    - `isLocal` boolean
    - `ownerAccount` object, nullable
      - `id` integer
      - `uuid` string, uuid
    - `support` string — text shown by default on all videos of this channel, to tell the audience how to support it
  - `createdAt` string, date-time — time at which the video object was first drafted
  - `description` string — truncated description of the video, written in Markdown. Resolve `descriptionPath` to get the full description of maximum `10000` characters.
  - `dislikes` integer
  - `duration` integer — duration of the video in seconds
  - `embedPath` string
  - `id` integer
  - `isLive` boolean
  - `isLocal` boolean
  - `language` VideoConstantStringLanguage
    - `id` string — language id of the video (see [/videos/languages](#operation/getLanguages))
    - `label` string
  - `licence` VideoConstantNumberLicence
    - `id` integer — licence id of the video (see [/videos/licences](#operation/getLicences))
    - `label` string
  - `likes` integer
  - `name` string — title of the video
  - `nsfw` boolean
  - `originallyPublishedAt` string, date-time — used to represent a date of first publication, prior to the practical publication date of `publishedAt`
  - `previewPath` string
  - `privacy` VideoPrivacyConstant
    - `id` 1 | 2 | 3 | 4 — privacy id of the video (see [/videos/privacies](#operation/getPrivacyPolicies))
    - `label` string
  - `publishedAt` string, date-time — time at which the video was marked as ready for playback (with restrictions depending on `privacy`). Usually set after a `state` evolution.
  - `scheduledUpdate` VideoScheduledUpdate
    - `privacy` 1 | 2 | 3 | 4 — privacy id of the video (see [/videos/privacies](#operation/getPrivacyPolicies))
    - `updateAt` string, date, required — When to update the video
  - `shortUUID` string — translation of a uuid v4 with a bigger alphabet to have a shorter uuid
  - `state` VideoStateConstant
    - `id` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 — The video state: - `1`: Published - `2`: To transcode - `3`: To import - `4`: Waiting for live stream - `5`: Live ended - `6`: To move to an external storage (object storage...) - `7`: Transcoding failed - `8`: Moving to an external storage failed - `9`: To edit using studio edition feature
    - `label` string
  - `thumbnailPath` string
  - `updatedAt` string, date-time — last time the video's metadata was modified
  - `userHistory` object, nullable
    - `currentTime` integer
  - `uuid` string, uuid
  - `views` integer
  - `waitTranscoding` boolean, nullable
  - `commentsEnabled` boolean
  - `descriptionPath` string — path at which to get the full description of maximum `10000` characters
  - `downloadEnabled` boolean
  - `files` VideoFile[] — WebTorrent/raw video files. If WebTorrent is disabled on the server: - field will be empty - video files will be found in `streamingPlaylists[].files` field
    - `fileDownloadUrl` string, url — URL endpoint that transfers the video file as an attachment (so that the browser opens a download dialog)
    - `fileUrl` string, url — Direct URL of the video
    - `fps` number — Frames per second of the video file
    - `id` integer
    - `magnetUri` string, uri — magnet URI allowing to resolve the video via BitTorrent without a metainfo file
    - `metadataUrl` string, url — URL dereferencing the output of ffprobe on the file
    - `resolution` VideoResolutionConstant — resolutions and their labels for the video
      - `id` integer — Video resolution (`0`, `240`, `360`, `720`, `1080`, `1440` or `2160`) `0` is used as a special value for stillimage videos dedicated to audio, a.k.a. audio-only videos.
      - `label` string
    - `size` integer — Video file size in bytes
    - `torrentDownloadUrl` string, url — URL endpoint that transfers the torrent file as an attachment (so that the browser opens a download dialog)
    - `torrentUrl` string, url — Direct URL of the torrent file
  - `streamingPlaylists` VideoStreamingPlaylists[] — HLS playlists/manifest files. If HLS is disabled on the server: - field will be empty - video files will be found in `files` field
    - `id` integer
    - `type` 1 — Playlist type: - `1`: HLS
    - `files` VideoFile[] — Video files associated to this playlist. The difference with the root `files` property is that these files are fragmented, so they can be used in this streaming playlist (HLS, etc.)
      - `fileDownloadUrl` string, url — URL endpoint that transfers the video file as an attachment (so that the browser opens a download dialog)
      - `fileUrl` string, url — Direct URL of the video
      - `fps` number — Frames per second of the video file
      - `id` integer
      - `magnetUri` string, uri — magnet URI allowing to resolve the video via BitTorrent without a metainfo file
      - `metadataUrl` string, url — URL dereferencing the output of ffprobe on the file
      - `resolution` VideoResolutionConstant — resolutions and their labels for the video
        - `id` integer — Video resolution (`0`, `240`, `360`, `720`, `1080`, `1440` or `2160`) `0` is used as a special value for stillimage videos dedicated to audio, a.k.a. audio-only videos.
        - `label` string
      - `size` integer — Video file size in bytes
      - `torrentDownloadUrl` string, url — URL endpoint that transfers the torrent file as an attachment (so that the browser opens a download dialog)
      - `torrentUrl` string, url — Direct URL of the torrent file
    - `playlistUrl` string, url
    - `redundancies` object[]
      - `baseUrl` string, url
    - `segmentsSha256Url` string, url
  - `support` string — A text tell the audience how to support the video creator
  - `tags` string[]
  - `trackerUrls` string[]
  - `viewers` integer — If the video is a live, you have the amount of current viewers

---

[API](https://skmtc.net/cpy/apis/peertube.md) · [All operations](https://skmtc.net/cpy/apis/peertube/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cpy/peertube/versions/efe11b159e43/schema)
