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 of 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
1222 - $ref: '#/components/parameters/idOrUUID'
1225 description: successful operation
1226 '/videos/{id}/blacklist':
1228 summary: Blacklist a video
1236 - $ref: '#/components/parameters/idOrUUID'
1239 description: successful operation
1241 summary: Delete an entry of the blacklist of a video by its id
1249 - $ref: '#/components/parameters/idOrUUID'
1252 description: successful operation
1255 summary: List blacklisted videos
1263 - $ref: '#/components/parameters/start'
1264 - $ref: '#/components/parameters/count'
1265 - $ref: '#/components/parameters/blacklistsSort'
1268 description: successful operation
1274 $ref: '#/components/schemas/VideoBlacklist'
1275 /videos/{id}/captions:
1277 summary: List captions of a video
1281 - $ref: '#/components/parameters/idOrUUID'
1284 description: successful operation
1295 $ref: '#/components/schemas/VideoCaption'
1296 /videos/{id}/captions/{captionLanguage}:
1298 summary: Add or replace a video caption
1302 - $ref: '#/components/parameters/idOrUUID'
1303 - $ref: '#/components/parameters/captionLanguage'
1306 multipart/form-data:
1311 description: The file to upload.
1316 contentType: text/vtt, application/x-subrip, text/plain
1319 description: successful operation
1321 summary: Delete a video caption
1325 - $ref: '#/components/parameters/idOrUUID'
1326 - $ref: '#/components/parameters/captionLanguage'
1329 description: successful operation
1332 summary: List video channels
1336 - $ref: '#/components/parameters/start'
1337 - $ref: '#/components/parameters/count'
1338 - $ref: '#/components/parameters/sort'
1341 description: successful operation
1347 $ref: '#/components/schemas/VideoChannel'
1349 summary: Create a video channel
1356 description: successful operation
1361 $ref: '#/components/schemas/VideoChannelCreate'
1362 '/video-channels/{channelHandle}':
1364 summary: Get a video channel
1368 - $ref: '#/components/parameters/channelHandle'
1371 description: successful operation
1375 $ref: '#/components/schemas/VideoChannel'
1377 summary: Update a video channel
1383 - $ref: '#/components/parameters/channelHandle'
1386 description: successful operation
1391 $ref: '#/components/schemas/VideoChannelUpdate'
1393 summary: Delete a video channel
1399 - $ref: '#/components/parameters/channelHandle'
1402 description: successful operation
1403 '/video-channels/{channelHandle}/videos':
1405 summary: List videos of a video channel
1410 - $ref: '#/components/parameters/channelHandle'
1413 description: successful operation
1417 $ref: '#/components/schemas/VideoListResponse'
1419 /video-playlists/privacies:
1421 summary: List available playlist privacies
1426 description: successful operation
1436 summary: List video playlists
1440 - $ref: '#/components/parameters/start'
1441 - $ref: '#/components/parameters/count'
1442 - $ref: '#/components/parameters/sort'
1445 description: successful operation
1451 $ref: '#/components/schemas/VideoPlaylist'
1453 summary: Create a video playlist
1454 description: 'If the video playlist is set as public, the videoChannelId is mandatory.'
1461 description: successful operation
1476 multipart/form-data:
1481 description: Video playlist display name
1484 description: Video playlist thumbnail file
1488 $ref: '#/components/schemas/VideoPlaylistPrivacySet'
1490 description: Video playlist description
1493 description: Video channel in which the playlist will be published
1498 /video-playlists/{id}:
1500 summary: Get a video playlist
1504 - $ref: '#/components/parameters/idOrUUID'
1507 description: successful operation
1511 $ref: '#/components/schemas/VideoPlaylist'
1513 summary: Update a video playlist
1514 description: 'If the video playlist is set as public, the playlist must have a assigned channel.'
1521 description: successful operation
1523 - $ref: '#/components/parameters/idOrUUID'
1526 multipart/form-data:
1531 description: Video playlist display name
1534 description: Video playlist thumbnail file
1538 $ref: '#/components/schemas/VideoPlaylistPrivacySet'
1540 description: Video playlist description
1543 description: Video channel in which the playlist will be published
1546 summary: Delete a video playlist
1552 - $ref: '#/components/parameters/idOrUUID'
1555 description: successful operation
1557 /video-playlists/{id}/videos:
1559 summary: 'List videos of a playlist'
1564 - $ref: '#/components/parameters/idOrUUID'
1567 description: successful operation
1571 $ref: '#/components/schemas/VideoListResponse'
1573 summary: 'Add a video in a playlist'
1580 - $ref: '#/components/parameters/idOrUUID'
1583 description: successful operation
1589 videoPlaylistElement:
1602 description: 'Video to add in the playlist'
1605 description: 'Start the video at this specific timestamp (in seconds)'
1608 description: 'Stop the video at this specific timestamp (in seconds)'
1612 /video-playlists/{id}/videos/reorder:
1614 summary: 'Reorder a playlist'
1620 - $ref: '#/components/parameters/idOrUUID'
1623 description: successful operation
1632 description: 'Start position of the element to reorder (starts from 1)'
1633 insertAfterPosition:
1635 description: 'New position for the block to reorder (starts from 0, to add the block before the first element)'
1638 description: 'How many element from startPosition to reorder (minimum length is 1)'
1641 - insertAfterPosition
1643 /video-playlists/{id}/videos/:playlistElementId:
1645 summary: 'Update a playlist element'
1651 - $ref: '#/components/parameters/idOrUUID'
1652 - $ref: '#/components/parameters/playlistElementId'
1655 description: successful operation
1664 description: 'Start the video at this specific timestamp (in seconds)'
1667 description: 'Stop the video at this specific timestamp (in seconds)'
1669 summary: 'Delete an element from a playlist'
1675 - $ref: '#/components/parameters/idOrUUID'
1676 - $ref: '#/components/parameters/playlistElementId'
1679 description: successful operation
1681 '/accounts/{name}/video-channels':
1683 summary: List video channels of an account
1688 - $ref: '#/components/parameters/name'
1691 description: successful operation
1697 $ref: '#/components/schemas/VideoChannel'
1698 '/accounts/{name}/ratings':
1700 summary: List ratings of an account
1706 - $ref: '#/components/parameters/name'
1707 - $ref: '#/components/parameters/start'
1708 - $ref: '#/components/parameters/count'
1709 - $ref: '#/components/parameters/sort'
1713 description: Optionally filter which ratings to retrieve
1721 description: successful operation
1727 $ref: '#/components/schemas/VideoRating'
1728 '/videos/{id}/comment-threads':
1730 summary: List threads of a video
1734 - $ref: '#/components/parameters/idOrUUID'
1735 - $ref: '#/components/parameters/start'
1736 - $ref: '#/components/parameters/count'
1737 - $ref: '#/components/parameters/commentsSort'
1740 description: successful operation
1744 $ref: '#/components/schemas/CommentThreadResponse'
1746 summary: Create a thread
1752 - $ref: '#/components/parameters/idOrUUID'
1755 description: successful operation
1759 $ref: '#/components/schemas/CommentThreadPostResponse'
1760 '/videos/{id}/comment-threads/{threadId}':
1762 summary: Get a thread
1766 - $ref: '#/components/parameters/idOrUUID'
1767 - $ref: '#/components/parameters/threadId'
1770 description: successful operation
1774 $ref: '#/components/schemas/VideoCommentThreadTree'
1775 '/videos/{id}/comments/{commentId}':
1777 summary: Reply to a thread of a video
1783 - $ref: '#/components/parameters/idOrUUID'
1784 - $ref: '#/components/parameters/commentId'
1787 description: successful operation
1791 $ref: '#/components/schemas/CommentThreadPostResponse'
1793 summary: Delete a comment or a reply
1799 - $ref: '#/components/parameters/idOrUUID'
1800 - $ref: '#/components/parameters/commentId'
1803 description: successful operation
1804 '/videos/{id}/rate':
1806 summary: Like/dislike a video
1812 - $ref: '#/components/parameters/idOrUUID'
1815 description: successful operation
1820 summary: Search videos
1822 - $ref: '#/components/parameters/start'
1823 - $ref: '#/components/parameters/count'
1824 - $ref: '#/components/parameters/videosSearchSort'
1828 description: String to search
1833 description: successful operation
1837 $ref: '#/components/schemas/VideoListResponse'
1839 - url: 'https://peertube.cpy.re/api/v1'
1840 description: Live Test Server (live data - stable version)
1841 - url: 'https://peertube2.cpy.re/api/v1'
1842 description: Live Test Server (live data - latest nighlty version)
1843 - url: 'https://peertube3.cpy.re/api/v1'
1844 description: Live Test Server (live data - latest RC version)
1858 description: Number of items
1865 description: Sort column (-createdAt for example)
1872 description: Sort videos by criteria
1887 description: Sort videos by criteria
1902 description: Sort comments by criteria
1912 description: Sort blacklists by criteria
1928 description: Sort users by criteria
1939 description: Sort abuses by criteria
1951 The name of the account (chocobozzz or chocobozzz@peertube.cpy.re for
1959 description: The user id
1966 description: The object id or uuid
1970 name: playlistElementId
1973 description: Playlist element id
1977 name: captionLanguage
1980 description: The caption language
1987 description: "The video channel handle (example: 'my_username@example.com' or 'my_username')"
1991 name: subscriptionHandle
1994 description: "The subscription handle (example: 'my_username@example.com' or 'my_username')"
2001 description: The thread id (root comment id)
2008 description: The comment id
2015 description: category id of the video
2028 description: tag(s) of the video
2041 description: tag(s) of the video, where all should be present in the video
2054 description: language id of the video
2067 description: licence id of the video
2080 description: whether to include nsfw videos, if any
2091 Special filters (local for instance) which might require special rights:
2092 * `local` - only videos local to the instance
2093 * `all-local` - only videos local to the instance, but showing private and unlisted videos (requires Admin privileges)
2103 description: list of uris to check if each is part of the user subscriptions
2111 In the header: *Authorization: Bearer <token\>*
2114 Authenticating via OAuth requires the following steps:
2117 - Have an account with sufficient authorization levels
2119 - [Generate](https://docs.joinpeertube.org/#/api-rest-getting-started) a
2122 - Make Authenticated Requests
2126 tokenUrl: 'https://peertube.example.com/api/v1/users/token'
2129 moderator: Moderator scope
2132 VideoConstantNumber:
2138 VideoConstantString:
2145 VideoPlaylistPrivacySet:
2151 description: 'The video playlist privacy (Public = 1, Unlisted = 2, Private = 3)'
2152 VideoPlaylistPrivacyConstant:
2155 $ref: '#/components/schemas/VideoPlaylistPrivacySet'
2159 VideoPlaylistTypeSet:
2164 description: 'The video playlist type (Regular = 1, Watch Later = 2)'
2165 VideoPlaylistTypeConstant:
2168 $ref: '#/components/schemas/VideoPlaylistTypeSet'
2179 description: 'The video privacy (Public = 1, Unlisted = 2, Private = 3, Internal = 4)'
2180 VideoPrivacyConstant:
2183 $ref: '#/components/schemas/VideoPrivacySet'
2194 description: 'The video state (Published = 1, to transcode = 2, to import = 3)'
2197 VideoResolutionConstant:
2201 description: 'Video resolution (240, 360, 720 ...)'
2204 VideoScheduledUpdate:
2207 $ref: '#/components/schemas/VideoPrivacySet'
2211 description: When to update the video
2229 - $ref: '#/components/schemas/Avatar'
2230 VideoChannelSummary:
2245 - $ref: '#/components/schemas/Avatar'
2257 - $ref: '#/components/schemas/Video'
2263 $ref: '#/components/schemas/VideoResolutionConstant'
2266 description: 'Video file size in bytes'
2277 VideoStreamingPlaylists:
2285 description: 'Playlist type (HLS = 1)'
2309 originallyPublishedAt:
2312 $ref: '#/components/schemas/VideoConstantNumber'
2314 $ref: '#/components/schemas/VideoConstantNumber'
2316 $ref: '#/components/schemas/VideoConstantString'
2318 $ref: '#/components/schemas/VideoPrivacyConstant'
2345 $ref: '#/components/schemas/VideoStateConstant'
2349 - $ref: '#/components/schemas/VideoScheduledUpdate'
2357 $ref: '#/components/schemas/AccountSummary'
2359 $ref: '#/components/schemas/VideoChannelSummary'
2368 - $ref: '#/components/schemas/Video'
2376 $ref: '#/components/schemas/VideoChannel'
2378 $ref: '#/components/schemas/Account'
2386 $ref: '#/components/schemas/VideoFile'
2398 $ref: '#/components/schemas/VideoStreamingPlaylists'
2399 VideoImportStateConstant:
2407 description: 'The video import state (Pending = 1, Success = 2, Failed = 3)'
2424 $ref: '#/components/schemas/VideoImportStateConstant'
2434 $ref: '#/components/schemas/Video'
2442 $ref: '#/components/schemas/Account'
2518 $ref: '#/components/schemas/VideoPlaylistPrivacyConstant'
2520 $ref: '#/components/schemas/VideoPlaylistTypeConstant'
2522 $ref: '#/components/schemas/AccountSummary'
2524 $ref: '#/components/schemas/VideoChannelSummary'
2543 totalRepliesFromVideoAuthor:
2548 $ref: '#/components/schemas/Account'
2549 VideoCommentThreadTree:
2552 $ref: '#/components/schemas/VideoComment'
2556 $ref: '#/components/schemas/VideoCommentThreadTree'
2560 $ref: '#/components/schemas/VideoConstantString'
2590 $ref: '#/components/schemas/Avatar'
2593 - $ref: '#/components/schemas/Actor'
2619 description: 'The user role (Admin = 0, Moderator = 1, User = 2)'
2633 $ref: '#/components/schemas/Account'
2637 $ref: '#/components/schemas/VideoChannel'
2707 allowedForCurrentIP:
2709 requiresEmailVerification:
2912 requiresEmailVerification:
2936 allowAdditionalExtensions:
3004 $ref: '#/components/schemas/Actor'
3006 $ref: '#/components/schemas/Actor'
3048 VideoUploadResponse:
3057 CommentThreadResponse:
3064 $ref: '#/components/schemas/VideoComment'
3065 CommentThreadPostResponse:
3068 $ref: '#/components/schemas/VideoComment'
3076 $ref: '#/components/schemas/Video'
3081 description: 'The user username '
3084 description: 'The user password. If the smtp server is configured, you can leave empty and an email will be sent '
3087 description: 'The user email '
3090 description: 'The user videoQuota '
3093 description: 'The user daily video quota '
3100 description: 'The user role (Admin = 0, Moderator = 1, User = 2)'
3112 description: 'The user id '
3115 description: 'The updated email of the user '
3118 description: 'The updated videoQuota of the user '
3121 description: 'The updated daily video quota of the user '
3128 description: 'The user role (Admin = 0, Moderator = 1, User = 2)'
3139 description: 'Your new password '
3142 description: 'Your new email '
3145 description: 'Your new displayNSFW '
3148 description: 'Your new autoPlayVideo '
3158 description: 'Id of the video '
3161 description: 'Rating of the video '
3168 $ref: '#/components/schemas/Video'
3171 description: 'Rating of the video'
3179 description: 'The username of the user '
3182 description: 'The password of the user '
3185 description: 'The email of the user '
3188 description: 'The user display name'
3194 description: 'The default channel name'
3197 description: 'The default channel display name'
3224 bulkVideosSupportUpdate:
3226 description: 'Update all videos support field of this channel'