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/downloadEnabled"
540 - $ref: "videos.yaml#/parameters/privacy"
541 - $ref: "videos.yaml#/parameters/scheduleUpdate"
544 description: successful operation
546 $ref: '#/definitions/Video'
555 - $ref: "videos.yaml#/parameters/id"
558 description: successful operation
560 $ref: '#/definitions/Video'
571 - $ref: "videos.yaml#/parameters/id"
574 $ref: "commons.yaml#/responses/emptySuccess"
575 "/videos/{id}/description":
584 - $ref: "videos.yaml#/parameters/id"
587 description: successful operation
590 "/videos/{id}/views":
599 - $ref: "videos.yaml#/parameters/id"
602 $ref: "commons.yaml#/responses/emptySuccess"
610 - multipart/form-data
618 description: 'Video file'
623 description: 'Channel id that will contain this video'
624 - $ref: "videos.yaml#/parameters/thumbnailfile"
625 - $ref: "videos.yaml#/parameters/previewfile"
626 - $ref: "videos.yaml#/parameters/category"
627 - $ref: "videos.yaml#/parameters/licence"
628 - $ref: "videos.yaml#/parameters/language"
629 - $ref: "videos.yaml#/parameters/description"
630 - $ref: "videos.yaml#/parameters/waitTranscoding"
631 - $ref: "videos.yaml#/parameters/support"
632 - $ref: "videos.yaml#/parameters/nsfw"
633 - $ref: "videos.yaml#/parameters/name"
634 - $ref: "videos.yaml#/parameters/tags"
635 - $ref: "videos.yaml#/parameters/commentsEnabled"
636 - $ref: "videos.yaml#/parameters/downloadEnabled"
637 - $ref: "videos.yaml#/parameters/privacy"
638 - $ref: "videos.yaml#/parameters/scheduleUpdate"
641 description: successful operation
643 $ref: '#/definitions/VideoUploadResponse'
655 - $ref: "commons.yaml#/parameters/start"
656 - $ref: "commons.yaml#/parameters/count"
657 - $ref: "commons.yaml#/parameters/sort"
660 description: successful operation
664 $ref: '#/definitions/VideoAbuse'
665 "/videos/{id}/abuse":
676 - $ref: "videos.yaml#/parameters/id"
679 $ref: "commons.yaml#/responses/emptySuccess"
680 "/videos/{id}/blacklist":
691 - $ref: "videos.yaml#/parameters/id"
694 $ref: "commons.yaml#/responses/emptySuccess"
705 - $ref: "videos.yaml#/parameters/id"
708 $ref: "commons.yaml#/responses/emptySuccess"
720 - $ref: "commons.yaml#/parameters/start"
721 - $ref: "commons.yaml#/parameters/count"
722 - $ref: "commons.yaml#/parameters/sort"
725 description: successful operation
729 $ref: '#/definitions/VideoBlacklist'
739 - $ref: "commons.yaml#/parameters/start"
740 - $ref: "commons.yaml#/parameters/count"
741 - $ref: "commons.yaml#/parameters/sort"
744 description: successful operation
748 $ref: '#/definitions/VideoChannel'
762 $ref: '#/definitions/VideoChannelInput'
765 $ref: "commons.yaml#/responses/emptySuccess"
766 "/video-channels/{id}":
775 - $ref: "video-channels.yaml#/parameters/id"
778 description: successful operation
780 $ref: '#/definitions/VideoChannel'
791 - $ref: "video-channels.yaml#/parameters/id"
795 $ref: '#/definitions/VideoChannelInput'
798 $ref: "commons.yaml#/responses/emptySuccess"
809 - $ref: "video-channels.yaml#/parameters/id"
812 $ref: "commons.yaml#/responses/emptySuccess"
813 "/video-channels/{id}/videos":
822 - $ref: "video-channels.yaml#/parameters/id"
825 description: successful operation
827 $ref: '#/definitions/Video'
828 /accounts/{name}/video-channels:
837 - $ref: "accounts.yaml#/parameters/name"
840 description: successful operation
844 $ref: '#/definitions/VideoChannel'
845 "/videos/{id}/comment-threads":
854 - $ref: "videos.yaml#/parameters/id"
855 - $ref: "commons.yaml#/parameters/start"
856 - $ref: "commons.yaml#/parameters/count"
857 - $ref: "commons.yaml#/parameters/sort"
860 description: successful operation
862 $ref: '#/definitions/CommentThreadResponse'
873 - $ref: "videos.yaml#/parameters/id"
876 description: successful operation
878 $ref: '#/definitions/CommentThreadPostResponse'
879 "/videos/{id}/comment-threads/{threadId}":
888 - $ref: "videos.yaml#/parameters/id"
889 - $ref: "video-comments.yaml#/parameters/threadId"
892 description: successful operation
894 $ref: '#/definitions/VideoCommentThreadTree'
895 "/videos/{id}/comments/{commentId}":
906 - $ref: "videos.yaml#/parameters/id"
907 - $ref: "video-comments.yaml#/parameters/commentId"
910 description: successful operation
912 $ref: '#/definitions/CommentThreadPostResponse'
923 - $ref: "videos.yaml#/parameters/id"
924 - $ref: "video-comments.yaml#/parameters/commentId"
927 $ref: "commons.yaml#/responses/emptySuccess"
939 - $ref: "videos.yaml#/parameters/id"
942 $ref: "commons.yaml#/responses/emptySuccess"
952 - $ref: "commons.yaml#/parameters/start"
953 - $ref: "commons.yaml#/parameters/count"
954 - $ref: "commons.yaml#/parameters/sort"
959 description: 'String to search'
962 description: successful operation
966 $ref: '#/definitions/Video'
982 enum: [Public, Unlisted, Private]
996 $ref: "#/definitions/VideoConstantNumber"
998 $ref: "#/definitions/VideoConstantNumber"
1000 $ref: "#/definitions/VideoConstantString"
1002 $ref: "#/definitions/VideoPrivacy"
1037 $ref: "#/definitions/Avatar"
1045 $ref: "#/definitions/Account"
1121 $ref: "#/definitions/Account"
1122 VideoCommentThreadTree:
1125 $ref: "#/definitions/VideoComment"
1129 $ref: "#/definitions/VideoCommentThreadTree"
1159 $ref: "#/definitions/Avatar"
1162 - $ref: "#/definitions/Actor"
1180 enum: [User, Moderator, Administrator]
1186 $ref: "#/definitions/Account"
1190 $ref: "#/definitions/VideoChannel"
1235 $ref: "#/definitions/Actor"
1237 $ref: "#/definitions/Actor"
1242 enum: [pending, accepted]
1253 enum: [pending, processing, error, success]
1256 enum: [transcoding, activitypub-http]
1273 VideoUploadResponse:
1282 CommentThreadResponse:
1289 $ref: "#/definitions/VideoComment"
1290 CommentThreadPostResponse:
1293 $ref: "#/definitions/VideoComment"
1300 description: 'The user username '
1303 description: 'The user password '
1306 description: 'The user email '
1309 description: 'The user videoQuota '
1312 description: 'The user role '
1323 description: 'The user id '
1326 description: 'The updated email of the user '
1329 description: 'The updated videoQuota of the user '
1332 description: 'The updated role of the user '
1342 description: 'Your new password '
1345 description: 'Your new email '
1348 description: 'Your new displayNSFW '
1351 description: 'Your new autoPlayVideo '
1361 description: 'Id of the video '
1364 description: 'Rating of the video '
1372 description: 'The username of the user '
1375 description: 'The password of the user '
1378 description: 'The email of the user '