PeerTube
  1. Video
PeerTube
  • Abuses
    • List abuses
      GET
    • Report an abuse
      POST
    • Delete an abuse
      DELETE
    • Update an abuse
      PUT
    • List messages of an abuse
      GET
    • Add message to an abuse
      POST
    • Delete an abuse message
      DELETE
    • List my abuses
      GET
  • Accounts
    • List accounts
      GET
    • Get an account
      GET
    • List ratings of an account
      GET
    • List videos of an account
      GET
  • Video Channels
    • List video channels of an account
    • List video channels
    • Create a video channel
    • Delete a video channel
    • Get a video channel
    • Update a video channel
    • Delete channel avatar
    • Update channel avatar
    • Delete channel banner
    • Update channel banner
  • Config
    • Get instance public configuration
    • Get instance "About" information
    • Delete instance runtime configuration
    • Get instance runtime configuration
    • Set instance runtime configuration
  • Homepage
    • Get instance custom homepage
    • Set instance custom homepage
  • Feeds
    • List videos of subscriptions tied to a token
    • List comments on videos
    • List videos
  • Job
    • List instance jobs
  • Session
    • Login prerequisite
    • Logout
    • Login
  • Plugins
    • List plugins
    • List available plugins
    • Install a plugin
    • Uninstall a plugin
    • Update a plugin
    • Get a plugin
    • Get a plugin's public settings
    • Get a plugin's registered settings
    • Set a plugin's settings
  • Search
    • Search channels
    • Search playlists
    • Search videos
  • Account Blocks
    • List account blocks
    • Block an account
    • Unblock an account by its handle
  • Server Blocks
    • List server blocks
    • Block a server
    • Unblock a server by its domain
  • Instance Follows
    • List instances following the server
    • Remove or reject a follower to your server
    • Accept a pending follower to your server
    • Reject a pending follower to your server
    • List instances followed by the server
    • Follow a list of actors (PeerTube instance, channel or account)
    • Unfollow an actor (PeerTube instance, channel or account)
  • Video Mirroring
    • List videos being mirrored
    • Mirror a video
    • Delete a mirror done on a video
  • Instance Redundancy
    • Update a server redundancy policy
  • Users
    • List users
    • Create a user
    • Resend user verification link
    • Register a user
    • Delete a user
    • Get a user
    • Update a user
    • Verify a user
  • My User
    • Get my user information
    • Update my user information
    • Delete my avatar
    • Update my user avatar
    • Get my user used quota
    • Get videos of my user
    • Get rate of my user for a video
  • My History
    • List watched videos history
    • Clear video history
  • My Notifications
    • Update my notification settings
    • List my notifications
    • Mark notifications as read by their id
    • Mark all my notification as read
  • My Subscriptions
    • Get my user subscriptions
    • Add subscription to my user
    • Get if subscriptions exist for my user
    • List videos of subscriptions of my user
    • Delete subscription of my user
    • Get subscription of my user
  • Video Playlists
    • Check video exists in my playlists
    • List video playlists
    • Create a video playlist
    • List available playlist privacy policies
    • Delete a video playlist
    • Get a video playlist
    • Update a video playlist
    • Reorder a playlist
    • Delete an element from a playlist
    • Update a playlist element
  • Videos
    • Get video imports of my user
    • List videos of a playlist
    • Add a video in a playlist
  • Video
    • List videos of a video channel
      GET
    • List videos
      GET
    • List available video categories
      GET
    • Import a video
      POST
    • List available video languages
      GET
    • List available video licences
      GET
    • List available video privacy policies
      GET
    • Upload a video
      POST
    • Cancel the resumable upload of a video, deleting any data uploaded so far
      DELETE
    • Initialize the resumable upload of a video
      POST
    • Send chunk for the resumable upload of a video
      PUT
    • Delete a video
      DELETE
    • Get a video
      GET
    • Update a video
      PUT
    • Get complete video description
      GET
    • Add a view to a video
      POST
    • Set watching progress of a video
      PUT
  • Video Blocks
    • List video blocks
    • Unblock a video by its id
    • Block a video
  • Live Videos
    • Create a live
    • Get information about a live
    • Update information about a live
  • Video Ownership Change
    • List video ownership changes
    • Accept ownership change request
    • Refuse ownership change request
    • Request ownership change
  • Video Captions
    • List captions of a video
    • Delete a video caption
    • Add or replace a video caption
  • Video Comments
    • List threads of a video
    • Create a thread
    • Get a thread
    • Delete a comment or a reply
    • Reply to a thread of a video
  • Video Rates
    • Like/dislike a video
  1. Video

Get a video

Live Test Server (live data - latest nightly version)
https://peertube2.cpy.re/api/v1
Live Test Server (live data - latest nightly version)
https://peertube2.cpy.re/api/v1
GET
/videos/{id}
Video
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET 'https://peertube2.cpy.re/api/v1/videos/'
Response Response Example
{
    "account": {
        "avatar": {
            "createdAt": "2019-08-24T14:15:22Z",
            "path": "string",
            "updatedAt": "2019-08-24T14:15:22Z"
        },
        "displayName": "string",
        "host": "example.com",
        "id": 42,
        "name": "chocobozzz",
        "url": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "followersCount": 0,
        "followingCount": 0,
        "hostRedundancyAllowed": true,
        "updatedAt": "2019-08-24T14:15:22Z",
        "description": "string",
        "userId": {}
    },
    "blacklisted": true,
    "blacklistedReason": "string",
    "category": {
        "id": 15,
        "label": "Science & Technology"
    },
    "channel": {
        "avatar": {
            "createdAt": "2019-08-24T14:15:22Z",
            "path": "string",
            "updatedAt": "2019-08-24T14:15:22Z"
        },
        "displayName": "Videos of Framasoft",
        "host": "example.com",
        "id": 42,
        "name": "string",
        "url": "string",
        "description": "Videos made with <3 by Framasoft",
        "isLocal": true,
        "ownerAccount": {
            "id": 0,
            "uuid": "9c9de5e8-0a1e-484a-b099-e80766180a6d"
        },
        "support": "Please support our work on https://soutenir.framasoft.org/en/ <3",
        "updatedAt": "2019-08-24T14:15:22Z"
    },
    "createdAt": "2017-10-01T10:52:46.396Z",
    "description": "**[Want to help to translate this video?](https://weblate.framasoft.org/projects/what-is-peertube-video/)**\\r\\n\\r\\n\n**Take back the control of your videos! [#JoinPeertube](https://joinpeertube.org)**\\r\\n*A decentralized video hosting network, based on fr...\n",
    "dislikes": 7,
    "duration": 1419,
    "embedPath": "/videos/embed/a65bc12f-9383-462e-81ae-8207e8b434ee",
    "id": 42,
    "isLive": true,
    "isLocal": true,
    "language": {
        "id": "en",
        "label": "English"
    },
    "licence": {
        "id": 2,
        "label": "Attribution - Share Alike"
    },
    "likes": 42,
    "name": "What is PeerTube?",
    "nsfw": true,
    "originallyPublishedAt": "2010-10-01T10:52:46.396Z",
    "previewPath": "/lazy-static/previews/a65bc12f-9383-462e-81ae-8207e8b434ee.jpg",
    "privacy": {
        "id": 1,
        "label": "string"
    },
    "publishedAt": "2018-10-01T10:52:46.396Z",
    "scheduledUpdate": {
        "privacy": 1,
        "updateAt": "2019-08-24"
    },
    "shortUUID": "2y84q2MQUMWPbiEcxNXMgC",
    "state": {
        "id": 1,
        "label": "string"
    },
    "thumbnailPath": "/static/thumbnails/a65bc12f-9383-462e-81ae-8207e8b434ee.jpg",
    "updatedAt": "2021-05-04T08:01:01.502Z",
    "userHistory": {
        "currentTime": 0
    },
    "uuid": "9c9de5e8-0a1e-484a-b099-e80766180a6d",
    "views": 1337,
    "waitTranscoding": true,
    "commentsEnabled": true,
    "descriptionPath": "/api/v1/videos/9c9de5e8-0a1e-484a-b099-e80766180a6d/description",
    "downloadEnabled": true,
    "files": [
        {
            "fileDownloadUrl": "string",
            "fileUrl": "string",
            "fps": 0,
            "magnetUri": "magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.torrent&xt=urn:btih:38b4747ff788b30bf61f59d1965cd38f9e48e01f&dn=What+is+PeerTube%3F&tr=wss%3A%2F%2Fframatube.org%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.mp4",
            "metadataUrl": "string",
            "resolution": {
                "id": 240,
                "label": "240p"
            },
            "size": 0,
            "torrentDownloadUrl": "string",
            "torrentUrl": "string"
        }
    ],
    "streamingPlaylists": [
        {
            "id": 42,
            "type": 1,
            "files": [
                {
                    "fileDownloadUrl": "string",
                    "fileUrl": "string",
                    "fps": 0,
                    "magnetUri": "magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.torrent&xt=urn:btih:38b4747ff788b30bf61f59d1965cd38f9e48e01f&dn=What+is+PeerTube%3F&tr=wss%3A%2F%2Fframatube.org%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.mp4",
                    "metadataUrl": "string",
                    "resolution": {
                        "id": 240,
                        "label": "240p"
                    },
                    "size": 0,
                    "torrentDownloadUrl": "string",
                    "torrentUrl": "string"
                }
            ],
            "playlistUrl": "string",
            "redundancies": [
                {
                    "baseUrl": "string"
                }
            ],
            "segmentsSha256Url": "string"
        }
    ],
    "support": "Please support our work on https://soutenir.framasoft.org/en/ <3",
    "tags": [
        "flowers",
        "gardening"
    ],
    "trackerUrls": [
        "https://peertube2.cpy.re/tracker/announce",
        "wss://peertube2.cpy.re/tracker/socket"
    ]
}

Request

Path Params
id
string 
required
The object id, uuid or short uuid

Responses

🟢200successful operation
application/json
Body
account
object  | allOf {8} 
Account
optional
object (Actor) 
optional
object 
optional
avatar
null  | allOf {1} 
optional
displayName
string 
optional
host
string <hostname>
optional
id
integer 
optional
name
string 
optional
url
string <url>
optional
blacklisted
boolean  | null 
optional
blacklistedReason
string  | null 
optional
category
object 
optional
category in which the video is classified
id
integer 
VideoCategorySet
optional
category id of the video (see /videos/categories)
Example:
15
label
string 
optional
Example:
Science & Technology
channel
object 
VideoChannel
optional
avatar
null  | allOf {1} 
optional
displayName
string 
optional
editable name of the channel, displayed in its representations
>= 1 characters<= 120 characters
Example:
Videos of Framasoft
host
string <hostname>
optional
id
integer 
id
read-onlyoptional
>= 1
Example:
42
name
string 
optional
url
string <url>
optional
description
string 
optional
>= 3 characters<= 1000 characters
Example:
Videos made with <3 by Framasoft
isLocal
boolean 
read-onlyoptional
ownerAccount
object  | null 
read-onlyoptional
support
string 
optional
text shown by default on all videos of this channel, to tell the audience how to support it
>= 3 characters<= 1000 characters
Example:
Please support our work on https://soutenir.framasoft.org/en/ <3
updatedAt
string <date-time>
read-onlyoptional
createdAt
string <date-time>
optional
time at which the video object was first drafted
Example:
2017-10-01T10:52:46.396Z
description
string 
optional
truncated description of the video, written in Markdown.
Resolve descriptionPath to get the full description of maximum 10000 characters.
>= 3 characters<= 250 characters
Example:
**[Want to help to translate this video?](https://weblate.framasoft.org/projects/what-is-peertube-video/)**\r\n\r\n **Take back the control of your videos! [#JoinPeertube](https://joinpeertube.org)**\r\n*A decentralized video hosting network, based on fr...
dislikes
integer 
optional
Example:
7
duration
integer 
optional
duration of the video in seconds
Example:
1419
embedPath
string 
optional
Example:
/videos/embed/a65bc12f-9383-462e-81ae-8207e8b434ee
id
integer 
optional
object id for the video
>= 1
Example:
42
isLive
boolean 
optional
isLocal
boolean 
optional
language
object 
optional
main language used in the video
id
string 
VideoLanguageSet
optional
language id of the video (see /videos/languages)
Example:
en
label
string 
optional
Example:
English
licence
object 
optional
licence under which the video is distributed
id
integer 
VideoLicenceSet
optional
licence id of the video (see /videos/licences)
Example:
2
label
string 
optional
Example:
Attribution - Share Alike
likes
integer 
optional
Example:
42
name
string 
optional
title of the video
>= 3 characters<= 120 characters
Example:
What is PeerTube?
nsfw
boolean 
optional
originallyPublishedAt
string <date-time>
optional
used to represent a date of first publication, prior to the practical publication date of publishedAt
Example:
2010-10-01T10:52:46.396Z
previewPath
string 
optional
Example:
/lazy-static/previews/a65bc12f-9383-462e-81ae-8207e8b434ee.jpg
privacy
object 
optional
privacy policy used to distribute the video
id
enum<integer> 
VideoPrivacySet
optional
privacy id of the video (see /videos/privacies)
Allowed values:
1234
label
string 
optional
publishedAt
string <date-time>
optional
time at which the video was marked as ready for playback (with restrictions depending on privacy). Usually set after a state evolution.
Example:
2018-10-01T10:52:46.396Z
scheduledUpdate
null  | allOf {1} 
optional
object (VideoScheduledUpdate) 
optional
shortUUID
string 
optional
translation of a uuid v4 with a bigger alphabet to have a shorter uuid
Example:
2y84q2MQUMWPbiEcxNXMgC
state
object 
optional
represents the internal state of the video processing within the PeerTube instance
id
enum<integer> 
optional
The video state (Published = 1, to transcode = 2, to import = 3)
Allowed values:
123
label
string 
optional
thumbnailPath
string 
optional
Example:
/static/thumbnails/a65bc12f-9383-462e-81ae-8207e8b434ee.jpg
updatedAt
string <date-time>
optional
last time the video's metadata was modified
Example:
2021-05-04T08:01:01.502Z
userHistory
object  | null 
optional
currentTime
integer 
optional
uuid
string <uuid>
optional
universal identifier for the video, that can be used across instances
>= 36 characters<= 36 characters
Example:
9c9de5e8-0a1e-484a-b099-e80766180a6d
Match pattern:
^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
views
integer 
optional
Example:
1337
waitTranscoding
boolean  | null 
optional
commentsEnabled
boolean 
optional
descriptionPath
string 
optional
path at which to get the full description of maximum 10000 characters
Example:
/api/v1/videos/9c9de5e8-0a1e-484a-b099-e80766180a6d/description
downloadEnabled
boolean 
optional
files
array[object (VideoFile) {9}] 
optional
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>
optional
URL endpoint that transfers the video file as an attachment (so that the browser opens a download dialog)
fileUrl
string <url>
optional
Direct URL of the video
fps
number 
optional
Frames per second of the video file
magnetUri
string <uri>
optional
magnet URI allowing to resolve the video via BitTorrent without a metainfo file
Example:
magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.torrent&xt=urn:btih:38b4747ff788b30bf61f59d1965cd38f9e48e01f&dn=What+is+PeerTube%3F&tr=wss%3A%2F%2Fframatube.org%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.mp4
Match pattern:
/magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32}/i
metadataUrl
string <url>
optional
URL dereferencing the output of ffprobe on the file
resolution
object 
VideoResolutionConstant
optional
resolutions and their labels for the video
size
integer 
optional
Video file size in bytes
torrentDownloadUrl
string <url>
optional
URL endpoint that transfers the torrent file as an attachment (so that the browser opens a download dialog)
torrentUrl
string <url>
optional
Direct URL of the torrent file
streamingPlaylists
array[object (VideoStreamingPlaylists) {6}] 
optional
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 
id
optional
>= 1
Example:
42
type
enum<integer> 
optional
Playlist type:
1: HLS
Allowed value:
1
files
array[object (VideoFile) {9}] 
optional
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.)
playlistUrl
string <url>
optional
redundancies
array [object {1}] 
optional
segmentsSha256Url
string <url>
optional
support
string 
optional
A text tell the audience how to support the video creator
>= 3 characters<= 1000 characters
Example:
Please support our work on https://soutenir.framasoft.org/en/ <3
tags
array[string]
optional
>= 1 items<= 5 items
Example:
["flowers","gardening"]
trackerUrls
array[string <url>]
optional
Example:
["https://peertube2.cpy.re/tracker/announce","wss://peertube2.cpy.re/tracker/socket"]
Modified at 2022-09-10 22:29:50
Previous
Delete a video
Next
Update a video
Built with