aboutsummaryrefslogtreecommitdiffhomepage
path: root/support/doc
diff options
context:
space:
mode:
Diffstat (limited to 'support/doc')
-rw-r--r--support/doc/api/openapi.yaml154
1 files changed, 88 insertions, 66 deletions
diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml
index 7d308a114..f3edca682 100644
--- a/support/doc/api/openapi.yaml
+++ b/support/doc/api/openapi.yaml
@@ -106,9 +106,9 @@ tags:
106 Managing plugins installed from a local path or from NPM, or search for new ones. 106 Managing plugins installed from a local path or from NPM, or search for new ones.
107 externalDocs: 107 externalDocs:
108 url: https://docs.joinpeertube.org/#/api-plugins 108 url: https://docs.joinpeertube.org/#/api-plugins
109 - name: Video Abuses 109 - name: Abuses
110 description: | 110 description: |
111 Video abuses deal with reports of local or remote videos alike. 111 Abuses deal with reports of local or remote videos/comments/accounts alike.
112 - name: Video 112 - name: Video
113 description: | 113 description: |
114 Operations dealing with listing, uploading, fetching or modifying videos. 114 Operations dealing with listing, uploading, fetching or modifying videos.
@@ -166,7 +166,7 @@ x-tagGroups:
166 - Search 166 - Search
167 - name: Moderation 167 - name: Moderation
168 tags: 168 tags:
169 - Video Abuses 169 - Abuses
170 - Video Blocks 170 - Video Blocks
171 - Account Blocks 171 - Account Blocks
172 - Server Blocks 172 - Server Blocks
@@ -893,7 +893,7 @@ paths:
893 $ref: '#/components/schemas/NotificationSettingValue' 893 $ref: '#/components/schemas/NotificationSettingValue'
894 newCommentOnMyVideo: 894 newCommentOnMyVideo:
895 $ref: '#/components/schemas/NotificationSettingValue' 895 $ref: '#/components/schemas/NotificationSettingValue'
896 videoAbuseAsModerator: 896 abuseAsModerator:
897 $ref: '#/components/schemas/NotificationSettingValue' 897 $ref: '#/components/schemas/NotificationSettingValue'
898 videoAutoBlacklistAsModerator: 898 videoAutoBlacklistAsModerator:
899 $ref: '#/components/schemas/NotificationSettingValue' 899 $ref: '#/components/schemas/NotificationSettingValue'
@@ -1471,16 +1471,15 @@ paths:
1471 description: HTTP or Torrent/magnetURI import not enabled 1471 description: HTTP or Torrent/magnetURI import not enabled
1472 '400': 1472 '400':
1473 description: '`magnetUri` or `targetUrl` or a torrent file missing' 1473 description: '`magnetUri` or `targetUrl` or a torrent file missing'
1474 /videos/abuse: 1474 /abuses:
1475 get: 1475 get:
1476 deprecated: true 1476 summary: List abuses
1477 summary: List video abuses
1478 security: 1477 security:
1479 - OAuth2: 1478 - OAuth2:
1480 - admin 1479 - admin
1481 - moderator 1480 - moderator
1482 tags: 1481 tags:
1483 - Video Abuses 1482 - Abuses
1484 parameters: 1483 parameters:
1485 - name: id 1484 - name: id
1486 in: query 1485 in: query
@@ -1491,16 +1490,7 @@ paths:
1491 in: query 1490 in: query
1492 description: predefined reason the listed reports should contain 1491 description: predefined reason the listed reports should contain
1493 schema: 1492 schema:
1494 type: string 1493 $ref: '#/components/schemas/PredefinedAbuseReasons'
1495 enum:
1496 - violentOrAbusive
1497 - hatefulOrAbusive
1498 - spamOrMisleading
1499 - privacy
1500 - rights
1501 - serverRules
1502 - thumbnails
1503 - captions
1504 - name: search 1494 - name: search
1505 in: query 1495 in: query
1506 description: plain search that will match with video titles, reporter names and more 1496 description: plain search that will match with video titles, reporter names and more
@@ -1508,7 +1498,7 @@ paths:
1508 type: string 1498 type: string
1509 - name: state 1499 - name: state
1510 in: query 1500 in: query
1511 description: 'The video playlist privacy (Pending = `1`, Rejected = `2`, Accepted = `3`)' 1501 description: 'The abuse state (Pending = `1`, Rejected = `2`, Accepted = `3`)'
1512 schema: 1502 schema:
1513 type: integer 1503 type: integer
1514 enum: 1504 enum:
@@ -1535,6 +1525,23 @@ paths:
1535 description: only list reports of a specific video channel 1525 description: only list reports of a specific video channel
1536 schema: 1526 schema:
1537 type: string 1527 type: string
1528 - name: videoIs
1529 in: query
1530 description: only list blacklisted or deleted videos
1531 schema:
1532 type: string
1533 enum:
1534 - 'deleted'
1535 - 'blacklisted'
1536 - name: filter
1537 in: query
1538 description: only list account, comment or video reports
1539 schema:
1540 type: string
1541 enum:
1542 - 'video'
1543 - 'comment'
1544 - 'account'
1538 - $ref: '#/components/parameters/start' 1545 - $ref: '#/components/parameters/start'
1539 - $ref: '#/components/parameters/count' 1546 - $ref: '#/components/parameters/count'
1540 - $ref: '#/components/parameters/abusesSort' 1547 - $ref: '#/components/parameters/abusesSort'
@@ -1547,17 +1554,13 @@ paths:
1547 type: array 1554 type: array
1548 items: 1555 items:
1549 $ref: '#/components/schemas/VideoAbuse' 1556 $ref: '#/components/schemas/VideoAbuse'
1550 '/videos/{id}/abuse': 1557
1551 post: 1558 post:
1552 deprecated: true
1553 summary: Report an abuse 1559 summary: Report an abuse
1554 security: 1560 security:
1555 - OAuth2: [] 1561 - OAuth2: []
1556 tags: 1562 tags:
1557 - Video Abuses 1563 - Abuses
1558 - Videos
1559 parameters:
1560 - $ref: '#/components/parameters/idOrUUID'
1561 requestBody: 1564 requestBody:
1562 required: true 1565 required: true
1563 content: 1566 content:
@@ -1570,27 +1573,34 @@ paths:
1570 type: string 1573 type: string
1571 minLength: 4 1574 minLength: 4
1572 predefinedReasons: 1575 predefinedReasons:
1573 description: Reason categories that help triage reports 1576 $ref: '#/components/schemas/PredefinedAbuseReasons'
1574 type: array 1577
1575 items: 1578 video:
1576 type: string 1579 type: object
1577 enum: 1580 properties:
1578 - violentOrAbusive 1581 id:
1579 - hatefulOrAbusive 1582 description: Video id to report
1580 - spamOrMisleading 1583 type: number
1581 - privacy 1584 startAt:
1582 - rights 1585 type: integer
1583 - serverRules 1586 description: Timestamp in the video that marks the beginning of the report
1584 - thumbnails 1587 minimum: 0
1585 - captions 1588 endAt:
1586 startAt: 1589 type: integer
1587 type: integer 1590 description: Timestamp in the video that marks the ending of the report
1588 description: Timestamp in the video that marks the beginning of the report 1591 minimum: 0
1589 minimum: 0 1592 comment:
1590 endAt: 1593 type: object
1591 type: integer 1594 properties:
1592 description: Timestamp in the video that marks the ending of the report 1595 id:
1593 minimum: 0 1596 description: Comment id to report
1597 type: number
1598 account:
1599 type: object
1600 properties:
1601 id:
1602 description: Account id to report
1603 type: number
1594 required: 1604 required:
1595 - reason 1605 - reason
1596 responses: 1606 responses:
@@ -1598,18 +1608,16 @@ paths:
1598 description: successful operation 1608 description: successful operation
1599 '400': 1609 '400':
1600 description: incorrect request parameters 1610 description: incorrect request parameters
1601 '/videos/{id}/abuse/{abuseId}': 1611 '/abuses/{abuseId}':
1602 put: 1612 put:
1603 deprecated: true
1604 summary: Update an abuse 1613 summary: Update an abuse
1605 security: 1614 security:
1606 - OAuth2: 1615 - OAuth2:
1607 - admin 1616 - admin
1608 - moderator 1617 - moderator
1609 tags: 1618 tags:
1610 - Video Abuses 1619 - Abuses
1611 parameters: 1620 parameters:
1612 - $ref: '#/components/parameters/idOrUUID'
1613 - $ref: '#/components/parameters/abuseId' 1621 - $ref: '#/components/parameters/abuseId'
1614 requestBody: 1622 requestBody:
1615 content: 1623 content:
@@ -1618,7 +1626,7 @@ paths:
1618 type: object 1626 type: object
1619 properties: 1627 properties:
1620 state: 1628 state:
1621 $ref: '#/components/schemas/VideoAbuseStateSet' 1629 $ref: '#/components/schemas/AbuseStateSet'
1622 moderationComment: 1630 moderationComment:
1623 type: string 1631 type: string
1624 description: Update the report comment visible only to the moderation team 1632 description: Update the report comment visible only to the moderation team
@@ -1626,18 +1634,16 @@ paths:
1626 '204': 1634 '204':
1627 description: successful operation 1635 description: successful operation
1628 '404': 1636 '404':
1629 description: video abuse not found 1637 description: abuse not found
1630 delete: 1638 delete:
1631 deprecated: true
1632 tags: 1639 tags:
1633 - Video Abuses 1640 - Abuses
1634 summary: Delete an abuse 1641 summary: Delete an abuse
1635 security: 1642 security:
1636 - OAuth2: 1643 - OAuth2:
1637 - admin 1644 - admin
1638 - moderator 1645 - moderator
1639 parameters: 1646 parameters:
1640 - $ref: '#/components/parameters/idOrUUID'
1641 - $ref: '#/components/parameters/abuseId' 1647 - $ref: '#/components/parameters/abuseId'
1642 responses: 1648 responses:
1643 '204': 1649 '204':
@@ -3320,7 +3326,7 @@ components:
3320 name: abuseId 3326 name: abuseId
3321 in: path 3327 in: path
3322 required: true 3328 required: true
3323 description: Video abuse id 3329 description: Abuse id
3324 schema: 3330 schema:
3325 type: integer 3331 type: integer
3326 captionLanguage: 3332 captionLanguage:
@@ -3584,20 +3590,20 @@ components:
3584 label: 3590 label:
3585 type: string 3591 type: string
3586 3592
3587 VideoAbuseStateSet: 3593 AbuseStateSet:
3588 type: integer 3594 type: integer
3589 enum: 3595 enum:
3590 - 1 3596 - 1
3591 - 2 3597 - 2
3592 - 3 3598 - 3
3593 description: 'The video playlist privacy (Pending = `1`, Rejected = `2`, Accepted = `3`)' 3599 description: 'The video playlist privacy (Pending = `1`, Rejected = `2`, Accepted = `3`)'
3594 VideoAbuseStateConstant: 3600 AbuseStateConstant:
3595 properties: 3601 properties:
3596 id: 3602 id:
3597 $ref: '#/components/schemas/VideoAbuseStateSet' 3603 $ref: '#/components/schemas/AbuseStateSet'
3598 label: 3604 label:
3599 type: string 3605 type: string
3600 VideoAbusePredefinedReasons: 3606 AbusePredefinedReasons:
3601 type: array 3607 type: array
3602 items: 3608 items:
3603 type: string 3609 type: string
@@ -3960,11 +3966,11 @@ components:
3960 type: string 3966 type: string
3961 example: The video is a spam 3967 example: The video is a spam
3962 predefinedReasons: 3968 predefinedReasons:
3963 $ref: '#/components/schemas/VideoAbusePredefinedReasons' 3969 $ref: '#/components/schemas/AbusePredefinedReasons'
3964 reporterAccount: 3970 reporterAccount:
3965 $ref: '#/components/schemas/Account' 3971 $ref: '#/components/schemas/Account'
3966 state: 3972 state:
3967 $ref: '#/components/schemas/VideoAbuseStateConstant' 3973 $ref: '#/components/schemas/AbuseStateConstant'
3968 moderationComment: 3974 moderationComment:
3969 type: string 3975 type: string
3970 example: Decided to ban the server since it spams us regularly 3976 example: Decided to ban the server since it spams us regularly
@@ -4553,6 +4559,22 @@ components:
4553 updatedAt: 4559 updatedAt:
4554 type: string 4560 type: string
4555 format: date-time 4561 format: date-time
4562
4563 PredefinedAbuseReasons:
4564 description: Reason categories that help triage reports
4565 type: array
4566 items:
4567 type: string
4568 enum:
4569 - violentOrAbusive
4570 - hatefulOrAbusive
4571 - spamOrMisleading
4572 - privacy
4573 - rights
4574 - serverRules
4575 - thumbnails
4576 - captions
4577
4556 Job: 4578 Job:
4557 properties: 4579 properties:
4558 id: 4580 id:
@@ -4690,11 +4712,11 @@ components:
4690 description: The user daily video quota 4712 description: The user daily video quota
4691 videosCount: 4713 videosCount:
4692 type: integer 4714 type: integer
4693 videoAbusesCount: 4715 abusesCount:
4694 type: integer 4716 type: integer
4695 videoAbusesAcceptedCount: 4717 abusesAcceptedCount:
4696 type: integer 4718 type: integer
4697 videoAbusesCreatedCount: 4719 abusesCreatedCount:
4698 type: integer 4720 type: integer
4699 videoCommentsCount: 4721 videoCommentsCount:
4700 type: integer 4722 type: integer
@@ -5098,7 +5120,7 @@ components:
5098 5120
5099 - `2` NEW_COMMENT_ON_MY_VIDEO 5121 - `2` NEW_COMMENT_ON_MY_VIDEO
5100 5122
5101 - `3` NEW_VIDEO_ABUSE_FOR_MODERATORS 5123 - `3` NEW_ABUSE_FOR_MODERATORS
5102 5124
5103 - `4` BLACKLIST_ON_MY_VIDEO 5125 - `4` BLACKLIST_ON_MY_VIDEO
5104 5126