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
32 description: 'The name of the account (chocobozzz or chocobozzz@peertube.cpy.re for example)'
37 description: 'starting page'
42 description: 'stopping page'
47 description: 'sorting'
50 description: successful operation
52 $ref: '#/definitions/Account'
53 '/accounts/{name}/videos':
66 description: 'The name of the account (chocobozzz or chocobozzz@peertube.cpy.re for example)'
69 description: successful operation
71 $ref: '#/definitions/Video'
82 description: successful operation
86 $ref: '#/definitions/Account'
97 description: successful operation
99 $ref: '#/definitions/ServerConfig'
100 /feeds/videos.{format}:
105 - application/atom+xml
106 - application/rss+xml
113 enum: [ 'xml', 'atom', 'json']
115 description: 'The format expected (xml defaults to RSS 2.0, atom to ATOM 1.0 and json to JSON FEED 1.0'
120 description: 'The id of the local account to filter to (beware, users IDs and not actors IDs which will return empty feeds'
125 description: 'The name of the local account to filter to'
128 description: successful operation
144 description: 'The id of the account'
149 description: 'starting page'
159 description: 'sorting'
162 description: successful operation
166 $ref: '#/definitions/Job'
167 '/server/following/{host}':
182 description: 'The host to unfollow '
185 description: successful operation
199 description: 'starting page'
204 description: 'stopping page'
209 description: 'sorting'
212 description: successful operation
216 $ref: '#/definitions/Follow'
230 description: 'starting page'
235 description: 'stopping page'
240 description: 'sorting'
243 description: successful operation
247 $ref: '#/definitions/Follow'
261 $ref: '#/definitions/Follow'
264 description: successful operation
279 description: 'User to create'
281 $ref: '#/definitions/AddUser'
284 description: successful operation
286 $ref: '#/definitions/AddUserResponse'
301 description: 'starting page'
306 description: 'stopping page'
311 description: 'sorting'
314 description: successful operation
318 $ref: '#/definitions/User'
334 description: 'The user id '
337 description: successful operation
352 description: 'The user id '
355 description: successful operation
357 $ref: '#/definitions/User'
372 description: 'The user id '
377 $ref: '#/definitions/UpdateUser'
380 description: successful operation
393 description: successful operation
397 $ref: '#/definitions/User'
412 $ref: '#/definitions/UpdateMe'
415 description: successful operation
416 /users/me/video-quota-used:
429 description: successful operation
432 '/users/me/videos/{videoId}/rating':
447 description: 'The video id '
450 description: successful operation
452 $ref: '#/definitions/GetMeVideoRating'
468 description: 'starting page'
473 description: 'stopping page'
478 description: 'sorting'
481 description: successful operation
485 $ref: '#/definitions/Video'
499 $ref: '#/definitions/RegisterUser'
502 description: successful operation
503 /users/me/avatar/pick:
510 - multipart/form-data
517 description: The file to upload.
520 description: successful operation
522 $ref: '#/definitions/Avatar'
536 description: 'starting page'
541 description: 'stopping page'
546 description: 'sorting'
549 description: successful operation
553 $ref: '#/definitions/Video'
564 description: successful operation
579 description: successful operation
594 description: successful operation
609 description: successful operation
627 description: 'starting page'
632 description: 'stopping page'
637 description: 'sorting'
640 description: successful operation
644 $ref: '#/definitions/Video'
652 - multipart/form-data
660 description: 'The video id'
661 - name: thumbnailfile
664 description: 'Video thumbnail file'
668 description: 'Video preview file'
672 description: 'Video category'
676 description: 'Video licence'
680 description: 'Video language'
684 description: 'Video description'
685 - name: waitTranscoding
688 description: 'Whether or not we wait transcoding before publish the video'
692 description: 'Text describing how to support the video uploader'
696 description: 'Whether or not this video contains sensitive content'
700 description: 'Video name'
704 description: 'Video tags'
705 - name: commentsEnabled
708 description: 'Enable or disable comments for this video'
712 enum: [Public, Unlisted]
713 description: 'Video privacy'
714 - name: scheduleUpdate
717 description: 'Schedule an update at a specific datetime'
719 $ref: '#/definitions/ScheduleVideoUpdate'
722 description: successful operation
724 $ref: '#/definitions/Video'
737 description: 'The video id '
740 description: successful operation
742 $ref: '#/definitions/Video'
757 description: 'The video id '
760 description: successful operation
761 "/videos/{id}/description":
774 description: 'The video id '
777 description: successful operation
780 "/videos/{id}/views":
793 description: 'The video id '
796 description: successful operation
804 - multipart/form-data
812 description: 'Video file'
813 - name: thumbnailfile
817 description: 'Video thumbnail file'
822 description: 'Video preview file'
826 description: 'Video category'
827 - name: waitTranscoding
830 description: 'Whether or not we wait transcoding before publish the video'
834 description: 'Video licence'
838 description: 'Video language'
842 description: 'Video description'
846 description: 'Text describing how to support the video uploader'
851 description: 'Channel id that will contain this video'
856 description: 'Whether or not this video contains sensitive content'
861 description: 'Video name'
865 description: 'Video tags'
866 - name: commentsEnabled
869 description: 'Enable or disable comments for this video'
874 $ref: '#/definitions/VideoPrivacy'
875 description: 'Video privacy'
876 - name: scheduleUpdate
879 description: 'Schedule an update at a specific datetime'
881 $ref: '#/definitions/ScheduleVideoUpdate'
884 description: successful operation
886 $ref: '#/definitions/VideoUploadResponse'
902 description: 'starting page'
907 description: 'stopping page'
912 description: 'sorting'
915 description: successful operation
919 $ref: '#/definitions/VideoAbuse'
920 "/videos/{id}/abuse":
935 description: 'The video id '
938 description: successful operation
939 "/videos/{videoId}/blacklist":
954 description: 'The video id '
957 description: successful operation
972 description: 'The video id '
975 description: successful operation
991 description: 'starting page'
996 description: 'stopping page'
1001 description: 'sorting'
1004 description: successful operation
1008 $ref: '#/definitions/VideoBlacklist'
1022 description: 'starting page'
1027 description: 'stopping page'
1032 description: 'sorting'
1035 description: successful operation
1039 $ref: '#/definitions/VideoChannel'
1053 $ref: '#/definitions/VideoChannelInput'
1056 description: successful operation
1057 "/video-channels/{id}":
1070 description: 'The video channel id '
1073 description: successful operation
1075 $ref: '#/definitions/VideoChannel'
1090 description: 'The video channel id '
1094 $ref: '#/definitions/VideoChannelInput'
1097 description: successful operation
1112 description: 'The video channel id '
1115 description: successful operation
1116 "/video-channels/{id}/videos":
1129 description: 'The video channel id '
1132 description: successful operation
1134 $ref: '#/definitions/Video'
1135 /accounts/{name}/video-channels:
1148 description: 'The name of the account (chocobozzz or chocobozzz@peertube.cpy.re for example)'
1151 description: successful operation
1155 $ref: '#/definitions/VideoChannel'
1156 "/videos/{videoId}/comment-threads":
1169 description: 'The video id '
1174 description: 'starting page'
1179 description: 'stopping page'
1184 description: 'sorting'
1187 description: successful operation
1189 $ref: '#/definitions/CommentThreadResponse'
1204 description: 'The video id '
1207 description: successful operation
1209 $ref: '#/definitions/CommentThreadPostResponse'
1210 "/videos/{videoId}/comment-threads/{threadId}":
1223 description: 'The video id '
1228 description: 'The thread id '
1231 description: successful operation
1233 $ref: '#/definitions/VideoCommentThreadTree'
1234 "/videos/{videoId}/comments/{commentId}":
1249 description: 'The video id '
1254 description: 'The comment id '
1257 description: successful operation
1259 $ref: '#/definitions/CommentThreadPostResponse'
1274 description: 'The video id '
1279 description: 'The comment id '
1282 description: successful operation
1283 "/videos/{id}/rate":
1298 description: 'The video id '
1301 description: successful operation
1303 VideoConstantNumber:
1309 VideoConstantString:
1317 enum: [Public, Unlisted, Private]
1331 $ref: "#/definitions/VideoConstantNumber"
1333 $ref: "#/definitions/VideoConstantNumber"
1335 $ref: "#/definitions/VideoConstantString"
1337 $ref: "#/definitions/VideoPrivacy"
1372 $ref: "#/definitions/Avatar"
1380 $ref: "#/definitions/Account"
1456 $ref: "#/definitions/Account"
1457 VideoCommentThreadTree:
1460 $ref: "#/definitions/VideoComment"
1464 $ref: "#/definitions/VideoCommentThreadTree"
1494 $ref: "#/definitions/Avatar"
1497 - $ref: "#/definitions/Actor"
1515 enum: [User, Moderator, Administrator]
1521 $ref: "#/definitions/Account"
1525 $ref: "#/definitions/VideoChannel"
1570 $ref: "#/definitions/Actor"
1572 $ref: "#/definitions/Actor"
1577 enum: [pending, accepted]
1588 enum: [pending, processing, error, success]
1591 enum: [transcoding, activitypub-http]
1608 VideoUploadResponse:
1617 CommentThreadResponse:
1624 $ref: "#/definitions/VideoComment"
1625 CommentThreadPostResponse:
1628 $ref: "#/definitions/VideoComment"
1635 description: 'The user username '
1638 description: 'The user password '
1641 description: 'The user email '
1644 description: 'The user videoQuota '
1647 description: 'The user role '
1658 description: 'The user id '
1661 description: 'The updated email of the user '
1664 description: 'The updated videoQuota of the user '
1667 description: 'The updated role of the user '
1677 description: 'Your new password '
1680 description: 'Your new email '
1683 description: 'Your new displayNSFW '
1686 description: 'Your new autoPlayVideo '
1696 description: 'Id of the video '
1699 description: 'Rating of the video '
1707 description: 'The username of the user '
1710 description: 'The password of the user '
1713 description: 'The email of the user '
1724 ScheduleVideoUpdate:
1728 description: 'When to update the video'
1731 $ref: '#/definitions/VideoPrivacy'