6 name: PeerTube Community
7 url: 'https://joinpeertube.org'
10 url: 'https://github.com/Chocobozzz/PeerTube/blob/master/LICENSE'
12 url: 'https://joinpeertube.org/img/brand.png'
13 altText: PeerTube Project Homepage
17 The PeerTube API is built on HTTP(S) and is RESTful. You can use your favorite
18 HTTP/REST library for your programming language to use PeerTube. No official
19 SDK is currently provided, but the spec API is fully compatible with
20 [openapi-generator](https://github.com/OpenAPITools/openapi-generator/wiki/API-client-generator-HOWTO)
21 which generates a client SDK in the language of your choice.
23 See the [Quick Start guide](https://docs.joinpeertube.org/#/api-rest-getting-started) so you can play with the PeerTube API.
27 When you sign up for an account, you are given the possibility to generate
28 sessions, and authenticate using this session token. One session token can
29 currently be used at a time.
33 The API uses standard HTTP status codes to indicate the success or failure
34 of the API call. The body of the response will be JSON in the following
39 "code": "unauthorized_request", // example inner error code
40 "error": "Token is invalid." // example exposed error message
44 url: https://docs.joinpeertube.org/api-rest-reference.html
48 Using some features of PeerTube require authentication, for which Accounts
49 provide different levels of permission as well as associated user
50 information. Accounts also encompass remote accounts discovered across the federation.
53 Each server exposes public information regarding supported videos and
57 Jobs are long-running tasks enqueued and processed by the instance
58 itself. No additional worker registration is currently available.
59 - name: Instance Follows
61 Managing servers which the instance interacts with is crucial to the
62 concept of federation in PeerTube and external video indexation. The PeerTube
63 server then deals with inter-server ActivityPub operations and propagates
64 information across its social graph by posting activities to actors' inbox
68 Video abuses deal with reports of local or remote videos alike.
71 Operations dealing with listing, uploading, fetching or modifying videos.
74 The search helps to find _videos_ from within the instance and beyond.
75 Videos from other instances federated by the instance (that is, instances
76 followed by the instance) can be found via keywords and other criteria of
78 - name: Video Comments
80 Operations dealing with comments to a video. Comments are organized in
82 - name: Video Playlists
84 Operations dealing with playlists of videos. Playlists are bound to users
86 - name: Video Channels
88 Operations dealing with creation, modification and video listing of a
90 - name: Video Blacklist
92 Operations dealing with blacklisting videos (removing them from view and
93 preventing interactions).
113 - Video Ownership Change
121 - name: Instance Configuration
133 summary: Get an account
135 - $ref: '#/components/parameters/name'
138 description: successful operation
142 $ref: '#/components/schemas/Account'
143 '/accounts/{name}/videos':
148 summary: 'List videos of an account'
150 - $ref: '#/components/parameters/name'
153 description: successful operation
157 $ref: '#/components/schemas/VideoListResponse'
161 fetch('https://peertube2.cpy.re/api/v1/accounts/{name}/videos')
162 .then(function(response) {
163 return response.json()
164 }).then(function(data) {
170 http -b GET https://peertube2.cpy.re/api/v1/accounts/{name}/videos
176 uri = URI.parse("https://peertube2.cpy.re/api/v1/accounts/{name}/videos")
178 http = Net::HTTP.new(uri.host, uri.port)
181 response = http.get(uri.request_uri)
183 puts JSON.parse(response.read_body)
188 r = requests.get("https://peertube2.cpy.re/api/v1//accounts/{name}/videos")
196 summary: List accounts
198 - $ref: '#/components/parameters/start'
199 - $ref: '#/components/parameters/count'
200 - $ref: '#/components/parameters/sort'
203 description: successful operation
209 $ref: '#/components/schemas/Account'
214 summary: Get instance public configuration
217 description: successful operation
221 $ref: '#/components/schemas/ServerConfig'
224 summary: Get instance "About" information
229 description: successful operation
233 $ref: '#/components/schemas/ServerConfigAbout'
236 summary: Get instance runtime configuration
244 description: successful operation
248 $ref: '#/components/schemas/ServerConfigCustom'
250 summary: Set instance runtime configuration
258 description: successful operation
260 summary: Delete instance runtime configuration
268 description: successful operation
271 summary: List instance jobs
281 description: The state of the job
290 - $ref: '#/components/parameters/start'
291 - $ref: '#/components/parameters/count'
292 - $ref: '#/components/parameters/sort'
295 description: successful operation
301 $ref: '#/components/schemas/Job'
302 '/server/following/{host}':
309 summary: Unfollow a server
314 description: 'The host to unfollow '
319 description: successful operation
324 summary: List instance followers
326 - $ref: '#/components/parameters/start'
327 - $ref: '#/components/parameters/count'
328 - $ref: '#/components/parameters/sort'
331 description: successful operation
337 $ref: '#/components/schemas/Follow'
342 summary: List instance followings
344 - $ref: '#/components/parameters/start'
345 - $ref: '#/components/parameters/count'
346 - $ref: '#/components/parameters/sort'
349 description: successful operation
355 $ref: '#/components/schemas/Follow'
362 summary: Follow a server
365 description: successful operation
370 $ref: '#/components/schemas/Follow'
373 summary: Create a user
381 description: successful operation
385 $ref: '#/components/schemas/AddUserResponse'
390 $ref: '#/components/schemas/AddUser'
391 description: User to create
400 - $ref: '#/components/parameters/start'
401 - $ref: '#/components/parameters/count'
402 - $ref: '#/components/parameters/usersSort'
405 description: successful operation
411 $ref: '#/components/schemas/User'
414 summary: Delete a user
421 - $ref: '#/components/parameters/id'
424 description: successful operation
432 - $ref: '#/components/parameters/id'
435 description: successful operation
439 $ref: '#/components/schemas/User'
441 summary: Update a user
447 - $ref: '#/components/parameters/id'
450 description: successful operation
455 $ref: '#/components/schemas/UpdateUser'
459 summary: Register a user
464 description: successful operation
469 $ref: '#/components/schemas/RegisterUser'
473 summary: Get my user information
481 description: successful operation
487 $ref: '#/components/schemas/User'
489 summary: Update my user information
497 description: successful operation
502 $ref: '#/components/schemas/UpdateMe'
504 /users/me/videos/imports:
506 summary: Get video imports of my user
514 - $ref: '#/components/parameters/start'
515 - $ref: '#/components/parameters/count'
516 - $ref: '#/components/parameters/sort'
519 description: successful operation
523 $ref: '#/components/schemas/VideoImport'
524 /users/me/video-quota-used:
526 summary: Get my user used quota
534 description: successful operation
539 '/users/me/videos/{videoId}/rating':
541 summary: Get rate of my user for a video
551 description: 'The video id '
556 description: successful operation
560 $ref: '#/components/schemas/GetMeVideoRating'
563 summary: Get videos of my user
571 - $ref: '#/components/parameters/start'
572 - $ref: '#/components/parameters/count'
573 - $ref: '#/components/parameters/sort'
576 description: successful operation
580 $ref: '#/components/schemas/VideoListResponse'
581 /users/me/subscriptions:
583 summary: Get my user subscriptions
590 - $ref: '#/components/parameters/start'
591 - $ref: '#/components/parameters/count'
592 - $ref: '#/components/parameters/sort'
595 description: successful operation
597 summary: Add subscription to my user
605 description: successful operation
606 /users/me/subscriptions/exist:
608 summary: Get if subscriptions exist for my user
615 - $ref: '#/components/parameters/subscriptionsUris'
618 description: successful operation
623 /users/me/subscriptions/videos:
625 summary: List videos of subscriptions of my user
633 - $ref: '#/components/parameters/start'
634 - $ref: '#/components/parameters/count'
635 - $ref: '#/components/parameters/sort'
638 description: successful operation
642 $ref: '#/components/schemas/VideoListResponse'
643 '/users/me/subscriptions/{subscriptionHandle}':
645 summary: Get subscription of my user
652 - $ref: '#/components/parameters/subscriptionHandle'
655 description: successful operation
659 $ref: '#/components/schemas/VideoChannel'
661 summary: Delete subscription of my user
668 - $ref: '#/components/parameters/subscriptionHandle'
671 description: successful operation
672 /users/me/avatar/pick:
674 summary: Update my user avatar
681 description: successful operation
685 $ref: '#/components/schemas/Avatar'
693 description: The file to upload.
698 contentType: image/png, image/jpeg
701 summary: List video ownership changes
703 - Video Ownership Change
708 description: successful operation
709 '/videos/ownership/{id}/accept':
711 summary: Accept ownership change request
713 - Video Ownership Change
717 - $ref: '#/components/parameters/idOrUUID'
720 description: successful operation
721 '/videos/ownership/{id}/refuse':
723 summary: Refuse ownership change request
725 - Video Ownership Change
729 - $ref: '#/components/parameters/idOrUUID'
732 description: successful operation
733 '/videos/{id}/give-ownership':
735 summary: Request ownership change
737 - Video Ownership Change
741 - $ref: '#/components/parameters/idOrUUID'
745 application/x-www-form-urlencoded:
755 description: successful operation
757 description: 'Changing video ownership to a remote account is not supported yet'
764 - $ref: '#/components/parameters/categoryOneOf'
765 - $ref: '#/components/parameters/tagsOneOf'
766 - $ref: '#/components/parameters/tagsAllOf'
767 - $ref: '#/components/parameters/licenceOneOf'
768 - $ref: '#/components/parameters/languageOneOf'
769 - $ref: '#/components/parameters/nsfw'
770 - $ref: '#/components/parameters/filter'
771 - $ref: '#/components/parameters/start'
772 - $ref: '#/components/parameters/count'
773 - $ref: '#/components/parameters/videosSort'
776 description: successful operation
780 $ref: '#/components/schemas/VideoListResponse'
783 summary: List available video categories
788 description: successful operation
797 summary: List available video licences
802 description: successful operation
811 summary: List available video languages
816 description: successful operation
825 summary: List available video privacies
830 description: successful operation
839 summary: Update a video
845 - $ref: '#/components/parameters/idOrUUID'
848 description: successful operation
856 description: Video thumbnail file
860 description: Video preview file
864 description: Video category
867 description: Video licence
870 description: Video language
873 $ref: '#/components/schemas/VideoPrivacySet'
875 description: Video description
878 description: Whether or not we wait transcoding before publish the video
881 description: Text describing how to support the video uploader
884 description: Whether or not this video contains sensitive content
887 description: Video name
890 description: Video tags (maximum 5 tags each between 2 and 30 characters)
899 description: Enable or disable comments for this video
901 originallyPublishedAt:
902 description: Date when the content was originally published
906 $ref: '#/components/schemas/VideoScheduledUpdate'
909 contentType: image/jpeg
911 contentType: image/jpeg
917 - $ref: '#/components/parameters/idOrUUID'
920 description: successful operation
924 $ref: '#/components/schemas/VideoDetails'
926 summary: Delete a video
932 - $ref: '#/components/parameters/idOrUUID'
935 description: successful operation
936 '/videos/{id}/description':
938 summary: Get complete video description
942 - $ref: '#/components/parameters/idOrUUID'
945 description: successful operation
950 '/videos/{id}/views':
952 summary: Add a view to a video
956 - $ref: '#/components/parameters/idOrUUID'
959 description: successful operation
960 '/videos/{id}/watching':
962 summary: Set watching progress of a video
968 - $ref: '#/components/parameters/idOrUUID'
973 $ref: '#/components/schemas/UserWatchingVideo'
977 description: successful operation
980 summary: Upload a video
987 description: successful operation
991 $ref: '#/components/schemas/VideoUploadResponse'
993 description: 'The user video quota is exceeded with this video.'
995 description: 'Upload has timed out'
997 description: 'Invalid input file.'
1000 multipart/form-data:
1005 description: Video file
1009 description: Channel id that will contain this video
1012 description: Video thumbnail file
1016 description: Video preview file
1020 $ref: '#/components/schemas/VideoPrivacySet'
1022 description: Video category
1025 description: Video licence
1028 description: Video language
1031 description: Video description
1034 description: Whether or not we wait transcoding before publish the video
1037 description: Text describing how to support the video uploader
1040 description: Whether or not this video contains sensitive content
1043 description: Video name
1046 description: Video tags (maximum 5 tags each between 2 and 30 characters)
1055 description: Enable or disable comments for this video
1057 originallyPublishedAt:
1058 description: Date when the content was originally published
1062 $ref: '#/components/schemas/VideoScheduledUpdate'
1069 contentType: video/mp4, video/webm, video/ogg, video/avi, video/quicktime, video/x-msvideo, video/x-flv, video/x-matroska, application/octet-stream
1071 contentType: image/jpeg
1073 contentType: image/jpeg
1077 ## DEPENDENCIES: httpie, jq
1078 # pip install httpie
1079 USERNAME="<your_username>"
1080 PASSWORD="<your_password>"
1081 FILE_PATH="<your_file_path>"
1082 CHANNEL_ID="<your_channel_id>"
1085 API_PATH="https://peertube2.cpy.re/api/v1"
1087 client_id=$(http -b GET "$API_PATH/oauth-clients/local" | jq -r ".client_id")
1088 client_secret=$(http -b GET "$API_PATH/oauth-clients/local" | jq -r ".client_secret")
1089 token=$(http -b --form POST "$API_PATH/users/token" \
1090 client_id="$client_id" client_secret="$client_secret" grant_type=password response_type=code \
1091 username=$USERNAME \
1092 password=$PASSWORD \
1093 | jq -r ".access_token")
1095 http -b --form POST "$API_PATH/videos/upload" \
1096 videofile@$FILE_PATH \
1097 channelId=$CHANNEL_ID \
1099 "Authorization:Bearer $token"
1102 summary: Import a video
1103 description: Import a torrent or magnetURI or HTTP resource (if enabled by the instance administrator)
1110 description: successful operation
1114 $ref: '#/components/schemas/VideoUploadResponse'
1117 multipart/form-data:
1122 description: Torrent File
1126 description: HTTP target URL
1129 description: Magnet URI
1132 description: Channel id that will contain this video
1135 description: Video thumbnail file
1139 description: Video preview file
1143 $ref: '#/components/schemas/VideoPrivacySet'
1145 description: Video category
1148 description: Video licence
1151 description: Video language
1154 description: Video description
1157 description: Whether or not we wait transcoding before publish the video
1160 description: Text describing how to support the video uploader
1163 description: Whether or not this video contains sensitive content
1166 description: Video name
1169 description: Video tags (maximum 5 tags each between 2 and 30 characters)
1178 description: Enable or disable comments for this video
1181 $ref: '#/components/schemas/VideoScheduledUpdate'
1187 contentType: application/x-bittorrent
1189 contentType: image/jpeg
1191 contentType: image/jpeg
1194 summary: List video abuses
1202 - $ref: '#/components/parameters/start'
1203 - $ref: '#/components/parameters/count'
1204 - $ref: '#/components/parameters/abusesSort'
1207 description: successful operation
1213 $ref: '#/components/schemas/VideoAbuse'
1214 '/videos/{id}/abuse':
1216 summary: Report an abuse
1223 - $ref: '#/components/parameters/idOrUUID'
1231 description: Reason why the user reports this video
1235 description: successful operation
1236 '/videos/{id}/abuse/{abuseId}':
1238 summary: Update an abuse
1247 description: successful operation
1249 - $ref: '#/components/parameters/idOrUUID'
1250 - $ref: '#/components/parameters/abuseId'
1258 $ref: '#/components/schemas/VideoAbuseStateSet'
1261 description: 'Update the comment of the video abuse for other admin/moderators'
1263 summary: Delete an abuse
1272 description: successful operation
1274 - $ref: '#/components/parameters/idOrUUID'
1275 - $ref: '#/components/parameters/abuseId'
1277 '/videos/{id}/blacklist':
1279 summary: Blacklist a video
1287 - $ref: '#/components/parameters/idOrUUID'
1290 description: successful operation
1292 summary: Delete an entry of the blacklist of a video by its id
1300 - $ref: '#/components/parameters/idOrUUID'
1303 description: successful operation
1306 summary: List blacklisted videos
1314 - $ref: '#/components/parameters/start'
1315 - $ref: '#/components/parameters/count'
1316 - $ref: '#/components/parameters/blacklistsSort'
1319 description: successful operation
1325 $ref: '#/components/schemas/VideoBlacklist'
1326 /videos/{id}/captions:
1328 summary: List captions of a video
1332 - $ref: '#/components/parameters/idOrUUID'
1335 description: successful operation
1346 $ref: '#/components/schemas/VideoCaption'
1347 /videos/{id}/captions/{captionLanguage}:
1349 summary: Add or replace a video caption
1353 - $ref: '#/components/parameters/idOrUUID'
1354 - $ref: '#/components/parameters/captionLanguage'
1357 multipart/form-data:
1362 description: The file to upload.
1367 contentType: text/vtt, application/x-subrip, text/plain
1370 description: successful operation
1372 summary: Delete a video caption
1376 - $ref: '#/components/parameters/idOrUUID'
1377 - $ref: '#/components/parameters/captionLanguage'
1380 description: successful operation
1383 summary: List video channels
1387 - $ref: '#/components/parameters/start'
1388 - $ref: '#/components/parameters/count'
1389 - $ref: '#/components/parameters/sort'
1392 description: successful operation
1398 $ref: '#/components/schemas/VideoChannel'
1400 summary: Create a video channel
1407 description: successful operation
1412 $ref: '#/components/schemas/VideoChannelCreate'
1413 '/video-channels/{channelHandle}':
1415 summary: Get a video channel
1419 - $ref: '#/components/parameters/channelHandle'
1422 description: successful operation
1426 $ref: '#/components/schemas/VideoChannel'
1428 summary: Update a video channel
1434 - $ref: '#/components/parameters/channelHandle'
1437 description: successful operation
1442 $ref: '#/components/schemas/VideoChannelUpdate'
1444 summary: Delete a video channel
1450 - $ref: '#/components/parameters/channelHandle'
1453 description: successful operation
1454 '/video-channels/{channelHandle}/videos':
1456 summary: List videos of a video channel
1461 - $ref: '#/components/parameters/channelHandle'
1464 description: successful operation
1468 $ref: '#/components/schemas/VideoListResponse'
1470 /video-playlists/privacies:
1472 summary: List available playlist privacies
1477 description: successful operation
1487 summary: List video playlists
1491 - $ref: '#/components/parameters/start'
1492 - $ref: '#/components/parameters/count'
1493 - $ref: '#/components/parameters/sort'
1496 description: successful operation
1502 $ref: '#/components/schemas/VideoPlaylist'
1504 summary: Create a video playlist
1505 description: 'If the video playlist is set as public, the videoChannelId is mandatory.'
1512 description: successful operation
1527 multipart/form-data:
1532 description: Video playlist display name
1535 description: Video playlist thumbnail file
1539 $ref: '#/components/schemas/VideoPlaylistPrivacySet'
1541 description: Video playlist description
1544 description: Video channel in which the playlist will be published
1549 /video-playlists/{id}:
1551 summary: Get a video playlist
1555 - $ref: '#/components/parameters/idOrUUID'
1558 description: successful operation
1562 $ref: '#/components/schemas/VideoPlaylist'
1564 summary: Update a video playlist
1565 description: 'If the video playlist is set as public, the playlist must have a assigned channel.'
1572 description: successful operation
1574 - $ref: '#/components/parameters/idOrUUID'
1577 multipart/form-data:
1582 description: Video playlist display name
1585 description: Video playlist thumbnail file
1589 $ref: '#/components/schemas/VideoPlaylistPrivacySet'
1591 description: Video playlist description
1594 description: Video channel in which the playlist will be published
1597 summary: Delete a video playlist
1603 - $ref: '#/components/parameters/idOrUUID'
1606 description: successful operation
1608 /video-playlists/{id}/videos:
1610 summary: 'List videos of a playlist'
1615 - $ref: '#/components/parameters/idOrUUID'
1618 description: successful operation
1622 $ref: '#/components/schemas/VideoListResponse'
1624 summary: 'Add a video in a playlist'
1631 - $ref: '#/components/parameters/idOrUUID'
1634 description: successful operation
1640 videoPlaylistElement:
1653 description: 'Video to add in the playlist'
1656 description: 'Start the video at this specific timestamp (in seconds)'
1659 description: 'Stop the video at this specific timestamp (in seconds)'
1663 /video-playlists/{id}/videos/reorder:
1665 summary: 'Reorder a playlist'
1671 - $ref: '#/components/parameters/idOrUUID'
1674 description: successful operation
1683 description: 'Start position of the element to reorder (starts from 1)'
1684 insertAfterPosition:
1686 description: 'New position for the block to reorder (starts from 0, to add the block before the first element)'
1689 description: 'How many element from startPosition to reorder (minimum length is 1)'
1692 - insertAfterPosition
1694 /video-playlists/{id}/videos/:playlistElementId:
1696 summary: 'Update a playlist element'
1702 - $ref: '#/components/parameters/idOrUUID'
1703 - $ref: '#/components/parameters/playlistElementId'
1706 description: successful operation
1715 description: 'Start the video at this specific timestamp (in seconds)'
1718 description: 'Stop the video at this specific timestamp (in seconds)'
1720 summary: 'Delete an element from a playlist'
1726 - $ref: '#/components/parameters/idOrUUID'
1727 - $ref: '#/components/parameters/playlistElementId'
1730 description: successful operation
1732 '/accounts/{name}/video-channels':
1734 summary: List video channels of an account
1739 - $ref: '#/components/parameters/name'
1742 description: successful operation
1748 $ref: '#/components/schemas/VideoChannel'
1749 '/accounts/{name}/ratings':
1751 summary: List ratings of an account
1757 - $ref: '#/components/parameters/name'
1758 - $ref: '#/components/parameters/start'
1759 - $ref: '#/components/parameters/count'
1760 - $ref: '#/components/parameters/sort'
1764 description: Optionally filter which ratings to retrieve
1772 description: successful operation
1778 $ref: '#/components/schemas/VideoRating'
1779 '/videos/{id}/comment-threads':
1781 summary: List threads of a video
1785 - $ref: '#/components/parameters/idOrUUID'
1786 - $ref: '#/components/parameters/start'
1787 - $ref: '#/components/parameters/count'
1788 - $ref: '#/components/parameters/commentsSort'
1791 description: successful operation
1795 $ref: '#/components/schemas/CommentThreadResponse'
1797 summary: Create a thread
1803 - $ref: '#/components/parameters/idOrUUID'
1806 description: successful operation
1810 $ref: '#/components/schemas/CommentThreadPostResponse'
1811 '/videos/{id}/comment-threads/{threadId}':
1813 summary: Get a thread
1817 - $ref: '#/components/parameters/idOrUUID'
1818 - $ref: '#/components/parameters/threadId'
1821 description: successful operation
1825 $ref: '#/components/schemas/VideoCommentThreadTree'
1826 '/videos/{id}/comments/{commentId}':
1828 summary: Reply to a thread of a video
1834 - $ref: '#/components/parameters/idOrUUID'
1835 - $ref: '#/components/parameters/commentId'
1838 description: successful operation
1842 $ref: '#/components/schemas/CommentThreadPostResponse'
1844 summary: Delete a comment or a reply
1850 - $ref: '#/components/parameters/idOrUUID'
1851 - $ref: '#/components/parameters/commentId'
1854 description: successful operation
1855 '/videos/{id}/rate':
1857 summary: Like/dislike a video
1863 - $ref: '#/components/parameters/idOrUUID'
1866 description: successful operation
1871 summary: Search videos
1873 - $ref: '#/components/parameters/start'
1874 - $ref: '#/components/parameters/count'
1875 - $ref: '#/components/parameters/videosSearchSort'
1879 description: String to search
1884 description: successful operation
1888 $ref: '#/components/schemas/VideoListResponse'
1890 - url: 'https://peertube.cpy.re/api/v1'
1891 description: Live Test Server (live data - stable version)
1892 - url: 'https://peertube2.cpy.re/api/v1'
1893 description: Live Test Server (live data - latest nighlty version)
1894 - url: 'https://peertube3.cpy.re/api/v1'
1895 description: Live Test Server (live data - latest RC version)
1909 description: Number of items
1916 description: Sort column (-createdAt for example)
1923 description: Sort videos by criteria
1938 description: Sort videos by criteria
1953 description: Sort comments by criteria
1963 description: Sort blacklists by criteria
1979 description: Sort users by criteria
1990 description: Sort abuses by criteria
2002 The name of the account (chocobozzz or chocobozzz@peertube.cpy.re for
2010 description: The user id
2017 description: The object id or uuid
2021 name: playlistElementId
2024 description: Playlist element id
2031 description: Video abuse id
2035 name: captionLanguage
2038 description: The caption language
2045 description: "The video channel handle (example: 'my_username@example.com' or 'my_username')"
2049 name: subscriptionHandle
2052 description: "The subscription handle (example: 'my_username@example.com' or 'my_username')"
2059 description: The thread id (root comment id)
2066 description: The comment id
2073 description: category id of the video
2086 description: tag(s) of the video
2099 description: tag(s) of the video, where all should be present in the video
2112 description: language id of the video
2125 description: licence id of the video
2138 description: whether to include nsfw videos, if any
2149 Special filters (local for instance) which might require special rights:
2150 * `local` - only videos local to the instance
2151 * `all-local` - only videos local to the instance, but showing private and unlisted videos (requires Admin privileges)
2161 description: list of uris to check if each is part of the user subscriptions
2169 In the header: *Authorization: Bearer <token\>*
2172 Authenticating via OAuth requires the following steps:
2175 - Have an account with sufficient authorization levels
2177 - [Generate](https://docs.joinpeertube.org/#/api-rest-getting-started) a
2180 - Make Authenticated Requests
2184 tokenUrl: 'https://peertube.example.com/api/v1/users/token'
2187 moderator: Moderator scope
2190 VideoConstantNumber:
2196 VideoConstantString:
2203 VideoPlaylistPrivacySet:
2209 description: 'The video playlist privacy (Public = 1, Unlisted = 2, Private = 3)'
2210 VideoPlaylistPrivacyConstant:
2213 $ref: '#/components/schemas/VideoPlaylistPrivacySet'
2217 VideoPlaylistTypeSet:
2222 description: 'The video playlist type (Regular = 1, Watch Later = 2)'
2223 VideoPlaylistTypeConstant:
2226 $ref: '#/components/schemas/VideoPlaylistTypeSet'
2237 description: 'The video privacy (Public = 1, Unlisted = 2, Private = 3, Internal = 4)'
2238 VideoPrivacyConstant:
2241 $ref: '#/components/schemas/VideoPrivacySet'
2253 description: 'The video state (Published = 1, to transcode = 2, to import = 3)'
2263 description: 'The video playlist privacy (Pending = 1, Rejected = 2, Accepted = 3)'
2264 VideoAbuseStateConstant:
2267 $ref: '#/components/schemas/VideoAbuseStateSet'
2271 VideoResolutionConstant:
2275 description: 'Video resolution (240, 360, 720 ...)'
2278 VideoScheduledUpdate:
2281 $ref: '#/components/schemas/VideoPrivacySet'
2285 description: When to update the video
2303 - $ref: '#/components/schemas/Avatar'
2304 VideoChannelSummary:
2319 - $ref: '#/components/schemas/Avatar'
2331 - $ref: '#/components/schemas/Video'
2337 $ref: '#/components/schemas/VideoResolutionConstant'
2340 description: 'Video file size in bytes'
2351 VideoStreamingPlaylists:
2359 description: 'Playlist type (HLS = 1)'
2383 originallyPublishedAt:
2386 $ref: '#/components/schemas/VideoConstantNumber'
2388 $ref: '#/components/schemas/VideoConstantNumber'
2390 $ref: '#/components/schemas/VideoConstantString'
2392 $ref: '#/components/schemas/VideoPrivacyConstant'
2419 $ref: '#/components/schemas/VideoStateConstant'
2423 - $ref: '#/components/schemas/VideoScheduledUpdate'
2431 $ref: '#/components/schemas/AccountSummary'
2433 $ref: '#/components/schemas/VideoChannelSummary'
2442 - $ref: '#/components/schemas/Video'
2450 $ref: '#/components/schemas/VideoChannel'
2452 $ref: '#/components/schemas/Account'
2460 $ref: '#/components/schemas/VideoFile'
2472 $ref: '#/components/schemas/VideoStreamingPlaylists'
2473 VideoImportStateConstant:
2481 description: 'The video import state (Pending = 1, Success = 2, Failed = 3)'
2498 $ref: '#/components/schemas/VideoImportStateConstant'
2508 $ref: '#/components/schemas/Video'
2516 $ref: '#/components/schemas/Account'
2518 $ref: '#/components/schemas/VideoAbuseStateConstant'
2594 $ref: '#/components/schemas/VideoPlaylistPrivacyConstant'
2596 $ref: '#/components/schemas/VideoPlaylistTypeConstant'
2598 $ref: '#/components/schemas/AccountSummary'
2600 $ref: '#/components/schemas/VideoChannelSummary'
2619 totalRepliesFromVideoAuthor:
2624 $ref: '#/components/schemas/Account'
2625 VideoCommentThreadTree:
2628 $ref: '#/components/schemas/VideoComment'
2632 $ref: '#/components/schemas/VideoCommentThreadTree'
2636 $ref: '#/components/schemas/VideoConstantString'
2666 $ref: '#/components/schemas/Avatar'
2669 - $ref: '#/components/schemas/Actor'
2695 description: 'The user role (Admin = 0, Moderator = 1, User = 2)'
2709 $ref: '#/components/schemas/Account'
2713 $ref: '#/components/schemas/VideoChannel'
2783 allowedForCurrentIP:
2785 requiresEmailVerification:
2988 requiresEmailVerification:
3012 allowAdditionalExtensions:
3080 $ref: '#/components/schemas/Actor'
3082 $ref: '#/components/schemas/Actor'
3124 VideoUploadResponse:
3133 CommentThreadResponse:
3140 $ref: '#/components/schemas/VideoComment'
3141 CommentThreadPostResponse:
3144 $ref: '#/components/schemas/VideoComment'
3152 $ref: '#/components/schemas/Video'
3157 description: 'The user username '
3160 description: 'The user password. If the smtp server is configured, you can leave empty and an email will be sent '
3163 description: 'The user email '
3166 description: 'The user videoQuota '
3169 description: 'The user daily video quota '
3176 description: 'The user role (Admin = 0, Moderator = 1, User = 2)'
3188 description: 'The user id '
3191 description: 'The updated email of the user '
3194 description: 'The updated videoQuota of the user '
3197 description: 'The updated daily video quota of the user '
3204 description: 'The user role (Admin = 0, Moderator = 1, User = 2)'
3215 description: 'Your new password '
3218 description: 'Your new email '
3221 description: 'Your new displayNSFW '
3224 description: 'Your new autoPlayVideo '
3234 description: 'Id of the video '
3237 description: 'Rating of the video '
3244 $ref: '#/components/schemas/Video'
3247 description: 'Rating of the video'
3255 description: 'The username of the user '
3258 description: 'The password of the user '
3261 description: 'The email of the user '
3264 description: 'The user display name'
3270 description: 'The default channel name'
3273 description: 'The default channel display name'
3300 bulkVideosSupportUpdate:
3302 description: 'Update all videos support field of this channel'