]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - support/doc/api/openapi.yaml
Issue #168: youtube-like marking of comments (#297)
[github/Chocobozzz/PeerTube.git] / support / doc / api / openapi.yaml
1 swagger: '2.0'
2 info:
3 title: PeerTube
4 version: 0.0.15-alpha
5 description: Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.
6 paths:
7 '/accounts/{id}':
8 get:
9 tags:
10 - Accounts
11 consumes:
12 - application/json
13 produces:
14 - application/json
15 parameters:
16 - name: id
17 in: path
18 required: true
19 type: string
20 description: 'The id of the account'
21 - name: start
22 in: query
23 required: false
24 type: number
25 description: 'starting page'
26 - name: stop
27 in: query
28 required: false
29 type: number
30 description: 'stoping page'
31 - name: sort
32 in: query
33 required: false
34 type: number
35 description: 'sorting'
36 responses:
37 '200':
38 description: successful operation
39 schema:
40 $ref: '#/definitions/Account'
41 /accounts:
42 get:
43 tags:
44 - Accounts
45 consumes:
46 - application/json
47 produces:
48 - application/json
49 responses:
50 '200':
51 description: successful operation
52 schema:
53 type: array
54 items:
55 $ref: '#/definitions/Account'
56 /config:
57 get:
58 tags:
59 - Config
60 consumes:
61 - application/json
62 produces:
63 - application/json
64 responses:
65 '200':
66 description: successful operation
67 schema:
68 $ref: '#/definitions/ServerConfig'
69 /jobs:
70 get:
71 tags:
72 - Job
73 consumes:
74 - application/json
75 produces:
76 - application/json
77 parameters:
78 - name: state
79 in: path
80 required: true
81 type: string
82 description: 'The id of the account'
83 - name: start
84 in: query
85 required: false
86 type: number
87 description: 'starting page'
88 - name: count
89 in: query
90 required: false
91 type: number
92 description: ''
93 - name: sort
94 in: query
95 required: false
96 type: number
97 description: 'sorting'
98 responses:
99 '200':
100 description: successful operation
101 schema:
102 type: array
103 items:
104 $ref: '#/definitions/Job'
105 '/server/following/{host}':
106 delete:
107 tags:
108 - ServerFollowing
109 consumes:
110 - application/json
111 produces:
112 - application/json
113 parameters:
114 - name: host
115 in: path
116 required: true
117 type: string
118 description: 'The host to unfollow '
119 responses:
120 '201':
121 description: successful operation
122 /server/followers:
123 get:
124 tags:
125 - ServerFollowing
126 consumes:
127 - application/json
128 produces:
129 - application/json
130 parameters:
131 - name: start
132 in: query
133 required: false
134 type: number
135 description: 'starting page'
136 - name: stop
137 in: query
138 required: false
139 type: number
140 description: 'stoping page'
141 - name: sort
142 in: query
143 required: false
144 type: number
145 description: 'sorting'
146 responses:
147 '200':
148 description: successful operation
149 schema:
150 type: array
151 items:
152 $ref: '#/definitions/Follow'
153 /server/following:
154 get:
155 tags:
156 - ServerFollowing
157 consumes:
158 - application/json
159 produces:
160 - application/json
161 parameters:
162 - name: start
163 in: query
164 required: false
165 type: number
166 description: 'starting page'
167 - name: stop
168 in: query
169 required: false
170 type: number
171 description: 'stoping page'
172 - name: sort
173 in: query
174 required: false
175 type: number
176 description: 'sorting'
177 responses:
178 '200':
179 description: successful operation
180 schema:
181 type: array
182 items:
183 $ref: '#/definitions/Follow'
184 post:
185 tags:
186 - ServerFollowing
187 consumes:
188 - application/json
189 produces:
190 - application/json
191 parameters:
192 - in: body
193 name: body
194 schema:
195 $ref: '#/definitions/Follow'
196 responses:
197 '204':
198 description: successful operation
199 /users:
200 post:
201 tags:
202 - User
203 consumes:
204 - application/json
205 produces:
206 - application/json
207 parameters:
208 - in: body
209 name: body
210 required: true
211 schema:
212 $ref: '#/definitions/AddUser'
213 responses:
214 '200':
215 description: successful operation
216 schema:
217 $ref: '#/definitions/AddUserResponse'
218 get:
219 tags:
220 - User
221 consumes:
222 - application/json
223 produces:
224 - application/json
225 parameters:
226 - name: start
227 in: query
228 required: false
229 type: number
230 description: 'starting page'
231 - name: stop
232 in: query
233 required: false
234 type: number
235 description: 'stoping page'
236 - name: sort
237 in: query
238 required: false
239 type: number
240 description: 'sorting'
241 responses:
242 '200':
243 description: successful operation
244 schema:
245 type: array
246 items:
247 $ref: '#/definitions/User'
248 '/users/{id}':
249 delete:
250 tags:
251 - User
252 consumes:
253 - application/json
254 produces:
255 - application/json
256 parameters:
257 - name: id
258 in: path
259 required: true
260 type: string
261 description: 'The user id '
262 responses:
263 '204':
264 description: successful operation
265 get:
266 tags:
267 - User
268 consumes:
269 - application/json
270 produces:
271 - application/json
272 parameters:
273 - name: id
274 in: path
275 required: true
276 type: string
277 description: 'The user id '
278 responses:
279 '200':
280 description: successful operation
281 schema:
282 $ref: '#/definitions/User'
283 put:
284 tags:
285 - User
286 consumes:
287 - application/json
288 produces:
289 - application/json
290 parameters:
291 - name: id
292 in: path
293 required: true
294 type: string
295 description: 'The user id '
296 - in: body
297 name: body
298 required: true
299 schema:
300 $ref: '#/definitions/UpdateUser'
301 responses:
302 '204':
303 description: successful operation
304 /users/me:
305 get:
306 tags:
307 - User
308 consumes:
309 - application/json
310 produces:
311 - application/json
312 responses:
313 '200':
314 description: successful operation
315 schema:
316 type: array
317 items:
318 $ref: '#/definitions/User'
319 put:
320 tags:
321 - User
322 consumes:
323 - application/json
324 produces:
325 - application/json
326 parameters:
327 - in: body
328 name: body
329 required: true
330 schema:
331 $ref: '#/definitions/UpdateMe'
332 responses:
333 '204':
334 description: successful operation
335 /users/me/video-quota-used:
336 get:
337 tags:
338 - User
339 consumes:
340 - application/json
341 produces:
342 - application/json
343 parameters: []
344 responses:
345 '200':
346 description: successful operation
347 schema:
348 type: number
349 '/users/me/videos/{videoId}/rating':
350 get:
351 tags:
352 - User
353 consumes:
354 - application/json
355 produces:
356 - application/json
357 parameters:
358 - name: videoId
359 in: path
360 required: true
361 type: string
362 description: 'The video id '
363 responses:
364 '200':
365 description: successful operation
366 schema:
367 $ref: '#/definitions/GetMeVideoRating'
368 /users/me/videos:
369 get:
370 tags:
371 - User
372 consumes:
373 - application/json
374 produces:
375 - application/json
376 parameters:
377 - name: start
378 in: query
379 required: false
380 type: number
381 description: 'starting page'
382 - name: stop
383 in: query
384 required: false
385 type: number
386 description: 'stoping page'
387 - name: sort
388 in: query
389 required: false
390 type: number
391 description: 'sorting'
392 responses:
393 '200':
394 description: successful operation
395 schema:
396 type: array
397 items:
398 $ref: '#/definitions/Video'
399 /users/register:
400 post:
401 tags:
402 - User
403 consumes:
404 - application/json
405 produces:
406 - application/json
407 parameters:
408 - in: body
409 name: body
410 required: true
411 schema:
412 $ref: '#/definitions/RegisterUser'
413 responses:
414 '204':
415 description: successful operation
416 /users/me/avatar/pick:
417 post:
418 tags:
419 - User
420 consumes:
421 - multipart/form-data
422 produces:
423 - application/json
424 parameters:
425 - in: formData
426 name: avatarfile
427 type: file
428 description: The file to upload.
429 responses:
430 '200':
431 description: successful operation
432 schema:
433 $ref: '#/definitions/Avatar'
434 /videos:
435 get:
436 tags:
437 - Video
438 consumes:
439 - application/json
440 produces:
441 - application/json
442 parameters:
443 - name: start
444 in: query
445 required: false
446 type: number
447 description: 'starting page'
448 - name: stop
449 in: query
450 required: false
451 type: number
452 description: 'stoping page'
453 - name: sort
454 in: query
455 required: false
456 type: number
457 description: 'sorting'
458 responses:
459 '200':
460 description: successful operation
461 schema:
462 type: array
463 items:
464 $ref: '#/definitions/Video'
465 /videos/categories:
466 get:
467 tags:
468 - Video
469 consumes:
470 - application/json
471 produces:
472 - application/json
473 responses:
474 '200':
475 description: successful operation
476 schema:
477 type: array
478 items:
479 type: string
480 /videos/licences:
481 get:
482 tags:
483 - Video
484 consumes:
485 - application/json
486 produces:
487 - application/json
488 responses:
489 '200':
490 description: successful operation
491 schema:
492 type: array
493 items:
494 type: string
495 /videos/languages:
496 get:
497 tags:
498 - Video
499 consumes:
500 - application/json
501 produces:
502 - application/json
503 responses:
504 '200':
505 description: successful operation
506 schema:
507 type: array
508 items:
509 type: string
510 /videos/privacies:
511 get:
512 tags:
513 - Video
514 consumes:
515 - application/json
516 produces:
517 - application/json
518 responses:
519 '200':
520 description: successful operation
521 schema:
522 type: array
523 items:
524 type: string
525 /videos/search:
526 get:
527 tags:
528 - Video
529 consumes:
530 - application/json
531 produces:
532 - application/json
533 parameters:
534 - name: start
535 in: query
536 required: false
537 type: number
538 description: 'starting page'
539 - name: stop
540 in: query
541 required: false
542 type: number
543 description: 'stoping page'
544 - name: sort
545 in: query
546 required: false
547 type: number
548 description: 'sorting'
549 responses:
550 '200':
551 description: successful operation
552 schema:
553 type: array
554 items:
555 $ref: '#/definitions/Video'
556 "/videos/{id}":
557 put:
558 tags:
559 - Video
560 consumes:
561 - application/json
562 produces:
563 - application/json
564 parameters:
565 - name: id
566 in: path
567 required: true
568 type: string
569 description: 'The video id '
570 responses:
571 '200':
572 description: successful operation
573 schema:
574 $ref: '#/definitions/Video'
575 get:
576 tags:
577 - Video
578 consumes:
579 - application/json
580 produces:
581 - application/json
582 parameters:
583 - name: id
584 in: path
585 required: true
586 type: string
587 description: 'The video id '
588 responses:
589 '200':
590 description: successful operation
591 schema:
592 $ref: '#/definitions/Video'
593 delete:
594 tags:
595 - Video
596 consumes:
597 - application/json
598 produces:
599 - application/json
600 parameters:
601 - name: id
602 in: path
603 required: true
604 type: string
605 description: 'The video id '
606 responses:
607 '204':
608 description: successful operation
609 "/videos/{id}/description":
610 get:
611 tags:
612 - Video
613 consumes:
614 - application/json
615 produces:
616 - application/json
617 parameters:
618 - name: id
619 in: path
620 required: true
621 type: string
622 description: 'The video id '
623 responses:
624 '200':
625 description: successful operation
626 schema:
627 type: string
628 "/videos/{id}/views":
629 post:
630 tags:
631 - Video
632 consumes:
633 - application/json
634 produces:
635 - application/json
636 parameters:
637 - name: id
638 in: path
639 required: true
640 type: string
641 description: 'The video id '
642 responses:
643 '204':
644 description: successful operation
645 /videos/upload:
646 post:
647 tags:
648 - Video
649 consumes:
650 - multipart/form-data
651 produces:
652 - application/json
653 parameters:
654 - in: formData
655 name: videofile
656 type: file
657 description: The file to upload.
658 responses:
659 '200':
660 description: successful operation
661 schema:
662 $ref: '#/definitions/VideoUploadResponse'
663 /videos/abuse:
664 get:
665 tags:
666 - VideoAbuse
667 consumes:
668 - application/json
669 produces:
670 - application/json
671 parameters:
672 - name: start
673 in: query
674 required: false
675 type: number
676 description: 'starting page'
677 - name: stop
678 in: query
679 required: false
680 type: number
681 description: 'stoping page'
682 - name: sort
683 in: query
684 required: false
685 type: number
686 description: 'sorting'
687 responses:
688 '200':
689 description: successful operation
690 schema:
691 type: array
692 items:
693 $ref: '#/definitions/VideoAbuse'
694 "/videos/{id}/abuse":
695 post:
696 tags:
697 - VideoAbuse
698 consumes:
699 - application/json
700 produces:
701 - application/json
702 parameters:
703 - name: id
704 in: path
705 required: true
706 type: string
707 description: 'The video id '
708 responses:
709 '204':
710 description: successful operation
711 "/videos/{videoId}/blacklist":
712 post:
713 tags:
714 - VideoBlacklist
715 consumes:
716 - application/json
717 produces:
718 - application/json
719 parameters:
720 - name: videoId
721 in: path
722 required: true
723 type: string
724 description: 'The video id '
725 responses:
726 '204':
727 description: successful operation
728 delete:
729 tags:
730 - VideoBlacklist
731 consumes:
732 - application/json
733 produces:
734 - application/json
735 parameters:
736 - name: videoId
737 in: path
738 required: true
739 type: string
740 description: 'The video id '
741 responses:
742 '204':
743 description: successful operation
744 /videos/blacklist:
745 get:
746 tags:
747 - VideoBlacklist
748 consumes:
749 - application/json
750 produces:
751 - application/json
752 parameters:
753 - name: start
754 in: query
755 required: false
756 type: number
757 description: 'starting page'
758 - name: stop
759 in: query
760 required: false
761 type: number
762 description: 'stoping page'
763 - name: sort
764 in: query
765 required: false
766 type: number
767 description: 'sorting'
768 responses:
769 '200':
770 description: successful operation
771 schema:
772 type: array
773 items:
774 $ref: '#/definitions/VideoBlacklist'
775 /videos/channels:
776 get:
777 tags:
778 - VideoChannel
779 consumes:
780 - application/json
781 produces:
782 - application/json
783 parameters:
784 - name: start
785 in: query
786 required: false
787 type: number
788 description: 'starting page'
789 - name: stop
790 in: query
791 required: false
792 type: number
793 description: 'stoping page'
794 - name: sort
795 in: query
796 required: false
797 type: number
798 description: 'sorting'
799 responses:
800 '200':
801 description: successful operation
802 schema:
803 type: array
804 items:
805 $ref: '#/definitions/VideoChannel'
806 post:
807 tags:
808 - VideoChannel
809 consumes:
810 - application/json
811 produces:
812 - application/json
813 parameters:
814 - in: body
815 name: body
816 schema:
817 $ref: '#/definitions/VideoChannelInput'
818 responses:
819 '204':
820 description: successful operation
821 "/videos/channels/{id}":
822 get:
823 tags:
824 - VideoChannel
825 consumes:
826 - application/json
827 produces:
828 - application/json
829 parameters:
830 - name: id
831 in: path
832 required: true
833 type: string
834 description: 'The video id '
835 responses:
836 '200':
837 description: successful operation
838 schema:
839 $ref: '#/definitions/VideoChannel'
840 put:
841 tags:
842 - VideoChannel
843 consumes:
844 - application/json
845 produces:
846 - application/json
847 parameters:
848 - name: id
849 in: path
850 required: true
851 type: string
852 description: 'The video id '
853 - in: body
854 name: body
855 schema:
856 $ref: '#/definitions/VideoChannelInput'
857 responses:
858 '204':
859 description: successful operation
860 delete:
861 tags:
862 - VideoChannel
863 consumes:
864 - application/json
865 produces:
866 - application/json
867 parameters:
868 - name: id
869 in: path
870 required: true
871 type: string
872 description: 'The video id '
873 responses:
874 '204':
875 description: successful operation
876 /videos/accounts/{accountId}/channels:
877 get:
878 tags:
879 - VideoChannel
880 consumes:
881 - application/json
882 produces:
883 - application/json
884 parameters:
885 - name: accountId
886 in: path
887 required: true
888 type: string
889 description: 'The account id '
890 responses:
891 '200':
892 description: successful operation
893 schema:
894 type: array
895 items:
896 $ref: '#/definitions/VideoChannel'
897 "/videos/{videoId}/comment-threads":
898 get:
899 tags:
900 - VideoComment
901 consumes:
902 - application/json
903 produces:
904 - application/json
905 parameters:
906 - name: videoId
907 in: path
908 required: true
909 type: string
910 description: 'The video id '
911 - name: start
912 in: query
913 required: false
914 type: number
915 description: 'starting page'
916 - name: stop
917 in: query
918 required: false
919 type: number
920 description: 'stoping page'
921 - name: sort
922 in: query
923 required: false
924 type: number
925 description: 'sorting'
926 responses:
927 '200':
928 description: successful operation
929 schema:
930 $ref: '#/definitions/CommentThreadResponse'
931 post:
932 tags:
933 - VideoComment
934 consumes:
935 - application/json
936 produces:
937 - application/json
938 parameters:
939 - name: videoId
940 in: path
941 required: true
942 type: string
943 description: 'The video id '
944 responses:
945 '200':
946 description: successful operation
947 schema:
948 $ref: '#/definitions/CommentThreadPostResponse'
949 "/videos/{videoId}/comment-threads/{threadId}":
950 get:
951 tags:
952 - VideoComment
953 consumes:
954 - application/json
955 produces:
956 - application/json
957 parameters:
958 - name: videoId
959 in: path
960 required: true
961 type: string
962 description: 'The video id '
963 - name: threadId
964 in: path
965 required: true
966 type: string
967 description: 'The thread id '
968 responses:
969 '200':
970 description: successful operation
971 schema:
972 $ref: '#/definitions/VideoCommentThreadTree'
973 "/videos/{videoId}/comments/{commentId}":
974 post:
975 tags:
976 - VideoComment
977 consumes:
978 - application/json
979 produces:
980 - application/json
981 parameters:
982 - name: videoId
983 in: path
984 required: true
985 type: string
986 description: 'The video id '
987 - name: commentId
988 in: path
989 required: true
990 type: string
991 description: 'The comment id '
992 responses:
993 '200':
994 description: successful operation
995 schema:
996 $ref: '#/definitions/CommentThreadPostResponse'
997 delete:
998 tags:
999 - VideoComment
1000 consumes:
1001 - application/json
1002 produces:
1003 - application/json
1004 parameters:
1005 - name: videoId
1006 in: path
1007 required: true
1008 type: string
1009 description: 'The video id '
1010 - name: commentId
1011 in: path
1012 required: true
1013 type: string
1014 description: 'The comment id '
1015 responses:
1016 '204':
1017 description: successful operation
1018 "/videos/{id}/rate":
1019 put:
1020 tags:
1021 - VideoRate
1022 consumes:
1023 - application/json
1024 produces:
1025 - application/json
1026 parameters:
1027 - name: id
1028 in: path
1029 required: true
1030 type: string
1031 description: 'The video id '
1032 responses:
1033 '204':
1034 description: successful operation
1035 definitions:
1036 Video:
1037 properties:
1038 id:
1039 type: number
1040 uuid:
1041 type: string
1042 accountName:
1043 type: string
1044 createdAt:
1045 type: string
1046 updatedAt:
1047 type: string
1048 categoryLabel:
1049 type: string
1050 category:
1051 type: number
1052 licenceLabel:
1053 type: string
1054 licence:
1055 type: number
1056 languageLabel:
1057 type: string
1058 language:
1059 type: number
1060 description:
1061 type: string
1062 duration:
1063 type: number
1064 isLocal:
1065 type: boolean
1066 name:
1067 type: string
1068 serverHost:
1069 type: string
1070 thumbnailPath:
1071 type: string
1072 previewPath:
1073 type: string
1074 embedPath:
1075 type: string
1076 views:
1077 type: number
1078 likes:
1079 type: number
1080 dislikes:
1081 type: number
1082 nsfw:
1083 type: boolean
1084 VideoAbuse:
1085 properties:
1086 id:
1087 type: number
1088 reason:
1089 type: string
1090 reporterUsername:
1091 type: string
1092 reporterServerHost:
1093 type: string
1094 videoId:
1095 type: number
1096 videoUUID:
1097 type: string
1098 videoName:
1099 type: string
1100 createdAt:
1101 type: string
1102 VideoBlacklist:
1103 properties:
1104 id:
1105 type: number
1106 videoId:
1107 type: number
1108 createdAt:
1109 type: string
1110 updatedAt:
1111 type: string
1112 name:
1113 type: string
1114 uuid:
1115 type: string
1116 description:
1117 type: string
1118 duration:
1119 type: number
1120 views:
1121 type: number
1122 likes:
1123 type: number
1124 dislikes:
1125 type: number
1126 nsfw:
1127 type: boolean
1128 VideoChannel:
1129 properties:
1130 displayName:
1131 type: string
1132 description:
1133 type: string
1134 isLocal:
1135 type: boolean
1136 owner:
1137 type: object
1138 properties:
1139 name:
1140 type: string
1141 uuid:
1142 type: string
1143 videos:
1144 type: array
1145 items:
1146 $ref: "#/definitions/Video"
1147 VideoComment:
1148 properties:
1149 id:
1150 type: number
1151 url:
1152 type: string
1153 text:
1154 type: string
1155 threadId:
1156 type: number
1157 inReplyToCommentId:
1158 type: number
1159 videoId:
1160 type: number
1161 createdAt:
1162 type: string
1163 updatedAt:
1164 type: string
1165 totalReplies:
1166 type: number
1167 account:
1168 $ref: "#/definitions/Account"
1169 VideoCommentThreadTree:
1170 properties:
1171 comment:
1172 $ref: "#/definitions/VideoComment"
1173 children:
1174 type: array
1175 items:
1176 $ref: "#/definitions/VideoCommentThreadTree"
1177 Avatar:
1178 properties:
1179 path:
1180 type: string
1181 createdAt:
1182 type: string
1183 updatedAt:
1184 type: string
1185 Actor:
1186 properties:
1187 id:
1188 type: number
1189 uuid:
1190 type: string
1191 url:
1192 type: string
1193 name:
1194 type: string
1195 host:
1196 type: string
1197 followingCount:
1198 type: number
1199 followersCount:
1200 type: number
1201 createdAt:
1202 type: string
1203 updatedAt:
1204 type: string
1205 avatar:
1206 $ref: "#/definitions/Avatar"
1207 Account:
1208 allOf:
1209 - $ref: "#/definitions/Actor"
1210 - properties:
1211 displayName:
1212 type: string
1213 User:
1214 properties:
1215 id:
1216 type: number
1217 username:
1218 type: string
1219 email:
1220 type: string
1221 displayNSFW:
1222 type: boolean
1223 autoPlayVideo:
1224 type: boolean
1225 role:
1226 type: string
1227 enum: [User, Moderator, Administrator]
1228 videoQuota:
1229 type: number
1230 createdAt:
1231 type: string
1232 account:
1233 $ref: "#/definitions/Account"
1234 videoChannels:
1235 type: array
1236 items:
1237 $ref: "#/definitions/VideoChannel"
1238 ServerConfig:
1239 properties:
1240 signup:
1241 type: object
1242 properties:
1243 allowed:
1244 type: boolean
1245 transcoding:
1246 type: object
1247 properties:
1248 enabledResolutions:
1249 type: array
1250 items:
1251 type: number
1252 avatar:
1253 type: object
1254 properties:
1255 file:
1256 type: object
1257 properties:
1258 size:
1259 type: object
1260 properties:
1261 max:
1262 type: number
1263 extensions:
1264 type: array
1265 items:
1266 type: string
1267 video:
1268 type: object
1269 properties:
1270 file:
1271 type: object
1272 properties:
1273 extensions:
1274 type: array
1275 items:
1276 type: string
1277 Follow:
1278 properties:
1279 id:
1280 type: number
1281 follower:
1282 $ref: "#/definitions/Actor"
1283 following:
1284 $ref: "#/definitions/Actor"
1285 score:
1286 type: number
1287 state:
1288 type: string
1289 enum: [pending, accepted]
1290 createdAt:
1291 type: string
1292 updatedAt:
1293 type: string
1294 Job:
1295 properties:
1296 id:
1297 type: number
1298 state:
1299 type: string
1300 enum: [pending, processing, error, success]
1301 category:
1302 type: string
1303 enum: [transcoding, activitypub-http]
1304 handlerName:
1305 type: string
1306 handlerInputData:
1307 type: string
1308 createdAt:
1309 type: string
1310 updatedAt:
1311 type: string
1312
1313 #Api responses
1314 AddUserResponse:
1315 properties:
1316 id:
1317 type: number
1318 uuid:
1319 type: string
1320 VideoUploadResponse:
1321 properties:
1322 id:
1323 type: number
1324 uuid:
1325 type: string
1326 CommentThreadResponse:
1327 properties:
1328 total:
1329 type: number
1330 data:
1331 type: array
1332 items:
1333 $ref: "#/definitions/VideoComment"
1334 CommentThreadPostResponse:
1335 properties:
1336 comment:
1337 $ref: "#/definitions/VideoComment"
1338
1339 #request bodies
1340 AddUser:
1341 properties:
1342 username:
1343 type: string
1344 description: 'The user username '
1345 password:
1346 type: string
1347 description: 'The user password '
1348 email:
1349 type: string
1350 description: 'The user email '
1351 videoQuota:
1352 type: string
1353 description: 'The user videoQuota '
1354 role:
1355 type: string
1356 description: 'The user role '
1357 required:
1358 - username
1359 - password
1360 - email
1361 - videoQuota
1362 - role
1363 UpdateUser:
1364 properties:
1365 id:
1366 type: string
1367 description: 'The user id '
1368 email:
1369 type: string
1370 description: 'The updated email of the user '
1371 videoQuota:
1372 type: string
1373 description: 'The updated videoQuota of the user '
1374 role:
1375 type: string
1376 description: 'The updated role of the user '
1377 required:
1378 - id
1379 - email
1380 - videoQuota
1381 - role
1382 UpdateMe:
1383 properties:
1384 password:
1385 type: string
1386 description: 'Your new password '
1387 email:
1388 type: string
1389 description: 'Your new email '
1390 displayNSFW:
1391 type: string
1392 description: 'Your new displayNSFW '
1393 autoPlayVideo:
1394 type: string
1395 description: 'Your new autoPlayVideo '
1396 required:
1397 - password
1398 - email
1399 - displayNSFW
1400 - autoPlayVideo
1401 GetMeVideoRating:
1402 properties:
1403 id:
1404 type: string
1405 description: 'Id of the video '
1406 rating:
1407 type: number
1408 description: 'Rating of the video '
1409 required:
1410 - id
1411 - rating
1412 RegisterUser:
1413 properties:
1414 username:
1415 type: string
1416 description: 'The username of the user '
1417 password:
1418 type: string
1419 description: 'The password of the user '
1420 email:
1421 type: string
1422 description: 'The email of the user '
1423 required:
1424 - username
1425 - password
1426 - email
1427 VideoChannelInput:
1428 properties:
1429 name:
1430 type: string
1431 description:
1432 type: string