---
title: "List videos of a playlist"
method: GET
path: "/api/v1/video-playlists/{playlistId}/videos"
tags: ["Videos", "Video Playlists"]
---

# List videos of a playlist

`GET /api/v1/video-playlists/{playlistId}/videos`

## Path parameters

- `playlistId` integer, required

## Query parameters

- `start` integer
- `count` integer

## Response `200`

successful operation

- VideoListResponse
  - `data` Video[]
    - `account` AccountSummary
      - `avatars` ActorImage[]
        - `createdAt` string, date-time
        - `path` string
        - `updatedAt` string, date-time
        - `width` integer
      - `displayName` string
      - `host` string, hostname
      - `id` integer
      - `name` string
      - `url` string, url
    - `blacklisted` boolean, nullable
    - `blacklistedReason` string, nullable
    - `category` VideoConstantNumberCategory
      - `id` integer — category id of the video (see [/videos/categories](#operation/getCategories))
      - `label` string
    - `channel` VideoChannelSummary
      - `avatars` ActorImage[]
        - `createdAt` string, date-time
        - `path` string
        - `updatedAt` string, date-time
        - `width` integer
      - `displayName` string
      - `host` string, hostname
      - `id` integer
      - `name` string
      - `url` string, url
    - `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
  - `total` integer

---

[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)
