]>
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' |
bbe0f064 C |
714 | - name: scheduleUpdate |
715 | in: formData | |
716 | required: false | |
717 | description: 'Schedule an update at a specific datetime' | |
718 | type: | |
719 | $ref: '#/definitions/ScheduleVideoUpdate' | |
1569a818 DG |
720 | responses: |
721 | '200': | |
722 | description: successful operation | |
723 | schema: | |
724 | $ref: '#/definitions/Video' | |
725 | get: | |
726 | tags: | |
727 | - Video | |
728 | consumes: | |
729 | - application/json | |
730 | produces: | |
731 | - application/json | |
732 | parameters: | |
733 | - name: id | |
734 | in: path | |
735 | required: true | |
736 | type: string | |
737 | description: 'The video id ' | |
738 | responses: | |
739 | '200': | |
740 | description: successful operation | |
741 | schema: | |
742 | $ref: '#/definitions/Video' | |
743 | delete: | |
94ff4c23 C |
744 | security: |
745 | - OAuth2: [ ] | |
1569a818 DG |
746 | tags: |
747 | - Video | |
748 | consumes: | |
749 | - application/json | |
750 | produces: | |
751 | - application/json | |
752 | parameters: | |
753 | - name: id | |
754 | in: path | |
755 | required: true | |
756 | type: string | |
757 | description: 'The video id ' | |
758 | responses: | |
759 | '204': | |
760 | description: successful operation | |
c360c494 | 761 | "/videos/{id}/description": |
1569a818 DG |
762 | get: |
763 | tags: | |
764 | - Video | |
765 | consumes: | |
766 | - application/json | |
767 | produces: | |
768 | - application/json | |
769 | parameters: | |
770 | - name: id | |
771 | in: path | |
772 | required: true | |
773 | type: string | |
774 | description: 'The video id ' | |
775 | responses: | |
776 | '200': | |
777 | description: successful operation | |
778 | schema: | |
779 | type: string | |
c360c494 | 780 | "/videos/{id}/views": |
1569a818 DG |
781 | post: |
782 | tags: | |
783 | - Video | |
784 | consumes: | |
785 | - application/json | |
786 | produces: | |
787 | - application/json | |
788 | parameters: | |
789 | - name: id | |
790 | in: path | |
791 | required: true | |
792 | type: string | |
793 | description: 'The video id ' | |
794 | responses: | |
795 | '204': | |
796 | description: successful operation | |
c360c494 | 797 | /videos/upload: |
1569a818 | 798 | post: |
94ff4c23 C |
799 | security: |
800 | - OAuth2: [ ] | |
1569a818 DG |
801 | tags: |
802 | - Video | |
803 | consumes: | |
804 | - multipart/form-data | |
805 | produces: | |
806 | - application/json | |
807 | parameters: | |
61b66b36 C |
808 | - name: videofile |
809 | in: formData | |
1569a818 | 810 | type: file |
61b66b36 C |
811 | required: true |
812 | description: 'Video file' | |
813 | - name: thumbnailfile | |
814 | in: formData | |
815 | type: file | |
816 | required: true | |
817 | description: 'Video thumbnail file' | |
818 | - name: previewfile | |
819 | in: formData | |
820 | type: file | |
821 | required: true | |
822 | description: 'Video preview file' | |
823 | - name: category | |
824 | in: formData | |
825 | type: number | |
826 | description: 'Video category' | |
2186386c C |
827 | - name: waitTranscoding |
828 | in: formData | |
829 | type: boolean | |
830 | description: 'Whether or not we wait transcoding before publish the video' | |
61b66b36 C |
831 | - name: licence |
832 | in: formData | |
833 | type: number | |
834 | description: 'Video licence' | |
835 | - name: language | |
836 | in: formData | |
9d3ef9fe | 837 | type: string |
61b66b36 C |
838 | description: 'Video language' |
839 | - name: description | |
840 | in: formData | |
841 | type: string | |
842 | description: 'Video description' | |
843 | - name: support | |
844 | in: formData | |
845 | type: string | |
846 | description: 'Text describing how to support the video uploader' | |
847 | - name: channelId | |
848 | in: formData | |
849 | required: true | |
850 | type: number | |
851 | description: 'Channel id that will contain this video' | |
852 | - name: nsfw | |
853 | in: formData | |
854 | required: true | |
855 | type: boolean | |
856 | description: 'Whether or not this video contains sensitive content' | |
857 | - name: name | |
858 | in: formData | |
859 | required: true | |
860 | type: string | |
861 | description: 'Video name' | |
862 | - name: tags | |
863 | in: formData | |
864 | type: string[] | |
865 | description: 'Video tags' | |
866 | - name: commentsEnabled | |
867 | in: formData | |
868 | type: boolean | |
869 | description: 'Enable or disable comments for this video' | |
870 | - name: privacy | |
871 | in: formData | |
872 | required: true | |
bbe0f064 C |
873 | type: |
874 | $ref: '#/definitions/VideoPrivacy' | |
61b66b36 | 875 | description: 'Video privacy' |
bbe0f064 C |
876 | - name: scheduleUpdate |
877 | in: formData | |
878 | required: false | |
879 | description: 'Schedule an update at a specific datetime' | |
880 | type: | |
881 | $ref: '#/definitions/ScheduleVideoUpdate' | |
1569a818 DG |
882 | responses: |
883 | '200': | |
884 | description: successful operation | |
885 | schema: | |
886 | $ref: '#/definitions/VideoUploadResponse' | |
c360c494 | 887 | /videos/abuse: |
1569a818 | 888 | get: |
94ff4c23 C |
889 | security: |
890 | - OAuth2: [ ] | |
1569a818 DG |
891 | tags: |
892 | - VideoAbuse | |
893 | consumes: | |
894 | - application/json | |
895 | produces: | |
896 | - application/json | |
44cb3b85 DG |
897 | parameters: |
898 | - name: start | |
899 | in: query | |
900 | required: false | |
901 | type: number | |
902 | description: 'starting page' | |
903 | - name: stop | |
904 | in: query | |
905 | required: false | |
906 | type: number | |
61b66b36 | 907 | description: 'stopping page' |
44cb3b85 DG |
908 | - name: sort |
909 | in: query | |
910 | required: false | |
911 | type: number | |
912 | description: 'sorting' | |
1569a818 DG |
913 | responses: |
914 | '200': | |
915 | description: successful operation | |
916 | schema: | |
917 | type: array | |
918 | items: | |
919 | $ref: '#/definitions/VideoAbuse' | |
c360c494 | 920 | "/videos/{id}/abuse": |
1569a818 | 921 | post: |
94ff4c23 C |
922 | security: |
923 | - OAuth2: [ ] | |
1569a818 DG |
924 | tags: |
925 | - VideoAbuse | |
926 | consumes: | |
927 | - application/json | |
928 | produces: | |
929 | - application/json | |
930 | parameters: | |
931 | - name: id | |
932 | in: path | |
933 | required: true | |
934 | type: string | |
935 | description: 'The video id ' | |
936 | responses: | |
937 | '204': | |
938 | description: successful operation | |
c360c494 | 939 | "/videos/{videoId}/blacklist": |
1569a818 | 940 | post: |
94ff4c23 C |
941 | security: |
942 | - OAuth2: [ ] | |
1569a818 DG |
943 | tags: |
944 | - VideoBlacklist | |
945 | consumes: | |
946 | - application/json | |
947 | produces: | |
948 | - application/json | |
949 | parameters: | |
950 | - name: videoId | |
951 | in: path | |
952 | required: true | |
953 | type: string | |
954 | description: 'The video id ' | |
955 | responses: | |
956 | '204': | |
957 | description: successful operation | |
958 | delete: | |
94ff4c23 C |
959 | security: |
960 | - OAuth2: [ ] | |
1569a818 DG |
961 | tags: |
962 | - VideoBlacklist | |
963 | consumes: | |
964 | - application/json | |
965 | produces: | |
966 | - application/json | |
967 | parameters: | |
968 | - name: videoId | |
969 | in: path | |
970 | required: true | |
971 | type: string | |
972 | description: 'The video id ' | |
973 | responses: | |
974 | '204': | |
975 | description: successful operation | |
c360c494 | 976 | /videos/blacklist: |
1569a818 | 977 | get: |
94ff4c23 C |
978 | security: |
979 | - OAuth2: [ ] | |
1569a818 DG |
980 | tags: |
981 | - VideoBlacklist | |
982 | consumes: | |
983 | - application/json | |
984 | produces: | |
985 | - application/json | |
44cb3b85 DG |
986 | parameters: |
987 | - name: start | |
988 | in: query | |
989 | required: false | |
990 | type: number | |
991 | description: 'starting page' | |
992 | - name: stop | |
993 | in: query | |
994 | required: false | |
995 | type: number | |
61b66b36 | 996 | description: 'stopping page' |
44cb3b85 DG |
997 | - name: sort |
998 | in: query | |
999 | required: false | |
1000 | type: number | |
1001 | description: 'sorting' | |
1569a818 DG |
1002 | responses: |
1003 | '200': | |
1004 | description: successful operation | |
1005 | schema: | |
1006 | type: array | |
1007 | items: | |
1008 | $ref: '#/definitions/VideoBlacklist' | |
48dce1c9 | 1009 | /video-channels: |
1569a818 DG |
1010 | get: |
1011 | tags: | |
1012 | - VideoChannel | |
1013 | consumes: | |
1014 | - application/json | |
1015 | produces: | |
1016 | - application/json | |
44cb3b85 DG |
1017 | parameters: |
1018 | - name: start | |
1019 | in: query | |
1020 | required: false | |
1021 | type: number | |
1022 | description: 'starting page' | |
1023 | - name: stop | |
1024 | in: query | |
1025 | required: false | |
1026 | type: number | |
61b66b36 | 1027 | description: 'stopping page' |
44cb3b85 DG |
1028 | - name: sort |
1029 | in: query | |
1030 | required: false | |
1031 | type: number | |
1032 | description: 'sorting' | |
1569a818 DG |
1033 | responses: |
1034 | '200': | |
1035 | description: successful operation | |
1036 | schema: | |
1037 | type: array | |
1038 | items: | |
1039 | $ref: '#/definitions/VideoChannel' | |
1040 | post: | |
94ff4c23 C |
1041 | security: |
1042 | - OAuth2: [ ] | |
1569a818 DG |
1043 | tags: |
1044 | - VideoChannel | |
1045 | consumes: | |
1046 | - application/json | |
1047 | produces: | |
1048 | - application/json | |
1049 | parameters: | |
1050 | - in: body | |
1051 | name: body | |
1052 | schema: | |
1053 | $ref: '#/definitions/VideoChannelInput' | |
1054 | responses: | |
1055 | '204': | |
1056 | description: successful operation | |
cc918ac3 | 1057 | "/video-channels/{id}": |
1569a818 DG |
1058 | get: |
1059 | tags: | |
1060 | - VideoChannel | |
1061 | consumes: | |
1062 | - application/json | |
1063 | produces: | |
1064 | - application/json | |
1065 | parameters: | |
1066 | - name: id | |
1067 | in: path | |
1068 | required: true | |
1069 | type: string | |
48dce1c9 | 1070 | description: 'The video channel id ' |
1569a818 DG |
1071 | responses: |
1072 | '200': | |
1073 | description: successful operation | |
1074 | schema: | |
1075 | $ref: '#/definitions/VideoChannel' | |
1076 | put: | |
94ff4c23 C |
1077 | security: |
1078 | - OAuth2: [ ] | |
1569a818 DG |
1079 | tags: |
1080 | - VideoChannel | |
1081 | consumes: | |
1082 | - application/json | |
1083 | produces: | |
1084 | - application/json | |
1085 | parameters: | |
1086 | - name: id | |
1087 | in: path | |
1088 | required: true | |
1089 | type: string | |
48dce1c9 | 1090 | description: 'The video channel id ' |
1569a818 DG |
1091 | - in: body |
1092 | name: body | |
1093 | schema: | |
1094 | $ref: '#/definitions/VideoChannelInput' | |
1095 | responses: | |
1096 | '204': | |
1097 | description: successful operation | |
1098 | delete: | |
94ff4c23 C |
1099 | security: |
1100 | - OAuth2: [ ] | |
1569a818 DG |
1101 | tags: |
1102 | - VideoChannel | |
1103 | consumes: | |
1104 | - application/json | |
1105 | produces: | |
1106 | - application/json | |
1107 | parameters: | |
cc918ac3 | 1108 | - name: id |
1569a818 DG |
1109 | in: path |
1110 | required: true | |
1111 | type: string | |
cc918ac3 C |
1112 | description: 'The video channel id ' |
1113 | responses: | |
1114 | '204': | |
1115 | description: successful operation | |
1116 | "/video-channels/{id}/videos": | |
1117 | get: | |
1118 | tags: | |
1119 | - VideoChannel | |
1120 | consumes: | |
1121 | - application/json | |
1122 | produces: | |
1123 | - application/json | |
1124 | parameters: | |
48dce1c9 | 1125 | - name: id |
1569a818 DG |
1126 | in: path |
1127 | required: true | |
1128 | type: string | |
48dce1c9 | 1129 | description: 'The video channel id ' |
1569a818 | 1130 | responses: |
cc918ac3 | 1131 | '200': |
1569a818 | 1132 | description: successful operation |
cc918ac3 C |
1133 | schema: |
1134 | $ref: '#/definitions/Video' | |
ad9e39fb | 1135 | /accounts/{name}/video-channels: |
6b738c7a C |
1136 | get: |
1137 | tags: | |
1138 | - VideoChannel | |
1139 | consumes: | |
1140 | - application/json | |
1141 | produces: | |
1142 | - application/json | |
1143 | parameters: | |
ad9e39fb | 1144 | - name: name |
6b738c7a C |
1145 | in: path |
1146 | required: true | |
1147 | type: string | |
ad9e39fb | 1148 | description: 'The name of the account (chocobozzz or chocobozzz@peertube.cpy.re for example)' |
6b738c7a C |
1149 | responses: |
1150 | '200': | |
1151 | description: successful operation | |
1152 | schema: | |
cc918ac3 C |
1153 | type: array |
1154 | items: | |
1155 | $ref: '#/definitions/VideoChannel' | |
c360c494 | 1156 | "/videos/{videoId}/comment-threads": |
1569a818 DG |
1157 | get: |
1158 | tags: | |
1159 | - VideoComment | |
1160 | consumes: | |
1161 | - application/json | |
1162 | produces: | |
1163 | - application/json | |
1164 | parameters: | |
1165 | - name: videoId | |
1166 | in: path | |
1167 | required: true | |
1168 | type: string | |
1169 | description: 'The video id ' | |
44cb3b85 DG |
1170 | - name: start |
1171 | in: query | |
1172 | required: false | |
1173 | type: number | |
1174 | description: 'starting page' | |
1175 | - name: stop | |
1176 | in: query | |
1177 | required: false | |
1178 | type: number | |
61b66b36 | 1179 | description: 'stopping page' |
44cb3b85 DG |
1180 | - name: sort |
1181 | in: query | |
1182 | required: false | |
1183 | type: number | |
1184 | description: 'sorting' | |
1569a818 DG |
1185 | responses: |
1186 | '200': | |
1187 | description: successful operation | |
5e1c08eb | 1188 | schema: |
c360c494 | 1189 | $ref: '#/definitions/CommentThreadResponse' |
1569a818 | 1190 | post: |
94ff4c23 C |
1191 | security: |
1192 | - OAuth2: [ ] | |
1569a818 DG |
1193 | tags: |
1194 | - VideoComment | |
1195 | consumes: | |
1196 | - application/json | |
1197 | produces: | |
1198 | - application/json | |
1199 | parameters: | |
1200 | - name: videoId | |
1201 | in: path | |
1202 | required: true | |
1203 | type: string | |
1204 | description: 'The video id ' | |
1205 | responses: | |
1206 | '200': | |
1207 | description: successful operation | |
c360c494 DG |
1208 | schema: |
1209 | $ref: '#/definitions/CommentThreadPostResponse' | |
1210 | "/videos/{videoId}/comment-threads/{threadId}": | |
1569a818 DG |
1211 | get: |
1212 | tags: | |
1213 | - VideoComment | |
1214 | consumes: | |
1215 | - application/json | |
1216 | produces: | |
1217 | - application/json | |
1218 | parameters: | |
1219 | - name: videoId | |
1220 | in: path | |
1221 | required: true | |
1222 | type: string | |
1223 | description: 'The video id ' | |
1224 | - name: threadId | |
1225 | in: path | |
1226 | required: true | |
1227 | type: string | |
1228 | description: 'The thread id ' | |
1229 | responses: | |
1230 | '200': | |
1231 | description: successful operation | |
5e1c08eb C |
1232 | schema: |
1233 | $ref: '#/definitions/VideoCommentThreadTree' | |
c360c494 | 1234 | "/videos/{videoId}/comments/{commentId}": |
1569a818 | 1235 | post: |
94ff4c23 C |
1236 | security: |
1237 | - OAuth2: [ ] | |
1569a818 DG |
1238 | tags: |
1239 | - VideoComment | |
1240 | consumes: | |
1241 | - application/json | |
1242 | produces: | |
1243 | - application/json | |
1244 | parameters: | |
1245 | - name: videoId | |
1246 | in: path | |
1247 | required: true | |
1248 | type: string | |
1249 | description: 'The video id ' | |
1250 | - name: commentId | |
1251 | in: path | |
1252 | required: true | |
1253 | type: string | |
1254 | description: 'The comment id ' | |
1255 | responses: | |
1256 | '200': | |
1257 | description: successful operation | |
c360c494 DG |
1258 | schema: |
1259 | $ref: '#/definitions/CommentThreadPostResponse' | |
1569a818 | 1260 | delete: |
94ff4c23 C |
1261 | security: |
1262 | - OAuth2: [ ] | |
1569a818 DG |
1263 | tags: |
1264 | - VideoComment | |
1265 | consumes: | |
1266 | - application/json | |
1267 | produces: | |
1268 | - application/json | |
1269 | parameters: | |
1270 | - name: videoId | |
1271 | in: path | |
1272 | required: true | |
1273 | type: string | |
1274 | description: 'The video id ' | |
1275 | - name: commentId | |
1276 | in: path | |
1277 | required: true | |
1278 | type: string | |
1279 | description: 'The comment id ' | |
1280 | responses: | |
1281 | '204': | |
1282 | description: successful operation | |
c360c494 | 1283 | "/videos/{id}/rate": |
1569a818 | 1284 | put: |
94ff4c23 C |
1285 | security: |
1286 | - OAuth2: [ ] | |
1569a818 DG |
1287 | tags: |
1288 | - VideoRate | |
1289 | consumes: | |
1290 | - application/json | |
1291 | produces: | |
1292 | - application/json | |
1293 | parameters: | |
1294 | - name: id | |
1295 | in: path | |
1296 | required: true | |
1297 | type: string | |
1298 | description: 'The video id ' | |
1299 | responses: | |
1300 | '204': | |
1301 | description: successful operation | |
1302 | definitions: | |
9d3ef9fe | 1303 | VideoConstantNumber: |
5d00a3d7 C |
1304 | properties: |
1305 | id: | |
1306 | type: number | |
1307 | label: | |
1308 | type: string | |
9d3ef9fe C |
1309 | VideoConstantString: |
1310 | properties: | |
1311 | id: | |
1312 | type: string | |
1313 | label: | |
1314 | type: string | |
61b66b36 C |
1315 | VideoPrivacy: |
1316 | type: string | |
1317 | enum: [Public, Unlisted, Private] | |
1569a818 DG |
1318 | Video: |
1319 | properties: | |
1320 | id: | |
1321 | type: number | |
1322 | uuid: | |
1323 | type: string | |
1569a818 DG |
1324 | createdAt: |
1325 | type: string | |
61b66b36 C |
1326 | publishedAt: |
1327 | type: string | |
1569a818 DG |
1328 | updatedAt: |
1329 | type: string | |
1569a818 | 1330 | category: |
9d3ef9fe | 1331 | $ref: "#/definitions/VideoConstantNumber" |
1569a818 | 1332 | licence: |
9d3ef9fe | 1333 | $ref: "#/definitions/VideoConstantNumber" |
1569a818 | 1334 | language: |
9d3ef9fe | 1335 | $ref: "#/definitions/VideoConstantString" |
61b66b36 C |
1336 | privacy: |
1337 | $ref: "#/definitions/VideoPrivacy" | |
1569a818 DG |
1338 | description: |
1339 | type: string | |
1340 | duration: | |
1341 | type: number | |
1342 | isLocal: | |
1343 | type: boolean | |
1344 | name: | |
1345 | type: string | |
1569a818 DG |
1346 | thumbnailPath: |
1347 | type: string | |
1348 | previewPath: | |
1349 | type: string | |
1350 | embedPath: | |
1351 | type: string | |
1352 | views: | |
1353 | type: number | |
1354 | likes: | |
1355 | type: number | |
1356 | dislikes: | |
1357 | type: number | |
1358 | nsfw: | |
1359 | type: boolean | |
b64c950a | 1360 | account: |
61b66b36 C |
1361 | type: object |
1362 | properties: | |
1363 | name: | |
1364 | type: string | |
1365 | displayName: | |
1366 | type: string | |
1367 | url: | |
1368 | type: string | |
1369 | host: | |
1370 | type: string | |
1371 | avatar: | |
1372 | $ref: "#/definitions/Avatar" | |
1569a818 DG |
1373 | VideoAbuse: |
1374 | properties: | |
1375 | id: | |
1376 | type: number | |
1377 | reason: | |
1378 | type: string | |
19a3b914 C |
1379 | reporterAccount: |
1380 | $ref: "#/definitions/Account" | |
1381 | video: | |
61b66b36 C |
1382 | type: object |
1383 | properties: | |
1384 | id: | |
1385 | type: number | |
1386 | name: | |
1387 | type: string | |
1388 | uuid: | |
1389 | type: string | |
1390 | url: | |
1391 | type: string | |
1569a818 DG |
1392 | createdAt: |
1393 | type: string | |
1394 | VideoBlacklist: | |
1395 | properties: | |
1396 | id: | |
1397 | type: number | |
1398 | videoId: | |
1399 | type: number | |
1400 | createdAt: | |
1401 | type: string | |
1402 | updatedAt: | |
1403 | type: string | |
1404 | name: | |
1405 | type: string | |
1406 | uuid: | |
1407 | type: string | |
1408 | description: | |
1409 | type: string | |
1410 | duration: | |
1411 | type: number | |
1412 | views: | |
1413 | type: number | |
1414 | likes: | |
1415 | type: number | |
1416 | dislikes: | |
1417 | type: number | |
1418 | nsfw: | |
1419 | type: boolean | |
1420 | VideoChannel: | |
1421 | properties: | |
1422 | displayName: | |
1423 | type: string | |
1424 | description: | |
1425 | type: string | |
1426 | isLocal: | |
1427 | type: boolean | |
6b738c7a | 1428 | ownerAccount: |
1569a818 | 1429 | type: object |
5d00a3d7 | 1430 | properties: |
6b738c7a C |
1431 | id: |
1432 | type: number | |
5d00a3d7 | 1433 | uuid: |
1569a818 | 1434 | type: string |
1569a818 DG |
1435 | VideoComment: |
1436 | properties: | |
1437 | id: | |
1438 | type: number | |
1439 | url: | |
1440 | type: string | |
1441 | text: | |
1442 | type: string | |
1443 | threadId: | |
1444 | type: number | |
1445 | inReplyToCommentId: | |
1446 | type: number | |
1447 | videoId: | |
1448 | type: number | |
1449 | createdAt: | |
1450 | type: string | |
1451 | updatedAt: | |
1452 | type: string | |
1453 | totalReplies: | |
1454 | type: number | |
1455 | account: | |
1456 | $ref: "#/definitions/Account" | |
5e1c08eb C |
1457 | VideoCommentThreadTree: |
1458 | properties: | |
1459 | comment: | |
1460 | $ref: "#/definitions/VideoComment" | |
1461 | children: | |
1462 | type: array | |
1463 | items: | |
1464 | $ref: "#/definitions/VideoCommentThreadTree" | |
1569a818 DG |
1465 | Avatar: |
1466 | properties: | |
1467 | path: | |
1468 | type: string | |
1469 | createdAt: | |
1470 | type: string | |
1471 | updatedAt: | |
1472 | type: string | |
1473 | Actor: | |
1474 | properties: | |
1475 | id: | |
1476 | type: number | |
1477 | uuid: | |
1478 | type: string | |
1479 | url: | |
1480 | type: string | |
1481 | name: | |
1482 | type: string | |
1483 | host: | |
1484 | type: string | |
1485 | followingCount: | |
1486 | type: number | |
1487 | followersCount: | |
1488 | type: number | |
1489 | createdAt: | |
1490 | type: string | |
1491 | updatedAt: | |
1492 | type: string | |
1493 | avatar: | |
1494 | $ref: "#/definitions/Avatar" | |
1495 | Account: | |
1496 | allOf: | |
1497 | - $ref: "#/definitions/Actor" | |
1498 | - properties: | |
1499 | displayName: | |
1500 | type: string | |
1501 | User: | |
1502 | properties: | |
1503 | id: | |
1504 | type: number | |
1505 | username: | |
1506 | type: string | |
1507 | email: | |
1508 | type: string | |
1509 | displayNSFW: | |
1510 | type: boolean | |
1511 | autoPlayVideo: | |
1512 | type: boolean | |
1513 | role: | |
1514 | type: string | |
5d00a3d7 | 1515 | enum: [User, Moderator, Administrator] |
1569a818 DG |
1516 | videoQuota: |
1517 | type: number | |
1518 | createdAt: | |
1519 | type: string | |
1520 | account: | |
1521 | $ref: "#/definitions/Account" | |
1522 | videoChannels: | |
1523 | type: array | |
1524 | items: | |
1525 | $ref: "#/definitions/VideoChannel" | |
1526 | ServerConfig: | |
1527 | properties: | |
5d00a3d7 | 1528 | signup: |
1569a818 DG |
1529 | type: object |
1530 | properties: | |
1531 | allowed: | |
1532 | type: boolean | |
1533 | transcoding: | |
1534 | type: object | |
1535 | properties: | |
1536 | enabledResolutions: | |
1537 | type: array | |
1538 | items: | |
1539 | type: number | |
1540 | avatar: | |
1541 | type: object | |
1542 | properties: | |
1543 | file: | |
1544 | type: object | |
1545 | properties: | |
1546 | size: | |
1547 | type: object | |
1548 | properties: | |
1549 | max: | |
1550 | type: number | |
5d00a3d7 | 1551 | extensions: |
1569a818 DG |
1552 | type: array |
1553 | items: | |
1554 | type: string | |
1555 | video: | |
1556 | type: object | |
1557 | properties: | |
1558 | file: | |
1559 | type: object | |
5d00a3d7 C |
1560 | properties: |
1561 | extensions: | |
1569a818 DG |
1562 | type: array |
1563 | items: | |
1564 | type: string | |
1565 | Follow: | |
1566 | properties: | |
1567 | id: | |
1568 | type: number | |
1569 | follower: | |
1570 | $ref: "#/definitions/Actor" | |
1571 | following: | |
1572 | $ref: "#/definitions/Actor" | |
1573 | score: | |
1574 | type: number | |
1575 | state: | |
1576 | type: string | |
1577 | enum: [pending, accepted] | |
1578 | createdAt: | |
1579 | type: string | |
1580 | updatedAt: | |
1581 | type: string | |
1582 | Job: | |
1583 | properties: | |
1584 | id: | |
1585 | type: number | |
1586 | state: | |
1587 | type: string | |
1588 | enum: [pending, processing, error, success] | |
1589 | category: | |
1590 | type: string | |
1591 | enum: [transcoding, activitypub-http] | |
1592 | handlerName: | |
1593 | type: string | |
1594 | handlerInputData: | |
1595 | type: string | |
1596 | createdAt: | |
1597 | type: string | |
1598 | updatedAt: | |
1599 | type: string | |
1600 | ||
61b66b36 | 1601 | # Api responses |
1569a818 DG |
1602 | AddUserResponse: |
1603 | properties: | |
1604 | id: | |
1605 | type: number | |
1606 | uuid: | |
1607 | type: string | |
1608 | VideoUploadResponse: | |
1609 | properties: | |
61b66b36 C |
1610 | video: |
1611 | type: object | |
1612 | properties: | |
1613 | id: | |
1614 | type: number | |
1615 | uuid: | |
1616 | type: string | |
c360c494 DG |
1617 | CommentThreadResponse: |
1618 | properties: | |
1619 | total: | |
1620 | type: number | |
1621 | data: | |
1622 | type: array | |
1623 | items: | |
1624 | $ref: "#/definitions/VideoComment" | |
1625 | CommentThreadPostResponse: | |
1626 | properties: | |
1627 | comment: | |
1628 | $ref: "#/definitions/VideoComment" | |
1569a818 | 1629 | |
61b66b36 | 1630 | # Request bodies |
1569a818 DG |
1631 | AddUser: |
1632 | properties: | |
1633 | username: | |
1634 | type: string | |
1635 | description: 'The user username ' | |
1636 | password: | |
1637 | type: string | |
1638 | description: 'The user password ' | |
1639 | email: | |
1640 | type: string | |
1641 | description: 'The user email ' | |
1642 | videoQuota: | |
1643 | type: string | |
1644 | description: 'The user videoQuota ' | |
1645 | role: | |
1646 | type: string | |
1647 | description: 'The user role ' | |
1648 | required: | |
1649 | - username | |
1650 | - password | |
1651 | ||
1652 | - videoQuota | |
1653 | - role | |
1654 | UpdateUser: | |
1655 | properties: | |
1656 | id: | |
1657 | type: string | |
1658 | description: 'The user id ' | |
1659 | email: | |
1660 | type: string | |
1661 | description: 'The updated email of the user ' | |
1662 | videoQuota: | |
1663 | type: string | |
1664 | description: 'The updated videoQuota of the user ' | |
1665 | role: | |
1666 | type: string | |
1667 | description: 'The updated role of the user ' | |
1668 | required: | |
1669 | - id | |
1670 | ||
1671 | - videoQuota | |
1672 | - role | |
1673 | UpdateMe: | |
1674 | properties: | |
1675 | password: | |
1676 | type: string | |
1677 | description: 'Your new password ' | |
1678 | email: | |
1679 | type: string | |
1680 | description: 'Your new email ' | |
1681 | displayNSFW: | |
1682 | type: string | |
1683 | description: 'Your new displayNSFW ' | |
1684 | autoPlayVideo: | |
1685 | type: string | |
1686 | description: 'Your new autoPlayVideo ' | |
1687 | required: | |
1688 | - password | |
1689 | ||
1690 | - displayNSFW | |
1691 | - autoPlayVideo | |
1692 | GetMeVideoRating: | |
1693 | properties: | |
1694 | id: | |
1695 | type: string | |
1696 | description: 'Id of the video ' | |
1697 | rating: | |
1698 | type: number | |
1699 | description: 'Rating of the video ' | |
1700 | required: | |
1701 | - id | |
1702 | - rating | |
1703 | RegisterUser: | |
1704 | properties: | |
1705 | username: | |
1706 | type: string | |
1707 | description: 'The username of the user ' | |
1708 | password: | |
1709 | type: string | |
1710 | description: 'The password of the user ' | |
1711 | email: | |
1712 | type: string | |
1713 | description: 'The email of the user ' | |
1714 | required: | |
1715 | - username | |
1716 | - password | |
1717 | ||
1718 | VideoChannelInput: | |
1719 | properties: | |
1720 | name: | |
1721 | type: string | |
1722 | description: | |
1723 | type: string | |
bbe0f064 C |
1724 | ScheduleVideoUpdate: |
1725 | properties: | |
1726 | updateAt: | |
1727 | type: dateTime | |
1728 | description: 'When to update the video' | |
1729 | required: true | |
1730 | privacy: | |
1731 | $ref: '#/definitions/VideoPrivacy' | |
1732 | required: false |