]>
Commit | Line | Data |
---|---|---|
1569a818 DG |
1 | swagger: '2.0' |
2 | info: | |
5e1c08eb | 3 | title: PeerTube |
164e6c87 | 4 | version: 1.0.0-beta |
1569a818 | 5 | description: Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular. |
ea65a476 | 6 | host: peertube.example.com |
94ff4c23 C |
7 | securityDefinitions: |
8 | OAuth2: | |
9 | description: 'In the header: *Authorization: Bearer mytoken*' | |
10 | type: oauth2 | |
11 | flow: password | |
12 | # Not implemented yet | |
13 | # authorizationUrl: https://example.com/oauth/authorize | |
14 | tokenUrl: https://peertube.example.com/api/v1/users/token | |
ea65a476 C |
15 | basePath: '/api/v1' |
16 | schemes: | |
17 | - https | |
1569a818 | 18 | paths: |
ad9e39fb | 19 | '/accounts/{name}': |
1569a818 DG |
20 | get: |
21 | tags: | |
22 | - Accounts | |
23 | consumes: | |
24 | - application/json | |
25 | produces: | |
26 | - application/json | |
27 | parameters: | |
ad9e39fb | 28 | - name: name |
1569a818 DG |
29 | in: path |
30 | required: true | |
31 | type: string | |
ad9e39fb | 32 | description: 'The name of the account (chocobozzz or chocobozzz@peertube.cpy.re for example)' |
44cb3b85 DG |
33 | - name: start |
34 | in: query | |
35 | required: false | |
36 | type: number | |
37 | description: 'starting page' | |
38 | - name: stop | |
39 | in: query | |
40 | required: false | |
41 | type: number | |
61b66b36 | 42 | description: 'stopping page' |
44cb3b85 DG |
43 | - name: sort |
44 | in: query | |
45 | required: false | |
46 | type: number | |
47 | description: 'sorting' | |
1569a818 DG |
48 | responses: |
49 | '200': | |
50 | description: successful operation | |
51 | schema: | |
52 | $ref: '#/definitions/Account' | |
ad9e39fb | 53 | '/accounts/{name}/videos': |
6b738c7a C |
54 | get: |
55 | tags: | |
56 | - Accounts | |
57 | consumes: | |
58 | - application/json | |
59 | produces: | |
60 | - application/json | |
61 | parameters: | |
ad9e39fb | 62 | - name: name |
6b738c7a C |
63 | in: path |
64 | required: true | |
65 | type: string | |
ad9e39fb | 66 | description: 'The name of the account (chocobozzz or chocobozzz@peertube.cpy.re for example)' |
6b738c7a C |
67 | responses: |
68 | '200': | |
69 | description: successful operation | |
70 | schema: | |
71 | $ref: '#/definitions/Video' | |
1569a818 DG |
72 | /accounts: |
73 | get: | |
74 | tags: | |
75 | - Accounts | |
76 | consumes: | |
77 | - application/json | |
78 | produces: | |
79 | - application/json | |
80 | responses: | |
81 | '200': | |
82 | description: successful operation | |
83 | schema: | |
84 | type: array | |
85 | items: | |
86 | $ref: '#/definitions/Account' | |
87 | /config: | |
88 | get: | |
89 | tags: | |
90 | - Config | |
91 | consumes: | |
92 | - application/json | |
93 | produces: | |
94 | - application/json | |
95 | responses: | |
96 | '200': | |
97 | description: successful operation | |
98 | schema: | |
5d00a3d7 | 99 | $ref: '#/definitions/ServerConfig' |
244e76a5 RK |
100 | /feeds/videos.{format}: |
101 | get: | |
102 | tags: | |
103 | - Feeds | |
244e76a5 | 104 | produces: |
9d3ef9fe C |
105 | - application/atom+xml |
106 | - application/rss+xml | |
244e76a5 RK |
107 | - application/json |
108 | parameters: | |
109 | - name: format | |
110 | in: path | |
111 | required: true | |
112 | type: string | |
48dce1c9 | 113 | enum: [ 'xml', 'atom', 'json'] |
244e76a5 RK |
114 | default: 'xml' |
115 | description: 'The format expected (xml defaults to RSS 2.0, atom to ATOM 1.0 and json to JSON FEED 1.0' | |
116 | - name: accountId | |
117 | in: query | |
118 | required: false | |
119 | type: number | |
120 | description: 'The id of the local account to filter to (beware, users IDs and not actors IDs which will return empty feeds' | |
121 | - name: accountName | |
122 | in: query | |
123 | required: false | |
124 | type: string | |
125 | description: 'The name of the local account to filter to' | |
126 | responses: | |
127 | '200': | |
128 | description: successful operation | |
1569a818 DG |
129 | /jobs: |
130 | get: | |
94ff4c23 C |
131 | security: |
132 | - OAuth2: [ ] | |
1569a818 DG |
133 | tags: |
134 | - Job | |
135 | consumes: | |
136 | - application/json | |
137 | produces: | |
138 | - application/json | |
44cb3b85 DG |
139 | parameters: |
140 | - name: state | |
141 | in: path | |
142 | required: true | |
143 | type: string | |
144 | description: 'The id of the account' | |
145 | - name: start | |
146 | in: query | |
147 | required: false | |
148 | type: number | |
149 | description: 'starting page' | |
150 | - name: count | |
151 | in: query | |
152 | required: false | |
153 | type: number | |
154 | description: '' | |
155 | - name: sort | |
156 | in: query | |
157 | required: false | |
158 | type: number | |
159 | description: 'sorting' | |
1569a818 DG |
160 | responses: |
161 | '200': | |
162 | description: successful operation | |
163 | schema: | |
164 | type: array | |
165 | items: | |
5d00a3d7 | 166 | $ref: '#/definitions/Job' |
1569a818 DG |
167 | '/server/following/{host}': |
168 | delete: | |
94ff4c23 C |
169 | security: |
170 | - OAuth2: [ ] | |
1569a818 DG |
171 | tags: |
172 | - ServerFollowing | |
173 | consumes: | |
174 | - application/json | |
175 | produces: | |
176 | - application/json | |
177 | parameters: | |
178 | - name: host | |
179 | in: path | |
180 | required: true | |
181 | type: string | |
182 | description: 'The host to unfollow ' | |
183 | responses: | |
184 | '201': | |
185 | description: successful operation | |
186 | /server/followers: | |
187 | get: | |
188 | tags: | |
189 | - ServerFollowing | |
190 | consumes: | |
191 | - application/json | |
192 | produces: | |
193 | - application/json | |
44cb3b85 DG |
194 | parameters: |
195 | - name: start | |
196 | in: query | |
197 | required: false | |
198 | type: number | |
199 | description: 'starting page' | |
200 | - name: stop | |
201 | in: query | |
202 | required: false | |
203 | type: number | |
61b66b36 | 204 | description: 'stopping page' |
44cb3b85 DG |
205 | - name: sort |
206 | in: query | |
207 | required: false | |
208 | type: number | |
209 | description: 'sorting' | |
1569a818 DG |
210 | responses: |
211 | '200': | |
212 | description: successful operation | |
213 | schema: | |
214 | type: array | |
215 | items: | |
216 | $ref: '#/definitions/Follow' | |
217 | /server/following: | |
218 | get: | |
219 | tags: | |
220 | - ServerFollowing | |
221 | consumes: | |
222 | - application/json | |
223 | produces: | |
224 | - application/json | |
44cb3b85 DG |
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 | |
61b66b36 | 235 | description: 'stopping page' |
44cb3b85 DG |
236 | - name: sort |
237 | in: query | |
238 | required: false | |
239 | type: number | |
240 | description: 'sorting' | |
1569a818 DG |
241 | responses: |
242 | '200': | |
243 | description: successful operation | |
244 | schema: | |
245 | type: array | |
246 | items: | |
247 | $ref: '#/definitions/Follow' | |
248 | post: | |
94ff4c23 C |
249 | security: |
250 | - OAuth2: [ ] | |
1569a818 DG |
251 | tags: |
252 | - ServerFollowing | |
253 | consumes: | |
254 | - application/json | |
255 | produces: | |
256 | - application/json | |
257 | parameters: | |
258 | - in: body | |
259 | name: body | |
260 | schema: | |
261 | $ref: '#/definitions/Follow' | |
262 | responses: | |
263 | '204': | |
264 | description: successful operation | |
265 | /users: | |
266 | post: | |
94ff4c23 C |
267 | security: |
268 | - OAuth2: [ ] | |
1569a818 DG |
269 | tags: |
270 | - User | |
271 | consumes: | |
272 | - application/json | |
273 | produces: | |
274 | - application/json | |
275 | parameters: | |
276 | - in: body | |
277 | name: body | |
278 | required: true | |
61b66b36 | 279 | description: 'User to create' |
1569a818 DG |
280 | schema: |
281 | $ref: '#/definitions/AddUser' | |
282 | responses: | |
283 | '200': | |
284 | description: successful operation | |
285 | schema: | |
286 | $ref: '#/definitions/AddUserResponse' | |
287 | get: | |
94ff4c23 C |
288 | security: |
289 | - OAuth2: [ ] | |
1569a818 DG |
290 | tags: |
291 | - User | |
292 | consumes: | |
293 | - application/json | |
294 | produces: | |
295 | - application/json | |
44cb3b85 DG |
296 | parameters: |
297 | - name: start | |
298 | in: query | |
299 | required: false | |
300 | type: number | |
301 | description: 'starting page' | |
302 | - name: stop | |
303 | in: query | |
304 | required: false | |
305 | type: number | |
61b66b36 | 306 | description: 'stopping page' |
44cb3b85 DG |
307 | - name: sort |
308 | in: query | |
309 | required: false | |
310 | type: number | |
311 | description: 'sorting' | |
1569a818 DG |
312 | responses: |
313 | '200': | |
314 | description: successful operation | |
315 | schema: | |
316 | type: array | |
317 | items: | |
318 | $ref: '#/definitions/User' | |
319 | '/users/{id}': | |
320 | delete: | |
94ff4c23 C |
321 | security: |
322 | - OAuth2: [ ] | |
1569a818 DG |
323 | tags: |
324 | - User | |
325 | consumes: | |
326 | - application/json | |
327 | produces: | |
328 | - application/json | |
329 | parameters: | |
330 | - name: id | |
331 | in: path | |
332 | required: true | |
333 | type: string | |
334 | description: 'The user id ' | |
335 | responses: | |
336 | '204': | |
337 | description: successful operation | |
338 | get: | |
94ff4c23 C |
339 | security: |
340 | - OAuth2: [ ] | |
1569a818 DG |
341 | tags: |
342 | - User | |
343 | consumes: | |
344 | - application/json | |
345 | produces: | |
346 | - application/json | |
347 | parameters: | |
348 | - name: id | |
349 | in: path | |
350 | required: true | |
351 | type: string | |
352 | description: 'The user id ' | |
353 | responses: | |
354 | '200': | |
355 | description: successful operation | |
356 | schema: | |
357 | $ref: '#/definitions/User' | |
358 | put: | |
94ff4c23 C |
359 | security: |
360 | - OAuth2: [ ] | |
1569a818 DG |
361 | tags: |
362 | - User | |
363 | consumes: | |
364 | - application/json | |
365 | produces: | |
366 | - application/json | |
367 | parameters: | |
368 | - name: id | |
369 | in: path | |
370 | required: true | |
371 | type: string | |
372 | description: 'The user id ' | |
373 | - in: body | |
374 | name: body | |
375 | required: true | |
376 | schema: | |
377 | $ref: '#/definitions/UpdateUser' | |
378 | responses: | |
379 | '204': | |
380 | description: successful operation | |
381 | /users/me: | |
382 | get: | |
94ff4c23 C |
383 | security: |
384 | - OAuth2: [ ] | |
1569a818 DG |
385 | tags: |
386 | - User | |
387 | consumes: | |
388 | - application/json | |
389 | produces: | |
390 | - application/json | |
391 | responses: | |
392 | '200': | |
393 | description: successful operation | |
394 | schema: | |
395 | type: array | |
396 | items: | |
397 | $ref: '#/definitions/User' | |
398 | put: | |
94ff4c23 C |
399 | security: |
400 | - OAuth2: [ ] | |
1569a818 DG |
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/UpdateMe' | |
413 | responses: | |
414 | '204': | |
415 | description: successful operation | |
416 | /users/me/video-quota-used: | |
417 | get: | |
94ff4c23 C |
418 | security: |
419 | - OAuth2: [ ] | |
1569a818 DG |
420 | tags: |
421 | - User | |
422 | consumes: | |
423 | - application/json | |
424 | produces: | |
425 | - application/json | |
426 | parameters: [] | |
427 | responses: | |
428 | '200': | |
429 | description: successful operation | |
430 | schema: | |
431 | type: number | |
432 | '/users/me/videos/{videoId}/rating': | |
433 | get: | |
94ff4c23 C |
434 | security: |
435 | - OAuth2: [ ] | |
1569a818 DG |
436 | tags: |
437 | - User | |
438 | consumes: | |
439 | - application/json | |
440 | produces: | |
441 | - application/json | |
442 | parameters: | |
443 | - name: videoId | |
444 | in: path | |
445 | required: true | |
446 | type: string | |
447 | description: 'The video id ' | |
448 | responses: | |
449 | '200': | |
450 | description: successful operation | |
451 | schema: | |
452 | $ref: '#/definitions/GetMeVideoRating' | |
453 | /users/me/videos: | |
454 | get: | |
94ff4c23 C |
455 | security: |
456 | - OAuth2: [ ] | |
1569a818 DG |
457 | tags: |
458 | - User | |
459 | consumes: | |
460 | - application/json | |
461 | produces: | |
462 | - application/json | |
44cb3b85 DG |
463 | parameters: |
464 | - name: start | |
465 | in: query | |
466 | required: false | |
467 | type: number | |
468 | description: 'starting page' | |
469 | - name: stop | |
470 | in: query | |
471 | required: false | |
472 | type: number | |
61b66b36 | 473 | description: 'stopping page' |
44cb3b85 DG |
474 | - name: sort |
475 | in: query | |
476 | required: false | |
477 | type: number | |
478 | description: 'sorting' | |
1569a818 DG |
479 | responses: |
480 | '200': | |
481 | description: successful operation | |
482 | schema: | |
483 | type: array | |
484 | items: | |
485 | $ref: '#/definitions/Video' | |
486 | /users/register: | |
487 | post: | |
488 | tags: | |
489 | - User | |
490 | consumes: | |
491 | - application/json | |
492 | produces: | |
493 | - application/json | |
494 | parameters: | |
495 | - in: body | |
496 | name: body | |
497 | required: true | |
498 | schema: | |
499 | $ref: '#/definitions/RegisterUser' | |
500 | responses: | |
501 | '204': | |
502 | description: successful operation | |
503 | /users/me/avatar/pick: | |
504 | post: | |
94ff4c23 C |
505 | security: |
506 | - OAuth2: [ ] | |
1569a818 DG |
507 | tags: |
508 | - User | |
509 | consumes: | |
510 | - multipart/form-data | |
511 | produces: | |
512 | - application/json | |
513 | parameters: | |
514 | - in: formData | |
515 | name: avatarfile | |
516 | type: file | |
517 | description: The file to upload. | |
518 | responses: | |
519 | '200': | |
520 | description: successful operation | |
521 | schema: | |
522 | $ref: '#/definitions/Avatar' | |
c360c494 | 523 | /videos: |
1569a818 DG |
524 | get: |
525 | tags: | |
526 | - Video | |
527 | consumes: | |
528 | - application/json | |
529 | produces: | |
530 | - application/json | |
44cb3b85 DG |
531 | parameters: |
532 | - name: start | |
533 | in: query | |
534 | required: false | |
535 | type: number | |
536 | description: 'starting page' | |
537 | - name: stop | |
538 | in: query | |
539 | required: false | |
540 | type: number | |
61b66b36 | 541 | description: 'stopping page' |
44cb3b85 DG |
542 | - name: sort |
543 | in: query | |
544 | required: false | |
545 | type: number | |
546 | description: 'sorting' | |
1569a818 DG |
547 | responses: |
548 | '200': | |
549 | description: successful operation | |
550 | schema: | |
551 | type: array | |
552 | items: | |
553 | $ref: '#/definitions/Video' | |
c360c494 | 554 | /videos/categories: |
1569a818 DG |
555 | get: |
556 | tags: | |
557 | - Video | |
558 | consumes: | |
559 | - application/json | |
560 | produces: | |
561 | - application/json | |
562 | responses: | |
563 | '200': | |
564 | description: successful operation | |
565 | schema: | |
566 | type: array | |
567 | items: | |
568 | type: string | |
c360c494 | 569 | /videos/licences: |
1569a818 DG |
570 | get: |
571 | tags: | |
572 | - Video | |
573 | consumes: | |
574 | - application/json | |
575 | produces: | |
576 | - application/json | |
577 | responses: | |
578 | '200': | |
579 | description: successful operation | |
580 | schema: | |
581 | type: array | |
582 | items: | |
583 | type: string | |
c360c494 | 584 | /videos/languages: |
1569a818 DG |
585 | get: |
586 | tags: | |
587 | - Video | |
588 | consumes: | |
589 | - application/json | |
590 | produces: | |
591 | - application/json | |
592 | responses: | |
593 | '200': | |
594 | description: successful operation | |
595 | schema: | |
596 | type: array | |
597 | items: | |
598 | type: string | |
c360c494 | 599 | /videos/privacies: |
1569a818 DG |
600 | get: |
601 | tags: | |
602 | - Video | |
603 | consumes: | |
604 | - application/json | |
605 | produces: | |
606 | - application/json | |
607 | responses: | |
608 | '200': | |
609 | description: successful operation | |
610 | schema: | |
611 | type: array | |
612 | items: | |
613 | type: string | |
c360c494 | 614 | /videos/search: |
1569a818 DG |
615 | get: |
616 | tags: | |
617 | - Video | |
618 | consumes: | |
619 | - application/json | |
620 | produces: | |
621 | - application/json | |
44cb3b85 DG |
622 | parameters: |
623 | - name: start | |
624 | in: query | |
625 | required: false | |
626 | type: number | |
627 | description: 'starting page' | |
628 | - name: stop | |
629 | in: query | |
630 | required: false | |
631 | type: number | |
61b66b36 | 632 | description: 'stopping page' |
44cb3b85 DG |
633 | - name: sort |
634 | in: query | |
635 | required: false | |
636 | type: number | |
637 | description: 'sorting' | |
1569a818 DG |
638 | responses: |
639 | '200': | |
640 | description: successful operation | |
641 | schema: | |
642 | type: array | |
643 | items: | |
644 | $ref: '#/definitions/Video' | |
c360c494 | 645 | "/videos/{id}": |
1569a818 | 646 | put: |
94ff4c23 C |
647 | security: |
648 | - OAuth2: [ ] | |
1569a818 DG |
649 | tags: |
650 | - Video | |
651 | consumes: | |
61b66b36 | 652 | - multipart/form-data |
1569a818 DG |
653 | produces: |
654 | - application/json | |
655 | parameters: | |
656 | - name: id | |
657 | in: path | |
658 | required: true | |
659 | type: string | |
61b66b36 C |
660 | description: 'The video id' |
661 | - name: thumbnailfile | |
662 | in: formData | |
663 | type: file | |
664 | description: 'Video thumbnail file' | |
665 | - name: previewfile | |
666 | in: formData | |
667 | type: file | |
668 | description: 'Video preview file' | |
669 | - name: category | |
670 | in: formData | |
671 | type: number | |
672 | description: 'Video category' | |
673 | - name: licence | |
674 | in: formData | |
675 | type: number | |
676 | description: 'Video licence' | |
677 | - name: language | |
678 | in: formData | |
9d3ef9fe | 679 | type: string |
61b66b36 C |
680 | description: 'Video language' |
681 | - name: description | |
682 | in: formData | |
683 | type: string | |
684 | description: 'Video description' | |
2186386c C |
685 | - name: waitTranscoding |
686 | in: formData | |
687 | type: boolean | |
688 | description: 'Whether or not we wait transcoding before publish the video' | |
61b66b36 C |
689 | - name: support |
690 | in: formData | |
691 | type: string | |
692 | description: 'Text describing how to support the video uploader' | |
693 | - name: nsfw | |
694 | in: formData | |
695 | type: boolean | |
696 | description: 'Whether or not this video contains sensitive content' | |
697 | - name: name | |
698 | in: formData | |
699 | type: string | |
700 | description: 'Video name' | |
701 | - name: tags | |
702 | in: formData | |
703 | type: string[] | |
704 | description: 'Video tags' | |
705 | - name: commentsEnabled | |
706 | in: formData | |
707 | type: boolean | |
708 | description: 'Enable or disable comments for this video' | |
709 | - name: privacy | |
710 | in: formData | |
711 | type: string | |
97ea2404 | 712 | enum: [Public, Unlisted] |
61b66b36 | 713 | description: 'Video privacy' |
1569a818 DG |
714 | responses: |
715 | '200': | |
716 | description: successful operation | |
717 | schema: | |
718 | $ref: '#/definitions/Video' | |
719 | get: | |
720 | tags: | |
721 | - Video | |
722 | consumes: | |
723 | - application/json | |
724 | produces: | |
725 | - application/json | |
726 | parameters: | |
727 | - name: id | |
728 | in: path | |
729 | required: true | |
730 | type: string | |
731 | description: 'The video id ' | |
732 | responses: | |
733 | '200': | |
734 | description: successful operation | |
735 | schema: | |
736 | $ref: '#/definitions/Video' | |
737 | delete: | |
94ff4c23 C |
738 | security: |
739 | - OAuth2: [ ] | |
1569a818 DG |
740 | tags: |
741 | - Video | |
742 | consumes: | |
743 | - application/json | |
744 | produces: | |
745 | - application/json | |
746 | parameters: | |
747 | - name: id | |
748 | in: path | |
749 | required: true | |
750 | type: string | |
751 | description: 'The video id ' | |
752 | responses: | |
753 | '204': | |
754 | description: successful operation | |
c360c494 | 755 | "/videos/{id}/description": |
1569a818 DG |
756 | get: |
757 | tags: | |
758 | - Video | |
759 | consumes: | |
760 | - application/json | |
761 | produces: | |
762 | - application/json | |
763 | parameters: | |
764 | - name: id | |
765 | in: path | |
766 | required: true | |
767 | type: string | |
768 | description: 'The video id ' | |
769 | responses: | |
770 | '200': | |
771 | description: successful operation | |
772 | schema: | |
773 | type: string | |
c360c494 | 774 | "/videos/{id}/views": |
1569a818 DG |
775 | post: |
776 | tags: | |
777 | - Video | |
778 | consumes: | |
779 | - application/json | |
780 | produces: | |
781 | - application/json | |
782 | parameters: | |
783 | - name: id | |
784 | in: path | |
785 | required: true | |
786 | type: string | |
787 | description: 'The video id ' | |
788 | responses: | |
789 | '204': | |
790 | description: successful operation | |
c360c494 | 791 | /videos/upload: |
1569a818 | 792 | post: |
94ff4c23 C |
793 | security: |
794 | - OAuth2: [ ] | |
1569a818 DG |
795 | tags: |
796 | - Video | |
797 | consumes: | |
798 | - multipart/form-data | |
799 | produces: | |
800 | - application/json | |
801 | parameters: | |
61b66b36 C |
802 | - name: videofile |
803 | in: formData | |
1569a818 | 804 | type: file |
61b66b36 C |
805 | required: true |
806 | description: 'Video file' | |
807 | - name: thumbnailfile | |
808 | in: formData | |
809 | type: file | |
810 | required: true | |
811 | description: 'Video thumbnail file' | |
812 | - name: previewfile | |
813 | in: formData | |
814 | type: file | |
815 | required: true | |
816 | description: 'Video preview file' | |
817 | - name: category | |
818 | in: formData | |
819 | type: number | |
820 | description: 'Video category' | |
2186386c C |
821 | - name: waitTranscoding |
822 | in: formData | |
823 | type: boolean | |
824 | description: 'Whether or not we wait transcoding before publish the video' | |
61b66b36 C |
825 | - name: licence |
826 | in: formData | |
827 | type: number | |
828 | description: 'Video licence' | |
829 | - name: language | |
830 | in: formData | |
9d3ef9fe | 831 | type: string |
61b66b36 C |
832 | description: 'Video language' |
833 | - name: description | |
834 | in: formData | |
835 | type: string | |
836 | description: 'Video description' | |
837 | - name: support | |
838 | in: formData | |
839 | type: string | |
840 | description: 'Text describing how to support the video uploader' | |
841 | - name: channelId | |
842 | in: formData | |
843 | required: true | |
844 | type: number | |
845 | description: 'Channel id that will contain this video' | |
846 | - name: nsfw | |
847 | in: formData | |
848 | required: true | |
849 | type: boolean | |
850 | description: 'Whether or not this video contains sensitive content' | |
851 | - name: name | |
852 | in: formData | |
853 | required: true | |
854 | type: string | |
855 | description: 'Video name' | |
856 | - name: tags | |
857 | in: formData | |
858 | type: string[] | |
859 | description: 'Video tags' | |
860 | - name: commentsEnabled | |
861 | in: formData | |
862 | type: boolean | |
863 | description: 'Enable or disable comments for this video' | |
864 | - name: privacy | |
865 | in: formData | |
866 | required: true | |
867 | type: string | |
868 | enum: [Public, Unlisted, Private] | |
869 | description: 'Video privacy' | |
1569a818 DG |
870 | responses: |
871 | '200': | |
872 | description: successful operation | |
873 | schema: | |
874 | $ref: '#/definitions/VideoUploadResponse' | |
c360c494 | 875 | /videos/abuse: |
1569a818 | 876 | get: |
94ff4c23 C |
877 | security: |
878 | - OAuth2: [ ] | |
1569a818 DG |
879 | tags: |
880 | - VideoAbuse | |
881 | consumes: | |
882 | - application/json | |
883 | produces: | |
884 | - application/json | |
44cb3b85 DG |
885 | parameters: |
886 | - name: start | |
887 | in: query | |
888 | required: false | |
889 | type: number | |
890 | description: 'starting page' | |
891 | - name: stop | |
892 | in: query | |
893 | required: false | |
894 | type: number | |
61b66b36 | 895 | description: 'stopping page' |
44cb3b85 DG |
896 | - name: sort |
897 | in: query | |
898 | required: false | |
899 | type: number | |
900 | description: 'sorting' | |
1569a818 DG |
901 | responses: |
902 | '200': | |
903 | description: successful operation | |
904 | schema: | |
905 | type: array | |
906 | items: | |
907 | $ref: '#/definitions/VideoAbuse' | |
c360c494 | 908 | "/videos/{id}/abuse": |
1569a818 | 909 | post: |
94ff4c23 C |
910 | security: |
911 | - OAuth2: [ ] | |
1569a818 DG |
912 | tags: |
913 | - VideoAbuse | |
914 | consumes: | |
915 | - application/json | |
916 | produces: | |
917 | - application/json | |
918 | parameters: | |
919 | - name: id | |
920 | in: path | |
921 | required: true | |
922 | type: string | |
923 | description: 'The video id ' | |
924 | responses: | |
925 | '204': | |
926 | description: successful operation | |
c360c494 | 927 | "/videos/{videoId}/blacklist": |
1569a818 | 928 | post: |
94ff4c23 C |
929 | security: |
930 | - OAuth2: [ ] | |
1569a818 DG |
931 | tags: |
932 | - VideoBlacklist | |
933 | consumes: | |
934 | - application/json | |
935 | produces: | |
936 | - application/json | |
937 | parameters: | |
938 | - name: videoId | |
939 | in: path | |
940 | required: true | |
941 | type: string | |
942 | description: 'The video id ' | |
943 | responses: | |
944 | '204': | |
945 | description: successful operation | |
946 | delete: | |
94ff4c23 C |
947 | security: |
948 | - OAuth2: [ ] | |
1569a818 DG |
949 | tags: |
950 | - VideoBlacklist | |
951 | consumes: | |
952 | - application/json | |
953 | produces: | |
954 | - application/json | |
955 | parameters: | |
956 | - name: videoId | |
957 | in: path | |
958 | required: true | |
959 | type: string | |
960 | description: 'The video id ' | |
961 | responses: | |
962 | '204': | |
963 | description: successful operation | |
c360c494 | 964 | /videos/blacklist: |
1569a818 | 965 | get: |
94ff4c23 C |
966 | security: |
967 | - OAuth2: [ ] | |
1569a818 DG |
968 | tags: |
969 | - VideoBlacklist | |
970 | consumes: | |
971 | - application/json | |
972 | produces: | |
973 | - application/json | |
44cb3b85 DG |
974 | parameters: |
975 | - name: start | |
976 | in: query | |
977 | required: false | |
978 | type: number | |
979 | description: 'starting page' | |
980 | - name: stop | |
981 | in: query | |
982 | required: false | |
983 | type: number | |
61b66b36 | 984 | description: 'stopping page' |
44cb3b85 DG |
985 | - name: sort |
986 | in: query | |
987 | required: false | |
988 | type: number | |
989 | description: 'sorting' | |
1569a818 DG |
990 | responses: |
991 | '200': | |
992 | description: successful operation | |
993 | schema: | |
994 | type: array | |
995 | items: | |
996 | $ref: '#/definitions/VideoBlacklist' | |
48dce1c9 | 997 | /video-channels: |
1569a818 DG |
998 | get: |
999 | tags: | |
1000 | - VideoChannel | |
1001 | consumes: | |
1002 | - application/json | |
1003 | produces: | |
1004 | - application/json | |
44cb3b85 DG |
1005 | parameters: |
1006 | - name: start | |
1007 | in: query | |
1008 | required: false | |
1009 | type: number | |
1010 | description: 'starting page' | |
1011 | - name: stop | |
1012 | in: query | |
1013 | required: false | |
1014 | type: number | |
61b66b36 | 1015 | description: 'stopping page' |
44cb3b85 DG |
1016 | - name: sort |
1017 | in: query | |
1018 | required: false | |
1019 | type: number | |
1020 | description: 'sorting' | |
1569a818 DG |
1021 | responses: |
1022 | '200': | |
1023 | description: successful operation | |
1024 | schema: | |
1025 | type: array | |
1026 | items: | |
1027 | $ref: '#/definitions/VideoChannel' | |
1028 | post: | |
94ff4c23 C |
1029 | security: |
1030 | - OAuth2: [ ] | |
1569a818 DG |
1031 | tags: |
1032 | - VideoChannel | |
1033 | consumes: | |
1034 | - application/json | |
1035 | produces: | |
1036 | - application/json | |
1037 | parameters: | |
1038 | - in: body | |
1039 | name: body | |
1040 | schema: | |
1041 | $ref: '#/definitions/VideoChannelInput' | |
1042 | responses: | |
1043 | '204': | |
1044 | description: successful operation | |
cc918ac3 | 1045 | "/video-channels/{id}": |
1569a818 DG |
1046 | get: |
1047 | tags: | |
1048 | - VideoChannel | |
1049 | consumes: | |
1050 | - application/json | |
1051 | produces: | |
1052 | - application/json | |
1053 | parameters: | |
1054 | - name: id | |
1055 | in: path | |
1056 | required: true | |
1057 | type: string | |
48dce1c9 | 1058 | description: 'The video channel id ' |
1569a818 DG |
1059 | responses: |
1060 | '200': | |
1061 | description: successful operation | |
1062 | schema: | |
1063 | $ref: '#/definitions/VideoChannel' | |
1064 | put: | |
94ff4c23 C |
1065 | security: |
1066 | - OAuth2: [ ] | |
1569a818 DG |
1067 | tags: |
1068 | - VideoChannel | |
1069 | consumes: | |
1070 | - application/json | |
1071 | produces: | |
1072 | - application/json | |
1073 | parameters: | |
1074 | - name: id | |
1075 | in: path | |
1076 | required: true | |
1077 | type: string | |
48dce1c9 | 1078 | description: 'The video channel id ' |
1569a818 DG |
1079 | - in: body |
1080 | name: body | |
1081 | schema: | |
1082 | $ref: '#/definitions/VideoChannelInput' | |
1083 | responses: | |
1084 | '204': | |
1085 | description: successful operation | |
1086 | delete: | |
94ff4c23 C |
1087 | security: |
1088 | - OAuth2: [ ] | |
1569a818 DG |
1089 | tags: |
1090 | - VideoChannel | |
1091 | consumes: | |
1092 | - application/json | |
1093 | produces: | |
1094 | - application/json | |
1095 | parameters: | |
cc918ac3 | 1096 | - name: id |
1569a818 DG |
1097 | in: path |
1098 | required: true | |
1099 | type: string | |
cc918ac3 C |
1100 | description: 'The video channel id ' |
1101 | responses: | |
1102 | '204': | |
1103 | description: successful operation | |
1104 | "/video-channels/{id}/videos": | |
1105 | get: | |
1106 | tags: | |
1107 | - VideoChannel | |
1108 | consumes: | |
1109 | - application/json | |
1110 | produces: | |
1111 | - application/json | |
1112 | parameters: | |
48dce1c9 | 1113 | - name: id |
1569a818 DG |
1114 | in: path |
1115 | required: true | |
1116 | type: string | |
48dce1c9 | 1117 | description: 'The video channel id ' |
1569a818 | 1118 | responses: |
cc918ac3 | 1119 | '200': |
1569a818 | 1120 | description: successful operation |
cc918ac3 C |
1121 | schema: |
1122 | $ref: '#/definitions/Video' | |
ad9e39fb | 1123 | /accounts/{name}/video-channels: |
6b738c7a C |
1124 | get: |
1125 | tags: | |
1126 | - VideoChannel | |
1127 | consumes: | |
1128 | - application/json | |
1129 | produces: | |
1130 | - application/json | |
1131 | parameters: | |
ad9e39fb | 1132 | - name: name |
6b738c7a C |
1133 | in: path |
1134 | required: true | |
1135 | type: string | |
ad9e39fb | 1136 | description: 'The name of the account (chocobozzz or chocobozzz@peertube.cpy.re for example)' |
6b738c7a C |
1137 | responses: |
1138 | '200': | |
1139 | description: successful operation | |
1140 | schema: | |
cc918ac3 C |
1141 | type: array |
1142 | items: | |
1143 | $ref: '#/definitions/VideoChannel' | |
c360c494 | 1144 | "/videos/{videoId}/comment-threads": |
1569a818 DG |
1145 | get: |
1146 | tags: | |
1147 | - VideoComment | |
1148 | consumes: | |
1149 | - application/json | |
1150 | produces: | |
1151 | - application/json | |
1152 | parameters: | |
1153 | - name: videoId | |
1154 | in: path | |
1155 | required: true | |
1156 | type: string | |
1157 | description: 'The video id ' | |
44cb3b85 DG |
1158 | - name: start |
1159 | in: query | |
1160 | required: false | |
1161 | type: number | |
1162 | description: 'starting page' | |
1163 | - name: stop | |
1164 | in: query | |
1165 | required: false | |
1166 | type: number | |
61b66b36 | 1167 | description: 'stopping page' |
44cb3b85 DG |
1168 | - name: sort |
1169 | in: query | |
1170 | required: false | |
1171 | type: number | |
1172 | description: 'sorting' | |
1569a818 DG |
1173 | responses: |
1174 | '200': | |
1175 | description: successful operation | |
5e1c08eb | 1176 | schema: |
c360c494 | 1177 | $ref: '#/definitions/CommentThreadResponse' |
1569a818 | 1178 | post: |
94ff4c23 C |
1179 | security: |
1180 | - OAuth2: [ ] | |
1569a818 DG |
1181 | tags: |
1182 | - VideoComment | |
1183 | consumes: | |
1184 | - application/json | |
1185 | produces: | |
1186 | - application/json | |
1187 | parameters: | |
1188 | - name: videoId | |
1189 | in: path | |
1190 | required: true | |
1191 | type: string | |
1192 | description: 'The video id ' | |
1193 | responses: | |
1194 | '200': | |
1195 | description: successful operation | |
c360c494 DG |
1196 | schema: |
1197 | $ref: '#/definitions/CommentThreadPostResponse' | |
1198 | "/videos/{videoId}/comment-threads/{threadId}": | |
1569a818 DG |
1199 | get: |
1200 | tags: | |
1201 | - VideoComment | |
1202 | consumes: | |
1203 | - application/json | |
1204 | produces: | |
1205 | - application/json | |
1206 | parameters: | |
1207 | - name: videoId | |
1208 | in: path | |
1209 | required: true | |
1210 | type: string | |
1211 | description: 'The video id ' | |
1212 | - name: threadId | |
1213 | in: path | |
1214 | required: true | |
1215 | type: string | |
1216 | description: 'The thread id ' | |
1217 | responses: | |
1218 | '200': | |
1219 | description: successful operation | |
5e1c08eb C |
1220 | schema: |
1221 | $ref: '#/definitions/VideoCommentThreadTree' | |
c360c494 | 1222 | "/videos/{videoId}/comments/{commentId}": |
1569a818 | 1223 | post: |
94ff4c23 C |
1224 | security: |
1225 | - OAuth2: [ ] | |
1569a818 DG |
1226 | tags: |
1227 | - VideoComment | |
1228 | consumes: | |
1229 | - application/json | |
1230 | produces: | |
1231 | - application/json | |
1232 | parameters: | |
1233 | - name: videoId | |
1234 | in: path | |
1235 | required: true | |
1236 | type: string | |
1237 | description: 'The video id ' | |
1238 | - name: commentId | |
1239 | in: path | |
1240 | required: true | |
1241 | type: string | |
1242 | description: 'The comment id ' | |
1243 | responses: | |
1244 | '200': | |
1245 | description: successful operation | |
c360c494 DG |
1246 | schema: |
1247 | $ref: '#/definitions/CommentThreadPostResponse' | |
1569a818 | 1248 | delete: |
94ff4c23 C |
1249 | security: |
1250 | - OAuth2: [ ] | |
1569a818 DG |
1251 | tags: |
1252 | - VideoComment | |
1253 | consumes: | |
1254 | - application/json | |
1255 | produces: | |
1256 | - application/json | |
1257 | parameters: | |
1258 | - name: videoId | |
1259 | in: path | |
1260 | required: true | |
1261 | type: string | |
1262 | description: 'The video id ' | |
1263 | - name: commentId | |
1264 | in: path | |
1265 | required: true | |
1266 | type: string | |
1267 | description: 'The comment id ' | |
1268 | responses: | |
1269 | '204': | |
1270 | description: successful operation | |
c360c494 | 1271 | "/videos/{id}/rate": |
1569a818 | 1272 | put: |
94ff4c23 C |
1273 | security: |
1274 | - OAuth2: [ ] | |
1569a818 DG |
1275 | tags: |
1276 | - VideoRate | |
1277 | consumes: | |
1278 | - application/json | |
1279 | produces: | |
1280 | - application/json | |
1281 | parameters: | |
1282 | - name: id | |
1283 | in: path | |
1284 | required: true | |
1285 | type: string | |
1286 | description: 'The video id ' | |
1287 | responses: | |
1288 | '204': | |
1289 | description: successful operation | |
1290 | definitions: | |
9d3ef9fe | 1291 | VideoConstantNumber: |
5d00a3d7 C |
1292 | properties: |
1293 | id: | |
1294 | type: number | |
1295 | label: | |
1296 | type: string | |
9d3ef9fe C |
1297 | VideoConstantString: |
1298 | properties: | |
1299 | id: | |
1300 | type: string | |
1301 | label: | |
1302 | type: string | |
61b66b36 C |
1303 | VideoPrivacy: |
1304 | type: string | |
1305 | enum: [Public, Unlisted, Private] | |
1569a818 DG |
1306 | Video: |
1307 | properties: | |
1308 | id: | |
1309 | type: number | |
1310 | uuid: | |
1311 | type: string | |
1569a818 DG |
1312 | createdAt: |
1313 | type: string | |
61b66b36 C |
1314 | publishedAt: |
1315 | type: string | |
1569a818 DG |
1316 | updatedAt: |
1317 | type: string | |
1569a818 | 1318 | category: |
9d3ef9fe | 1319 | $ref: "#/definitions/VideoConstantNumber" |
1569a818 | 1320 | licence: |
9d3ef9fe | 1321 | $ref: "#/definitions/VideoConstantNumber" |
1569a818 | 1322 | language: |
9d3ef9fe | 1323 | $ref: "#/definitions/VideoConstantString" |
61b66b36 C |
1324 | privacy: |
1325 | $ref: "#/definitions/VideoPrivacy" | |
1569a818 DG |
1326 | description: |
1327 | type: string | |
1328 | duration: | |
1329 | type: number | |
1330 | isLocal: | |
1331 | type: boolean | |
1332 | name: | |
1333 | type: string | |
1569a818 DG |
1334 | thumbnailPath: |
1335 | type: string | |
1336 | previewPath: | |
1337 | type: string | |
1338 | embedPath: | |
1339 | type: string | |
1340 | views: | |
1341 | type: number | |
1342 | likes: | |
1343 | type: number | |
1344 | dislikes: | |
1345 | type: number | |
1346 | nsfw: | |
1347 | type: boolean | |
b64c950a | 1348 | account: |
61b66b36 C |
1349 | type: object |
1350 | properties: | |
1351 | name: | |
1352 | type: string | |
1353 | displayName: | |
1354 | type: string | |
1355 | url: | |
1356 | type: string | |
1357 | host: | |
1358 | type: string | |
1359 | avatar: | |
1360 | $ref: "#/definitions/Avatar" | |
1569a818 DG |
1361 | VideoAbuse: |
1362 | properties: | |
1363 | id: | |
1364 | type: number | |
1365 | reason: | |
1366 | type: string | |
19a3b914 C |
1367 | reporterAccount: |
1368 | $ref: "#/definitions/Account" | |
1369 | video: | |
61b66b36 C |
1370 | type: object |
1371 | properties: | |
1372 | id: | |
1373 | type: number | |
1374 | name: | |
1375 | type: string | |
1376 | uuid: | |
1377 | type: string | |
1378 | url: | |
1379 | type: string | |
1569a818 DG |
1380 | createdAt: |
1381 | type: string | |
1382 | VideoBlacklist: | |
1383 | properties: | |
1384 | id: | |
1385 | type: number | |
1386 | videoId: | |
1387 | type: number | |
1388 | createdAt: | |
1389 | type: string | |
1390 | updatedAt: | |
1391 | type: string | |
1392 | name: | |
1393 | type: string | |
1394 | uuid: | |
1395 | type: string | |
1396 | description: | |
1397 | type: string | |
1398 | duration: | |
1399 | type: number | |
1400 | views: | |
1401 | type: number | |
1402 | likes: | |
1403 | type: number | |
1404 | dislikes: | |
1405 | type: number | |
1406 | nsfw: | |
1407 | type: boolean | |
1408 | VideoChannel: | |
1409 | properties: | |
1410 | displayName: | |
1411 | type: string | |
1412 | description: | |
1413 | type: string | |
1414 | isLocal: | |
1415 | type: boolean | |
6b738c7a | 1416 | ownerAccount: |
1569a818 | 1417 | type: object |
5d00a3d7 | 1418 | properties: |
6b738c7a C |
1419 | id: |
1420 | type: number | |
5d00a3d7 | 1421 | uuid: |
1569a818 | 1422 | type: string |
1569a818 DG |
1423 | VideoComment: |
1424 | properties: | |
1425 | id: | |
1426 | type: number | |
1427 | url: | |
1428 | type: string | |
1429 | text: | |
1430 | type: string | |
1431 | threadId: | |
1432 | type: number | |
1433 | inReplyToCommentId: | |
1434 | type: number | |
1435 | videoId: | |
1436 | type: number | |
1437 | createdAt: | |
1438 | type: string | |
1439 | updatedAt: | |
1440 | type: string | |
1441 | totalReplies: | |
1442 | type: number | |
1443 | account: | |
1444 | $ref: "#/definitions/Account" | |
5e1c08eb C |
1445 | VideoCommentThreadTree: |
1446 | properties: | |
1447 | comment: | |
1448 | $ref: "#/definitions/VideoComment" | |
1449 | children: | |
1450 | type: array | |
1451 | items: | |
1452 | $ref: "#/definitions/VideoCommentThreadTree" | |
1569a818 DG |
1453 | Avatar: |
1454 | properties: | |
1455 | path: | |
1456 | type: string | |
1457 | createdAt: | |
1458 | type: string | |
1459 | updatedAt: | |
1460 | type: string | |
1461 | Actor: | |
1462 | properties: | |
1463 | id: | |
1464 | type: number | |
1465 | uuid: | |
1466 | type: string | |
1467 | url: | |
1468 | type: string | |
1469 | name: | |
1470 | type: string | |
1471 | host: | |
1472 | type: string | |
1473 | followingCount: | |
1474 | type: number | |
1475 | followersCount: | |
1476 | type: number | |
1477 | createdAt: | |
1478 | type: string | |
1479 | updatedAt: | |
1480 | type: string | |
1481 | avatar: | |
1482 | $ref: "#/definitions/Avatar" | |
1483 | Account: | |
1484 | allOf: | |
1485 | - $ref: "#/definitions/Actor" | |
1486 | - properties: | |
1487 | displayName: | |
1488 | type: string | |
1489 | User: | |
1490 | properties: | |
1491 | id: | |
1492 | type: number | |
1493 | username: | |
1494 | type: string | |
1495 | email: | |
1496 | type: string | |
1497 | displayNSFW: | |
1498 | type: boolean | |
1499 | autoPlayVideo: | |
1500 | type: boolean | |
1501 | role: | |
1502 | type: string | |
5d00a3d7 | 1503 | enum: [User, Moderator, Administrator] |
1569a818 DG |
1504 | videoQuota: |
1505 | type: number | |
1506 | createdAt: | |
1507 | type: string | |
1508 | account: | |
1509 | $ref: "#/definitions/Account" | |
1510 | videoChannels: | |
1511 | type: array | |
1512 | items: | |
1513 | $ref: "#/definitions/VideoChannel" | |
1514 | ServerConfig: | |
1515 | properties: | |
5d00a3d7 | 1516 | signup: |
1569a818 DG |
1517 | type: object |
1518 | properties: | |
1519 | allowed: | |
1520 | type: boolean | |
1521 | transcoding: | |
1522 | type: object | |
1523 | properties: | |
1524 | enabledResolutions: | |
1525 | type: array | |
1526 | items: | |
1527 | type: number | |
1528 | avatar: | |
1529 | type: object | |
1530 | properties: | |
1531 | file: | |
1532 | type: object | |
1533 | properties: | |
1534 | size: | |
1535 | type: object | |
1536 | properties: | |
1537 | max: | |
1538 | type: number | |
5d00a3d7 | 1539 | extensions: |
1569a818 DG |
1540 | type: array |
1541 | items: | |
1542 | type: string | |
1543 | video: | |
1544 | type: object | |
1545 | properties: | |
1546 | file: | |
1547 | type: object | |
5d00a3d7 C |
1548 | properties: |
1549 | extensions: | |
1569a818 DG |
1550 | type: array |
1551 | items: | |
1552 | type: string | |
1553 | Follow: | |
1554 | properties: | |
1555 | id: | |
1556 | type: number | |
1557 | follower: | |
1558 | $ref: "#/definitions/Actor" | |
1559 | following: | |
1560 | $ref: "#/definitions/Actor" | |
1561 | score: | |
1562 | type: number | |
1563 | state: | |
1564 | type: string | |
1565 | enum: [pending, accepted] | |
1566 | createdAt: | |
1567 | type: string | |
1568 | updatedAt: | |
1569 | type: string | |
1570 | Job: | |
1571 | properties: | |
1572 | id: | |
1573 | type: number | |
1574 | state: | |
1575 | type: string | |
1576 | enum: [pending, processing, error, success] | |
1577 | category: | |
1578 | type: string | |
1579 | enum: [transcoding, activitypub-http] | |
1580 | handlerName: | |
1581 | type: string | |
1582 | handlerInputData: | |
1583 | type: string | |
1584 | createdAt: | |
1585 | type: string | |
1586 | updatedAt: | |
1587 | type: string | |
1588 | ||
61b66b36 | 1589 | # Api responses |
1569a818 DG |
1590 | AddUserResponse: |
1591 | properties: | |
1592 | id: | |
1593 | type: number | |
1594 | uuid: | |
1595 | type: string | |
1596 | VideoUploadResponse: | |
1597 | properties: | |
61b66b36 C |
1598 | video: |
1599 | type: object | |
1600 | properties: | |
1601 | id: | |
1602 | type: number | |
1603 | uuid: | |
1604 | type: string | |
c360c494 DG |
1605 | CommentThreadResponse: |
1606 | properties: | |
1607 | total: | |
1608 | type: number | |
1609 | data: | |
1610 | type: array | |
1611 | items: | |
1612 | $ref: "#/definitions/VideoComment" | |
1613 | CommentThreadPostResponse: | |
1614 | properties: | |
1615 | comment: | |
1616 | $ref: "#/definitions/VideoComment" | |
1569a818 | 1617 | |
61b66b36 | 1618 | # Request bodies |
1569a818 DG |
1619 | AddUser: |
1620 | properties: | |
1621 | username: | |
1622 | type: string | |
1623 | description: 'The user username ' | |
1624 | password: | |
1625 | type: string | |
1626 | description: 'The user password ' | |
1627 | email: | |
1628 | type: string | |
1629 | description: 'The user email ' | |
1630 | videoQuota: | |
1631 | type: string | |
1632 | description: 'The user videoQuota ' | |
1633 | role: | |
1634 | type: string | |
1635 | description: 'The user role ' | |
1636 | required: | |
1637 | - username | |
1638 | - password | |
1639 | ||
1640 | - videoQuota | |
1641 | - role | |
1642 | UpdateUser: | |
1643 | properties: | |
1644 | id: | |
1645 | type: string | |
1646 | description: 'The user id ' | |
1647 | email: | |
1648 | type: string | |
1649 | description: 'The updated email of the user ' | |
1650 | videoQuota: | |
1651 | type: string | |
1652 | description: 'The updated videoQuota of the user ' | |
1653 | role: | |
1654 | type: string | |
1655 | description: 'The updated role of the user ' | |
1656 | required: | |
1657 | - id | |
1658 | ||
1659 | - videoQuota | |
1660 | - role | |
1661 | UpdateMe: | |
1662 | properties: | |
1663 | password: | |
1664 | type: string | |
1665 | description: 'Your new password ' | |
1666 | email: | |
1667 | type: string | |
1668 | description: 'Your new email ' | |
1669 | displayNSFW: | |
1670 | type: string | |
1671 | description: 'Your new displayNSFW ' | |
1672 | autoPlayVideo: | |
1673 | type: string | |
1674 | description: 'Your new autoPlayVideo ' | |
1675 | required: | |
1676 | - password | |
1677 | ||
1678 | - displayNSFW | |
1679 | - autoPlayVideo | |
1680 | GetMeVideoRating: | |
1681 | properties: | |
1682 | id: | |
1683 | type: string | |
1684 | description: 'Id of the video ' | |
1685 | rating: | |
1686 | type: number | |
1687 | description: 'Rating of the video ' | |
1688 | required: | |
1689 | - id | |
1690 | - rating | |
1691 | RegisterUser: | |
1692 | properties: | |
1693 | username: | |
1694 | type: string | |
1695 | description: 'The username of the user ' | |
1696 | password: | |
1697 | type: string | |
1698 | description: 'The password of the user ' | |
1699 | email: | |
1700 | type: string | |
1701 | description: 'The email of the user ' | |
1702 | required: | |
1703 | - username | |
1704 | - password | |
1705 | ||
1706 | VideoChannelInput: | |
1707 | properties: | |
1708 | name: | |
1709 | type: string | |
1710 | description: | |
1711 | type: string |