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
524 - $ref: "commons.yaml#/parameters/start"
525 - $ref: "commons.yaml#/parameters/count"
526 - $ref: "commons.yaml#/parameters/sort"
529 description: successful operation
533 $ref: '#/definitions/Video'
541 - multipart/form-data
545 - $ref: "videos.yaml#/parameters/id"
546 - $ref: "videos.yaml#/parameters/thumbnailfile"
547 - $ref: "videos.yaml#/parameters/previewfile"
548 - $ref: "videos.yaml#/parameters/category"
549 - $ref: "videos.yaml#/parameters/licence"
550 - $ref: "videos.yaml#/parameters/language"
551 - $ref: "videos.yaml#/parameters/description"
552 - $ref: "videos.yaml#/parameters/waitTranscoding"
553 - $ref: "videos.yaml#/parameters/support"
554 - $ref: "videos.yaml#/parameters/nsfw"
555 - $ref: "videos.yaml#/parameters/name"
556 - $ref: "videos.yaml#/parameters/tags"
557 - $ref: "videos.yaml#/parameters/commentsEnabled"
558 - $ref: "videos.yaml#/parameters/privacy"
559 - $ref: "videos.yaml#/parameters/scheduleUpdate"
562 description: successful operation
564 $ref: '#/definitions/Video'
573 - $ref: "videos.yaml#/parameters/id"
576 description: successful operation
578 $ref: '#/definitions/Video'
589 - $ref: "videos.yaml#/parameters/id"
592 $ref: "commons.yaml#/responses/emptySuccess"
593 "/videos/{id}/description":
602 - $ref: "videos.yaml#/parameters/id"
605 description: successful operation
608 "/videos/{id}/views":
617 - $ref: "videos.yaml#/parameters/id"
620 $ref: "commons.yaml#/responses/emptySuccess"
628 - multipart/form-data
636 description: 'Video file'
641 description: 'Channel id that will contain this video'
642 - $ref: "videos.yaml#/parameters/thumbnailfile"
643 - $ref: "videos.yaml#/parameters/previewfile"
644 - $ref: "videos.yaml#/parameters/category"
645 - $ref: "videos.yaml#/parameters/licence"
646 - $ref: "videos.yaml#/parameters/language"
647 - $ref: "videos.yaml#/parameters/description"
648 - $ref: "videos.yaml#/parameters/waitTranscoding"
649 - $ref: "videos.yaml#/parameters/support"
650 - $ref: "videos.yaml#/parameters/nsfw"
651 - $ref: "videos.yaml#/parameters/name"
652 - $ref: "videos.yaml#/parameters/tags"
653 - $ref: "videos.yaml#/parameters/commentsEnabled"
654 - $ref: "videos.yaml#/parameters/privacy"
655 - $ref: "videos.yaml#/parameters/scheduleUpdate"
658 description: successful operation
660 $ref: '#/definitions/VideoUploadResponse'
672 - $ref: "commons.yaml#/parameters/start"
673 - $ref: "commons.yaml#/parameters/count"
674 - $ref: "commons.yaml#/parameters/sort"
677 description: successful operation
681 $ref: '#/definitions/VideoAbuse'
682 "/videos/{id}/abuse":
693 - $ref: "videos.yaml#/parameters/id"
696 $ref: "commons.yaml#/responses/emptySuccess"
697 "/videos/{id}/blacklist":
708 - $ref: "videos.yaml#/parameters/id"
711 $ref: "commons.yaml#/responses/emptySuccess"
722 - $ref: "videos.yaml#/parameters/id"
725 $ref: "commons.yaml#/responses/emptySuccess"
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/VideoBlacklist'
756 - $ref: "commons.yaml#/parameters/start"
757 - $ref: "commons.yaml#/parameters/count"
758 - $ref: "commons.yaml#/parameters/sort"
761 description: successful operation
765 $ref: '#/definitions/VideoChannel'
779 $ref: '#/definitions/VideoChannelInput'
782 $ref: "commons.yaml#/responses/emptySuccess"
783 "/video-channels/{id}":
792 - $ref: "video-channels.yaml#/parameters/id"
795 description: successful operation
797 $ref: '#/definitions/VideoChannel'
808 - $ref: "video-channels.yaml#/parameters/id"
812 $ref: '#/definitions/VideoChannelInput'
815 $ref: "commons.yaml#/responses/emptySuccess"
826 - $ref: "video-channels.yaml#/parameters/id"
829 $ref: "commons.yaml#/responses/emptySuccess"
830 "/video-channels/{id}/videos":
839 - $ref: "video-channels.yaml#/parameters/id"
842 description: successful operation
844 $ref: '#/definitions/Video'
845 /accounts/{name}/video-channels:
854 - $ref: "accounts.yaml#/parameters/name"
857 description: successful operation
861 $ref: '#/definitions/VideoChannel'
862 "/videos/{id}/comment-threads":
871 - $ref: "videos.yaml#/parameters/id"
872 - $ref: "commons.yaml#/parameters/start"
873 - $ref: "commons.yaml#/parameters/count"
874 - $ref: "commons.yaml#/parameters/sort"
877 description: successful operation
879 $ref: '#/definitions/CommentThreadResponse'
890 - $ref: "videos.yaml#/parameters/id"
893 description: successful operation
895 $ref: '#/definitions/CommentThreadPostResponse'
896 "/videos/{id}/comment-threads/{threadId}":
905 - $ref: "videos.yaml#/parameters/id"
906 - $ref: "video-comments.yaml#/parameters/threadId"
909 description: successful operation
911 $ref: '#/definitions/VideoCommentThreadTree'
912 "/videos/{id}/comments/{commentId}":
923 - $ref: "videos.yaml#/parameters/id"
924 - $ref: "video-comments.yaml#/parameters/commentId"
927 description: successful operation
929 $ref: '#/definitions/CommentThreadPostResponse'
940 - $ref: "videos.yaml#/parameters/id"
941 - $ref: "video-comments.yaml#/parameters/commentId"
944 $ref: "commons.yaml#/responses/emptySuccess"
956 - $ref: "videos.yaml#/parameters/id"
959 $ref: "commons.yaml#/responses/emptySuccess"
975 enum: [Public, Unlisted, Private]
989 $ref: "#/definitions/VideoConstantNumber"
991 $ref: "#/definitions/VideoConstantNumber"
993 $ref: "#/definitions/VideoConstantString"
995 $ref: "#/definitions/VideoPrivacy"
1030 $ref: "#/definitions/Avatar"
1038 $ref: "#/definitions/Account"
1114 $ref: "#/definitions/Account"
1115 VideoCommentThreadTree:
1118 $ref: "#/definitions/VideoComment"
1122 $ref: "#/definitions/VideoCommentThreadTree"
1152 $ref: "#/definitions/Avatar"
1155 - $ref: "#/definitions/Actor"
1173 enum: [User, Moderator, Administrator]
1179 $ref: "#/definitions/Account"
1183 $ref: "#/definitions/VideoChannel"
1228 $ref: "#/definitions/Actor"
1230 $ref: "#/definitions/Actor"
1235 enum: [pending, accepted]
1246 enum: [pending, processing, error, success]
1249 enum: [transcoding, activitypub-http]
1266 VideoUploadResponse:
1275 CommentThreadResponse:
1282 $ref: "#/definitions/VideoComment"
1283 CommentThreadPostResponse:
1286 $ref: "#/definitions/VideoComment"
1293 description: 'The user username '
1296 description: 'The user password '
1299 description: 'The user email '
1302 description: 'The user videoQuota '
1305 description: 'The user role '
1316 description: 'The user id '
1319 description: 'The updated email of the user '
1322 description: 'The updated videoQuota of the user '
1325 description: 'The updated role of the user '
1335 description: 'Your new password '
1338 description: 'Your new email '
1341 description: 'Your new displayNSFW '
1344 description: 'Your new autoPlayVideo '
1354 description: 'Id of the video '
1357 description: 'Rating of the video '
1365 description: 'The username of the user '
1368 description: 'The password of the user '
1371 description: 'The email of the user '