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'
688 description: 'Text describing how to support the video uploader'
692 description: 'Whether or not this video contains sensitive content'
696 description: 'Video name'
700 description: 'Video tags'
701 - name: commentsEnabled
704 description: 'Enable or disable comments for this video'
708 enum: [Public, Unlisted]
709 description: 'Video privacy'
712 description: successful operation
714 $ref: '#/definitions/Video'
727 description: 'The video id '
730 description: successful operation
732 $ref: '#/definitions/Video'
747 description: 'The video id '
750 description: successful operation
751 "/videos/{id}/description":
764 description: 'The video id '
767 description: successful operation
770 "/videos/{id}/views":
783 description: 'The video id '
786 description: successful operation
794 - multipart/form-data
802 description: 'Video file'
803 - name: thumbnailfile
807 description: 'Video thumbnail file'
812 description: 'Video preview file'
816 description: 'Video category'
820 description: 'Video licence'
824 description: 'Video language'
828 description: 'Video description'
832 description: 'Text describing how to support the video uploader'
837 description: 'Channel id that will contain this video'
842 description: 'Whether or not this video contains sensitive content'
847 description: 'Video name'
851 description: 'Video tags'
852 - name: commentsEnabled
855 description: 'Enable or disable comments for this video'
860 enum: [Public, Unlisted, Private]
861 description: 'Video privacy'
864 description: successful operation
866 $ref: '#/definitions/VideoUploadResponse'
882 description: 'starting page'
887 description: 'stopping page'
892 description: 'sorting'
895 description: successful operation
899 $ref: '#/definitions/VideoAbuse'
900 "/videos/{id}/abuse":
915 description: 'The video id '
918 description: successful operation
919 "/videos/{videoId}/blacklist":
934 description: 'The video id '
937 description: successful operation
952 description: 'The video id '
955 description: successful operation
971 description: 'starting page'
976 description: 'stopping page'
981 description: 'sorting'
984 description: successful operation
988 $ref: '#/definitions/VideoBlacklist'
1002 description: 'starting page'
1007 description: 'stopping page'
1012 description: 'sorting'
1015 description: successful operation
1019 $ref: '#/definitions/VideoChannel'
1033 $ref: '#/definitions/VideoChannelInput'
1036 description: successful operation
1037 "/video-channels/{id}":
1050 description: 'The video channel id '
1053 description: successful operation
1055 $ref: '#/definitions/VideoChannel'
1070 description: 'The video channel id '
1074 $ref: '#/definitions/VideoChannelInput'
1077 description: successful operation
1092 description: 'The video channel id '
1095 description: successful operation
1096 "/video-channels/{id}/videos":
1109 description: 'The video channel id '
1112 description: successful operation
1114 $ref: '#/definitions/Video'
1115 /accounts/{name}/video-channels:
1128 description: 'The name of the account (chocobozzz or chocobozzz@peertube.cpy.re for example)'
1131 description: successful operation
1135 $ref: '#/definitions/VideoChannel'
1136 "/videos/{videoId}/comment-threads":
1149 description: 'The video id '
1154 description: 'starting page'
1159 description: 'stopping page'
1164 description: 'sorting'
1167 description: successful operation
1169 $ref: '#/definitions/CommentThreadResponse'
1184 description: 'The video id '
1187 description: successful operation
1189 $ref: '#/definitions/CommentThreadPostResponse'
1190 "/videos/{videoId}/comment-threads/{threadId}":
1203 description: 'The video id '
1208 description: 'The thread id '
1211 description: successful operation
1213 $ref: '#/definitions/VideoCommentThreadTree'
1214 "/videos/{videoId}/comments/{commentId}":
1229 description: 'The video id '
1234 description: 'The comment id '
1237 description: successful operation
1239 $ref: '#/definitions/CommentThreadPostResponse'
1254 description: 'The video id '
1259 description: 'The comment id '
1262 description: successful operation
1263 "/videos/{id}/rate":
1278 description: 'The video id '
1281 description: successful operation
1283 VideoConstantNumber:
1289 VideoConstantString:
1297 enum: [Public, Unlisted, Private]
1311 $ref: "#/definitions/VideoConstantNumber"
1313 $ref: "#/definitions/VideoConstantNumber"
1315 $ref: "#/definitions/VideoConstantString"
1317 $ref: "#/definitions/VideoPrivacy"
1352 $ref: "#/definitions/Avatar"
1360 $ref: "#/definitions/Account"
1436 $ref: "#/definitions/Account"
1437 VideoCommentThreadTree:
1440 $ref: "#/definitions/VideoComment"
1444 $ref: "#/definitions/VideoCommentThreadTree"
1474 $ref: "#/definitions/Avatar"
1477 - $ref: "#/definitions/Actor"
1495 enum: [User, Moderator, Administrator]
1501 $ref: "#/definitions/Account"
1505 $ref: "#/definitions/VideoChannel"
1550 $ref: "#/definitions/Actor"
1552 $ref: "#/definitions/Actor"
1557 enum: [pending, accepted]
1568 enum: [pending, processing, error, success]
1571 enum: [transcoding, activitypub-http]
1588 VideoUploadResponse:
1597 CommentThreadResponse:
1604 $ref: "#/definitions/VideoComment"
1605 CommentThreadPostResponse:
1608 $ref: "#/definitions/VideoComment"
1615 description: 'The user username '
1618 description: 'The user password '
1621 description: 'The user email '
1624 description: 'The user videoQuota '
1627 description: 'The user role '
1638 description: 'The user id '
1641 description: 'The updated email of the user '
1644 description: 'The updated videoQuota of the user '
1647 description: 'The updated role of the user '
1657 description: 'Your new password '
1660 description: 'Your new email '
1663 description: 'Your new displayNSFW '
1666 description: 'Your new autoPlayVideo '
1676 description: 'Id of the video '
1679 description: 'Rating of the video '
1687 description: 'The username of the user '
1690 description: 'The password of the user '
1693 description: 'The email of the user '