5 description: Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.
6 host: peertube.example.com
9 description: 'In the header: *Authorization: Bearer mytoken*'
13 # authorizationUrl: https://example.com/oauth/authorize
14 tokenUrl: https://peertube.example.com/api/v1/users/token
28 - $ref: "accounts.yaml#/parameters/name"
29 - $ref: "commons.yaml#/parameters/start"
30 - $ref: "commons.yaml#/parameters/count"
31 - $ref: "commons.yaml#/parameters/sort"
34 description: successful operation
36 $ref: '#/definitions/Account'
37 '/accounts/{name}/videos':
46 - $ref: "accounts.yaml#/parameters/name"
49 description: successful operation
51 $ref: '#/definitions/Video'
62 description: successful operation
66 $ref: '#/definitions/Account'
77 description: successful operation
79 $ref: '#/definitions/ServerConfig'
80 /feeds/videos.{format}:
85 - application/atom+xml
93 enum: [ 'xml', 'atom', 'json']
95 description: 'The format expected (xml defaults to RSS 2.0, atom to ATOM 1.0 and json to JSON FEED 1.0'
100 description: 'The id of the local account to filter to (beware, users IDs and not actors IDs which will return empty feeds'
105 description: 'The name of the local account to filter to'
108 description: successful operation
124 description: 'The state of the job'
125 - $ref: "commons.yaml#/parameters/start"
126 - $ref: "commons.yaml#/parameters/count"
127 - $ref: "commons.yaml#/parameters/sort"
130 description: successful operation
134 $ref: '#/definitions/Job'
135 '/server/following/{host}':
150 description: 'The host to unfollow '
153 description: successful operation
163 - $ref: "commons.yaml#/parameters/start"
164 - $ref: "commons.yaml#/parameters/count"
165 - $ref: "commons.yaml#/parameters/sort"
168 description: successful operation
172 $ref: '#/definitions/Follow'
182 - $ref: "commons.yaml#/parameters/start"
183 - $ref: "commons.yaml#/parameters/count"
184 - $ref: "commons.yaml#/parameters/sort"
187 description: successful operation
191 $ref: '#/definitions/Follow'
205 $ref: '#/definitions/Follow'
208 $ref: "commons.yaml#/responses/emptySuccess"
223 description: 'User to create'
225 $ref: '#/definitions/AddUser'
228 description: successful operation
230 $ref: '#/definitions/AddUserResponse'
241 - $ref: "commons.yaml#/parameters/start"
242 - $ref: "commons.yaml#/parameters/count"
243 - $ref: "commons.yaml#/parameters/sort"
246 description: successful operation
250 $ref: '#/definitions/User'
262 - $ref: "users.yaml#/parameters/id"
265 $ref: "commons.yaml#/responses/emptySuccess"
276 - $ref: "users.yaml#/parameters/id"
279 description: successful operation
281 $ref: '#/definitions/User'
292 - $ref: "users.yaml#/parameters/id"
297 $ref: '#/definitions/UpdateUser'
300 $ref: "commons.yaml#/responses/emptySuccess"
313 description: successful operation
317 $ref: '#/definitions/User'
332 $ref: '#/definitions/UpdateMe'
335 $ref: "commons.yaml#/responses/emptySuccess"
336 /users/me/video-quota-used:
349 description: successful operation
352 '/users/me/videos/{videoId}/rating':
367 description: 'The video id '
370 description: successful operation
372 $ref: '#/definitions/GetMeVideoRating'
384 - $ref: "commons.yaml#/parameters/start"
385 - $ref: "commons.yaml#/parameters/count"
386 - $ref: "commons.yaml#/parameters/sort"
389 description: successful operation
393 $ref: '#/definitions/Video'
407 $ref: '#/definitions/RegisterUser'
410 $ref: "commons.yaml#/responses/emptySuccess"
411 /users/me/avatar/pick:
418 - multipart/form-data
425 description: The file to upload.
428 description: successful operation
430 $ref: '#/definitions/Avatar'
444 description: category id of the video
445 - $ref: "commons.yaml#/parameters/start"
446 - $ref: "commons.yaml#/parameters/count"
447 - $ref: "commons.yaml#/parameters/sort"
450 description: successful operation
454 $ref: '#/definitions/Video'
465 description: successful operation
480 description: successful operation
495 description: successful operation
510 description: successful operation
522 - multipart/form-data
526 - $ref: "videos.yaml#/parameters/id"
527 - $ref: "videos.yaml#/parameters/thumbnailfile"
528 - $ref: "videos.yaml#/parameters/previewfile"
529 - $ref: "videos.yaml#/parameters/category"
530 - $ref: "videos.yaml#/parameters/licence"
531 - $ref: "videos.yaml#/parameters/language"
532 - $ref: "videos.yaml#/parameters/description"
533 - $ref: "videos.yaml#/parameters/waitTranscoding"
534 - $ref: "videos.yaml#/parameters/support"
535 - $ref: "videos.yaml#/parameters/nsfw"
536 - $ref: "videos.yaml#/parameters/name"
537 - $ref: "videos.yaml#/parameters/tags"
538 - $ref: "videos.yaml#/parameters/commentsEnabled"
539 - $ref: "videos.yaml#/parameters/privacy"
540 - $ref: "videos.yaml#/parameters/scheduleUpdate"
543 description: successful operation
545 $ref: '#/definitions/Video'
554 - $ref: "videos.yaml#/parameters/id"
557 description: successful operation
559 $ref: '#/definitions/Video'
570 - $ref: "videos.yaml#/parameters/id"
573 $ref: "commons.yaml#/responses/emptySuccess"
574 "/videos/{id}/description":
583 - $ref: "videos.yaml#/parameters/id"
586 description: successful operation
589 "/videos/{id}/views":
598 - $ref: "videos.yaml#/parameters/id"
601 $ref: "commons.yaml#/responses/emptySuccess"
609 - multipart/form-data
617 description: 'Video file'
622 description: 'Channel id that will contain this video'
623 - $ref: "videos.yaml#/parameters/thumbnailfile"
624 - $ref: "videos.yaml#/parameters/previewfile"
625 - $ref: "videos.yaml#/parameters/category"
626 - $ref: "videos.yaml#/parameters/licence"
627 - $ref: "videos.yaml#/parameters/language"
628 - $ref: "videos.yaml#/parameters/description"
629 - $ref: "videos.yaml#/parameters/waitTranscoding"
630 - $ref: "videos.yaml#/parameters/support"
631 - $ref: "videos.yaml#/parameters/nsfw"
632 - $ref: "videos.yaml#/parameters/name"
633 - $ref: "videos.yaml#/parameters/tags"
634 - $ref: "videos.yaml#/parameters/commentsEnabled"
635 - $ref: "videos.yaml#/parameters/privacy"
636 - $ref: "videos.yaml#/parameters/scheduleUpdate"
639 description: successful operation
641 $ref: '#/definitions/VideoUploadResponse'
653 - $ref: "commons.yaml#/parameters/start"
654 - $ref: "commons.yaml#/parameters/count"
655 - $ref: "commons.yaml#/parameters/sort"
658 description: successful operation
662 $ref: '#/definitions/VideoAbuse'
663 "/videos/{id}/abuse":
674 - $ref: "videos.yaml#/parameters/id"
677 $ref: "commons.yaml#/responses/emptySuccess"
678 "/videos/{id}/blacklist":
689 - $ref: "videos.yaml#/parameters/id"
692 $ref: "commons.yaml#/responses/emptySuccess"
703 - $ref: "videos.yaml#/parameters/id"
706 $ref: "commons.yaml#/responses/emptySuccess"
718 - $ref: "commons.yaml#/parameters/start"
719 - $ref: "commons.yaml#/parameters/count"
720 - $ref: "commons.yaml#/parameters/sort"
723 description: successful operation
727 $ref: '#/definitions/VideoBlacklist'
737 - $ref: "commons.yaml#/parameters/start"
738 - $ref: "commons.yaml#/parameters/count"
739 - $ref: "commons.yaml#/parameters/sort"
742 description: successful operation
746 $ref: '#/definitions/VideoChannel'
760 $ref: '#/definitions/VideoChannelInput'
763 $ref: "commons.yaml#/responses/emptySuccess"
764 "/video-channels/{id}":
773 - $ref: "video-channels.yaml#/parameters/id"
776 description: successful operation
778 $ref: '#/definitions/VideoChannel'
789 - $ref: "video-channels.yaml#/parameters/id"
793 $ref: '#/definitions/VideoChannelInput'
796 $ref: "commons.yaml#/responses/emptySuccess"
807 - $ref: "video-channels.yaml#/parameters/id"
810 $ref: "commons.yaml#/responses/emptySuccess"
811 "/video-channels/{id}/videos":
820 - $ref: "video-channels.yaml#/parameters/id"
823 description: successful operation
825 $ref: '#/definitions/Video'
826 /accounts/{name}/video-channels:
835 - $ref: "accounts.yaml#/parameters/name"
838 description: successful operation
842 $ref: '#/definitions/VideoChannel'
843 "/videos/{id}/comment-threads":
852 - $ref: "videos.yaml#/parameters/id"
853 - $ref: "commons.yaml#/parameters/start"
854 - $ref: "commons.yaml#/parameters/count"
855 - $ref: "commons.yaml#/parameters/sort"
858 description: successful operation
860 $ref: '#/definitions/CommentThreadResponse'
871 - $ref: "videos.yaml#/parameters/id"
874 description: successful operation
876 $ref: '#/definitions/CommentThreadPostResponse'
877 "/videos/{id}/comment-threads/{threadId}":
886 - $ref: "videos.yaml#/parameters/id"
887 - $ref: "video-comments.yaml#/parameters/threadId"
890 description: successful operation
892 $ref: '#/definitions/VideoCommentThreadTree'
893 "/videos/{id}/comments/{commentId}":
904 - $ref: "videos.yaml#/parameters/id"
905 - $ref: "video-comments.yaml#/parameters/commentId"
908 description: successful operation
910 $ref: '#/definitions/CommentThreadPostResponse'
921 - $ref: "videos.yaml#/parameters/id"
922 - $ref: "video-comments.yaml#/parameters/commentId"
925 $ref: "commons.yaml#/responses/emptySuccess"
937 - $ref: "videos.yaml#/parameters/id"
940 $ref: "commons.yaml#/responses/emptySuccess"
950 - $ref: "commons.yaml#/parameters/start"
951 - $ref: "commons.yaml#/parameters/count"
952 - $ref: "commons.yaml#/parameters/sort"
957 description: 'String to search'
960 description: successful operation
964 $ref: '#/definitions/Video'
980 enum: [Public, Unlisted, Private]
994 $ref: "#/definitions/VideoConstantNumber"
996 $ref: "#/definitions/VideoConstantNumber"
998 $ref: "#/definitions/VideoConstantString"
1000 $ref: "#/definitions/VideoPrivacy"
1035 $ref: "#/definitions/Avatar"
1043 $ref: "#/definitions/Account"
1119 $ref: "#/definitions/Account"
1120 VideoCommentThreadTree:
1123 $ref: "#/definitions/VideoComment"
1127 $ref: "#/definitions/VideoCommentThreadTree"
1157 $ref: "#/definitions/Avatar"
1160 - $ref: "#/definitions/Actor"
1178 enum: [User, Moderator, Administrator]
1184 $ref: "#/definitions/Account"
1188 $ref: "#/definitions/VideoChannel"
1233 $ref: "#/definitions/Actor"
1235 $ref: "#/definitions/Actor"
1240 enum: [pending, accepted]
1251 enum: [pending, processing, error, success]
1254 enum: [transcoding, activitypub-http]
1271 VideoUploadResponse:
1280 CommentThreadResponse:
1287 $ref: "#/definitions/VideoComment"
1288 CommentThreadPostResponse:
1291 $ref: "#/definitions/VideoComment"
1298 description: 'The user username '
1301 description: 'The user password '
1304 description: 'The user email '
1307 description: 'The user videoQuota '
1310 description: 'The user role '
1321 description: 'The user id '
1324 description: 'The updated email of the user '
1327 description: 'The updated videoQuota of the user '
1330 description: 'The updated role of the user '
1340 description: 'Your new password '
1343 description: 'Your new email '
1346 description: 'Your new displayNSFW '
1349 description: 'Your new autoPlayVideo '
1359 description: 'Id of the video '
1362 description: 'Rating of the video '
1370 description: 'The username of the user '
1373 description: 'The password of the user '
1376 description: 'The email of the user '