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: category id of the video
541 description: 'starting page'
546 description: 'stopping page'
551 description: 'sorting'
554 description: successful operation
558 $ref: '#/definitions/Video'
569 description: successful operation
584 description: successful operation
599 description: successful operation
614 description: successful operation
632 description: 'starting page'
637 description: 'stopping page'
642 description: 'sorting'
645 description: successful operation
649 $ref: '#/definitions/Video'
657 - multipart/form-data
665 description: 'The video id'
666 - name: thumbnailfile
669 description: 'Video thumbnail file'
673 description: 'Video preview file'
677 description: 'Video category'
681 description: 'Video licence'
685 description: 'Video language'
689 description: 'Video description'
690 - name: waitTranscoding
693 description: 'Whether or not we wait transcoding before publish the video'
697 description: 'Text describing how to support the video uploader'
701 description: 'Whether or not this video contains sensitive content'
705 description: 'Video name'
709 description: 'Video tags'
710 - name: commentsEnabled
713 description: 'Enable or disable comments for this video'
717 enum: [Public, Unlisted]
718 description: 'Video privacy'
719 - name: scheduleUpdate
722 description: 'Schedule an update at a specific datetime'
724 $ref: '#/definitions/ScheduleVideoUpdate'
727 description: successful operation
729 $ref: '#/definitions/Video'
742 description: 'The video id '
745 description: successful operation
747 $ref: '#/definitions/Video'
762 description: 'The video id '
765 description: successful operation
766 "/videos/{id}/description":
779 description: 'The video id '
782 description: successful operation
785 "/videos/{id}/views":
798 description: 'The video id '
801 description: successful operation
809 - multipart/form-data
817 description: 'Video file'
818 - name: thumbnailfile
822 description: 'Video thumbnail file'
827 description: 'Video preview file'
831 description: 'Video category'
832 - name: waitTranscoding
835 description: 'Whether or not we wait transcoding before publish the video'
839 description: 'Video licence'
843 description: 'Video language'
847 description: 'Video description'
851 description: 'Text describing how to support the video uploader'
856 description: 'Channel id that will contain this video'
861 description: 'Whether or not this video contains sensitive content'
866 description: 'Video name'
870 description: 'Video tags'
871 - name: commentsEnabled
874 description: 'Enable or disable comments for this video'
879 $ref: '#/definitions/VideoPrivacy'
880 description: 'Video privacy'
881 - name: scheduleUpdate
884 description: 'Schedule an update at a specific datetime'
886 $ref: '#/definitions/ScheduleVideoUpdate'
889 description: successful operation
891 $ref: '#/definitions/VideoUploadResponse'
907 description: 'starting page'
912 description: 'stopping page'
917 description: 'sorting'
920 description: successful operation
924 $ref: '#/definitions/VideoAbuse'
925 "/videos/{id}/abuse":
940 description: 'The video id '
943 description: successful operation
944 "/videos/{videoId}/blacklist":
959 description: 'The video id '
962 description: successful operation
977 description: 'The video id '
980 description: successful operation
996 description: 'starting page'
1001 description: 'stopping page'
1006 description: 'sorting'
1009 description: successful operation
1013 $ref: '#/definitions/VideoBlacklist'
1027 description: 'starting page'
1032 description: 'stopping page'
1037 description: 'sorting'
1040 description: successful operation
1044 $ref: '#/definitions/VideoChannel'
1058 $ref: '#/definitions/VideoChannelInput'
1061 description: successful operation
1062 "/video-channels/{id}":
1075 description: 'The video channel id '
1078 description: successful operation
1080 $ref: '#/definitions/VideoChannel'
1095 description: 'The video channel id '
1099 $ref: '#/definitions/VideoChannelInput'
1102 description: successful operation
1117 description: 'The video channel id '
1120 description: successful operation
1121 "/video-channels/{id}/videos":
1134 description: 'The video channel id '
1137 description: successful operation
1139 $ref: '#/definitions/Video'
1140 /accounts/{name}/video-channels:
1153 description: 'The name of the account (chocobozzz or chocobozzz@peertube.cpy.re for example)'
1156 description: successful operation
1160 $ref: '#/definitions/VideoChannel'
1161 "/videos/{videoId}/comment-threads":
1174 description: 'The video id '
1179 description: 'starting page'
1184 description: 'stopping page'
1189 description: 'sorting'
1192 description: successful operation
1194 $ref: '#/definitions/CommentThreadResponse'
1209 description: 'The video id '
1212 description: successful operation
1214 $ref: '#/definitions/CommentThreadPostResponse'
1215 "/videos/{videoId}/comment-threads/{threadId}":
1228 description: 'The video id '
1233 description: 'The thread id '
1236 description: successful operation
1238 $ref: '#/definitions/VideoCommentThreadTree'
1239 "/videos/{videoId}/comments/{commentId}":
1254 description: 'The video id '
1259 description: 'The comment id '
1262 description: successful operation
1264 $ref: '#/definitions/CommentThreadPostResponse'
1279 description: 'The video id '
1284 description: 'The comment id '
1287 description: successful operation
1288 "/videos/{id}/rate":
1303 description: 'The video id '
1306 description: successful operation
1308 VideoConstantNumber:
1314 VideoConstantString:
1322 enum: [Public, Unlisted, Private]
1336 $ref: "#/definitions/VideoConstantNumber"
1338 $ref: "#/definitions/VideoConstantNumber"
1340 $ref: "#/definitions/VideoConstantString"
1342 $ref: "#/definitions/VideoPrivacy"
1377 $ref: "#/definitions/Avatar"
1385 $ref: "#/definitions/Account"
1461 $ref: "#/definitions/Account"
1462 VideoCommentThreadTree:
1465 $ref: "#/definitions/VideoComment"
1469 $ref: "#/definitions/VideoCommentThreadTree"
1499 $ref: "#/definitions/Avatar"
1502 - $ref: "#/definitions/Actor"
1520 enum: [User, Moderator, Administrator]
1526 $ref: "#/definitions/Account"
1530 $ref: "#/definitions/VideoChannel"
1575 $ref: "#/definitions/Actor"
1577 $ref: "#/definitions/Actor"
1582 enum: [pending, accepted]
1593 enum: [pending, processing, error, success]
1596 enum: [transcoding, activitypub-http]
1613 VideoUploadResponse:
1622 CommentThreadResponse:
1629 $ref: "#/definitions/VideoComment"
1630 CommentThreadPostResponse:
1633 $ref: "#/definitions/VideoComment"
1640 description: 'The user username '
1643 description: 'The user password '
1646 description: 'The user email '
1649 description: 'The user videoQuota '
1652 description: 'The user role '
1663 description: 'The user id '
1666 description: 'The updated email of the user '
1669 description: 'The updated videoQuota of the user '
1672 description: 'The updated role of the user '
1682 description: 'Your new password '
1685 description: 'Your new email '
1688 description: 'Your new displayNSFW '
1691 description: 'Your new autoPlayVideo '
1701 description: 'Id of the video '
1704 description: 'Rating of the video '
1712 description: 'The username of the user '
1715 description: 'The password of the user '
1718 description: 'The email of the user '
1729 ScheduleVideoUpdate:
1733 description: 'When to update the video'
1736 $ref: '#/definitions/VideoPrivacy'