How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

PeerTube Video API

Operations dealing with listing, uploading, fetching or modifying videos.

PeerTube Video API is one of 54 APIs that PeerTube publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Video. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and rate-limit docs.

This API exposes 27 operations across 20 paths, and defines 53 schemas. It is described by OpenAPI 3.0.3, at version 8.1.0.

Requests are made against 3 base URLs: https://peertube2.cpy.re, https://peertube3.cpy.re, https://peertube.cpy.re.

27 operations 20 paths 53 schemas 4 DELETE12 GET7 POST4 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
8.1.0
Base URL
https://{instance}/api/v1
Authentication
OAuth 2.0
License
Resource Areas
1

Authentication & Security 1

PeerTube Video API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (OAuth2) using the password flow, exposing 3 scopes.

  • OAuth2 — Authenticating via OAuth requires the following steps: - Have an activated account - [Generate] an access token for that account at /api/v1/users/token. - Make…

Paths & Operations 27

Across 20 paths, the API surfaces 27 operations — 4 DELETE, 12 GET, 7 POST, 4 PUT. Each is listed below with its method, path, parameters, and response codes.

Video 27

Operations dealing with listing, uploading, fetching or modifying videos.

GET
/api/v1/accounts/{name}/videos
List videos of an account
getAccountVideos 25 params → 200
POST
/api/v1/videos/{id}/token
Request video token
requestVideoToken 2 params → 200400404
POST
/api/v1/videos/{id}/studio/edit
Create a studio task
1 param body → 204400404
GET
/api/v1/videos
List videos
getVideos 24 params → 200
GET
/api/v1/videos/categories
List available video categories
getCategories → 200
GET
/api/v1/videos/licences
List available video licences
getLicences → 200
GET
/api/v1/videos/languages
List available video languages
getLanguages 1 param → 200
GET
/api/v1/videos/privacies
List available video privacy policies
getVideoPrivacyPolicies → 200
PUT
/api/v1/videos/{id}
Update a video
putVideo 1 param body → 204
GET
/api/v1/videos/{id}
Get a video
getVideo 2 params → 200401403
DELETE
/api/v1/videos/{id}
Delete a video
delVideo 1 param → 204
POST
/api/v1/videos/{id}/views
Notify user is watching a video
addView 1 param body → 204
POST
/api/v1/videos/upload
Upload a video
uploadLegacy body → 200403408413415422
POST
/api/v1/videos/upload-resumable
Initialize the resumable upload of a video
uploadResumableInit 2 params body → 200201413415
PUT
/api/v1/videos/upload-resumable
Send chunk for the resumable upload of a video
uploadResumable 3 params body → 200308403404409422429503
DELETE
/api/v1/videos/upload-resumable
Cancel the resumable upload of a video, deleting any data uploaded so far
uploadResumableCancel 2 params → 204404
POST
/api/v1/videos/live
Create a live
addLive body → 200400403
GET
/api/v1/videos/live/{id}
Get information about a live
getLiveId 1 param → 200
PUT
/api/v1/videos/live/{id}
Update information about a live
updateLiveId 1 param body → 204400403
GET
/api/v1/videos/{id}/source
Get video source file metadata
getVideoSource 1 param → 200
DELETE
/api/v1/videos/{id}/source/file
Delete video source file
deleteVideoSourceFile 1 param → 204404
POST
/api/v1/videos/{id}/source/replace-resumable
Initialize the resumable replacement of a video
replaceVideoSourceResumableInit 3 params body → 200201413415
PUT
/api/v1/videos/{id}/source/replace-resumable
Send chunk for the resumable replacement of a video
replaceVideoSourceResumable 4 params body → 204308403404409422429503
DELETE
/api/v1/videos/{id}/source/replace-resumable
Cancel the resumable replacement of a video
replaceVideoSourceResumableCancel 3 params → 204404
GET
/api/v1/videos/{id}/storyboards
List storyboards of a video
listVideoStoryboards 1 param → 200
GET
/api/v1/video-channels/{channelHandle}/videos
List videos of a video channel
getVideoChannelVideos 25 params → 200
GET
/api/v1/search/videos
Search videos
searchVideos 32 params → 200500

Schemas 53

The contract defines 53 schemas that model the data the API accepts and returns. The most detailed are Video (37 properties), VideoUploadRequestCommon (21 properties), VideoFile (16 properties), Actor (10 properties). Each schema is shown below with its type and property counts.

VideoStreamingPlaylists
VideoUploadRequestResumable
VideoConstantNumber-Licence
object
2 properties
VideoConstantString-Language
object
2 properties
VideoStateConstant
object
2 properties
username
string
immutable name of the user, used to find or mention its actor
ActorImage
object
6 properties
LiveVideoLatencyMode
integer
The live latency mode (Default = 1, High latency = 2, Small Latency = 3)
VideoResolutionSet
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.
VideoChannelSummary
object
6 properties
VideoReplaceSourceRequestResumable
object
1 property
VideoPrivacySet
integer
privacy id of the video (see [/videos/privacies](operation/getVideoPrivacyPolicies))
VideoUploadResponse
object
1 property
Video
object
37 properties
VideoCategorySet
integer
category id of the video (see [/videos/categories](operation/getCategories))
AccountSummary
object
6 properties
VideoListResponse
object
2 properties
VideoCommentsPolicyConstant
object
2 properties
LiveVideoReplaySettings
object
1 property
VideoSource
object
8 properties
VideoPrivacyConstant
object
2 properties
id
integer
VideoPassword
object
1 property
VideoStudioCreateTask
array
VideoLanguageSet
string
language id of the video (see [/videos/languages](operation/getLanguages))
shortUUID
string
translation of a uuid v4 with a bigger alphabet to have a shorter uuid
UUIDv4
string
UserViewingVideo
object
6 properties 1 required
VideoDetails
VideoStreamingPlaylists-HLS
object
4 properties
LiveVideoUpdate
object
5 properties
Thumbnail
object
4 properties
User
object
1 property
VideoFile
object
16 properties
LiveVideoResponse
object
8 properties
VideoChannel
VideoUploadRequestLegacy
Storyboard
object
7 properties
AddVideoPasswords
array
NSFWFlag
integer
NSFW flags (can be combined using bitwise or operator) - 0 NONE - 1 VIOLENT - 2 EXPLICITSEX
VideoLicenceSet
integer
licence id of the video (see [/videos/licences](operation/getLicences))
VideoStatsUserAgentDevice
VideoScheduledUpdate
object
2 properties 1 required
VideoTokenResponse
object
1 property
Actor
object
10 properties
FileStorage
integer
The file storage type: - 0 File system - 1 Object storage
VideoCommentsPolicySet
integer
Comments policy of the video (Enabled = 1, Disabled = 2, Requires Approval = 3)
LiveSchedule
object
1 property
ServerError
object
4 properties
VideoUploadRequestCommon
object
21 properties 2 required
VideoResolutionConstant
object
resolutions and their labels for the video
2 properties
VideoConstantNumber-Category
object
2 properties
Account

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

peertube-video-api-openapi.yml Raw ↑

Other APIs PeerTube publishes across the network.

PeerTube Abuses API
PeerTube Account Blocklist API
PeerTube Accounts API
PeerTube Automatic Tags API
PeerTube Channels Sync API
PeerTube Client Config API
PeerTube Config API
PeerTube Contact API
PeerTube Debug API
PeerTube Homepage API
PeerTube Instance Follows API
PeerTube Instance Redundancy API
Where this information came from

This is an independent, third-party profile of PeerTube Video API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.