Openapi consistency

This commit is contained in:
Chocobozzz 2020-04-21 12:09:54 +02:00
parent 512decf37e
commit b029d58a27
No known key found for this signature in database
GPG Key ID: 583A612D890159BE

View File

@ -14,14 +14,14 @@ info:
description: | description: |
# Introduction # Introduction
The PeerTube API is built on HTTP(S). Our API is RESTful. It has predictable The PeerTube API is built on HTTP(S) and is RESTful. You can use your favorite
resource URLs. It returns HTTP response codes to indicate errors. It also
accepts and returns JSON in the HTTP body. You can use your favorite
HTTP/REST library for your programming language to use PeerTube. No official HTTP/REST library for your programming language to use PeerTube. No official
SDK is currently provided, but the spec API is fully compatible with SDK is currently provided, but the spec API is fully compatible with
[openapi-generator](https://github.com/OpenAPITools/openapi-generator/wiki/API-client-generator-HOWTO) [openapi-generator](https://github.com/OpenAPITools/openapi-generator/wiki/API-client-generator-HOWTO)
which generates a client SDK in the language of your choice. which generates a client SDK in the language of your choice.
See the [Quick Start guide](https://docs.joinpeertube.org/#/api-rest-getting-started) so you can play with the PeerTube API.
# Authentication # Authentication
When you sign up for an account, you are given the possibility to generate When you sign up for an account, you are given the possibility to generate
@ -56,7 +56,7 @@ tags:
description: > description: >
Jobs are long-running tasks enqueued and processed by the instance Jobs are long-running tasks enqueued and processed by the instance
itself. No additional worker registration is currently available. itself. No additional worker registration is currently available.
- name: Server Following - name: Instance Follows
description: > description: >
Managing servers which the instance interacts with is crucial to the Managing servers which the instance interacts with is crucial to the
concept of federation in PeerTube and external video indexation. The PeerTube concept of federation in PeerTube and external video indexation. The PeerTube
@ -75,15 +75,15 @@ tags:
Videos from other instances federated by the instance (that is, instances Videos from other instances federated by the instance (that is, instances
followed by the instance) can be found via keywords and other criteria of followed by the instance) can be found via keywords and other criteria of
the advanced search. the advanced search.
- name: Video Comment - name: Video Comments
description: > description: >
Operations dealing with comments to a video. Comments are organized in Operations dealing with comments to a video. Comments are organized in
threads. threads.
- name: Video Playlist - name: Video Playlists
description: > description: >
Operations dealing with playlists of videos. Playlists are bound to users Operations dealing with playlists of videos. Playlists are bound to users
and/or channels. and/or channels.
- name: Video Channel - name: Video Channels
description: > description: >
Operations dealing with creation, modification and video listing of a Operations dealing with creation, modification and video listing of a
user's channels. user's channels.
@ -91,23 +91,29 @@ tags:
description: > description: >
Operations dealing with blacklisting videos (removing them from view and Operations dealing with blacklisting videos (removing them from view and
preventing interactions). preventing interactions).
- name: Video Rate - name: Video Rates
description: > description: >
Voting for a video. Like/dislike a video.
x-tagGroups: x-tagGroups:
- name: Accounts - name: Accounts
tags: tags:
- Accounts - Accounts
- User - Users
- My User - My User
- My Subscriptions
- name: Videos - name: Videos
tags: tags:
- Video - Video
- Video Caption - Video Caption
- Video Channel - Video Channels
- Video Comment - Video Comments
- Video Following - Video Following
- Video Rate - Video Rates
- Video Playlists
- Video Ownership Change
- name: Search
tags:
- Search
- name: Moderation - name: Moderation
tags: tags:
- Video Abuse - Video Abuse
@ -115,19 +121,16 @@ x-tagGroups:
- name: Instance Configuration - name: Instance Configuration
tags: tags:
- Config - Config
- Server Following - Instance Follows
- name: Jobs - name: Jobs
tags: tags:
- Job - Job
- name: Search
tags:
- Search
paths: paths:
'/accounts/{name}': '/accounts/{name}':
get: get:
tags: tags:
- Accounts - Accounts
summary: Get the account by name summary: Get an account
parameters: parameters:
- $ref: '#/components/parameters/name' - $ref: '#/components/parameters/name'
responses: responses:
@ -142,7 +145,7 @@ paths:
tags: tags:
- Accounts - Accounts
- Video - Video
summary: 'Get videos for an account, provided the name of that account' summary: 'List videos of an account'
parameters: parameters:
- $ref: '#/components/parameters/name' - $ref: '#/components/parameters/name'
responses: responses:
@ -190,7 +193,7 @@ paths:
get: get:
tags: tags:
- Accounts - Accounts
summary: Get all accounts summary: List accounts
parameters: parameters:
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count' - $ref: '#/components/parameters/count'
@ -208,7 +211,7 @@ paths:
get: get:
tags: tags:
- Config - Config
summary: Get the public configuration of the server summary: Get instance public configuration
responses: responses:
'200': '200':
description: successful operation description: successful operation
@ -218,7 +221,7 @@ paths:
$ref: '#/components/schemas/ServerConfig' $ref: '#/components/schemas/ServerConfig'
/config/about: /config/about:
get: get:
summary: Get the instance about page content summary: Get instance "About" information
tags: tags:
- Config - Config
responses: responses:
@ -230,7 +233,7 @@ paths:
$ref: '#/components/schemas/ServerConfigAbout' $ref: '#/components/schemas/ServerConfigAbout'
/config/custom: /config/custom:
get: get:
summary: Get the runtime configuration of the server summary: Get instance runtime configuration
tags: tags:
- Config - Config
security: security:
@ -244,7 +247,7 @@ paths:
schema: schema:
$ref: '#/components/schemas/ServerConfigCustom' $ref: '#/components/schemas/ServerConfigCustom'
put: put:
summary: Set the runtime configuration of the server summary: Set instance runtime configuration
tags: tags:
- Config - Config
security: security:
@ -254,7 +257,7 @@ paths:
'200': '200':
description: successful operation description: successful operation
delete: delete:
summary: Delete the runtime configuration of the server summary: Delete instance runtime configuration
tags: tags:
- Config - Config
security: security:
@ -265,7 +268,7 @@ paths:
description: successful operation description: successful operation
/jobs/{state}: /jobs/{state}:
get: get:
summary: Get list of jobs summary: List instance jobs
security: security:
- OAuth2: - OAuth2:
- admin - admin
@ -302,8 +305,8 @@ paths:
- OAuth2: - OAuth2:
- admin - admin
tags: tags:
- Server Following - Instance Follows
summary: Unfollow a server by hostname summary: Unfollow a server
parameters: parameters:
- name: host - name: host
in: path in: path
@ -317,8 +320,8 @@ paths:
/server/followers: /server/followers:
get: get:
tags: tags:
- Server Following - Instance Follows
summary: Get followers of the server summary: List instance followers
parameters: parameters:
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count' - $ref: '#/components/parameters/count'
@ -335,8 +338,8 @@ paths:
/server/following: /server/following:
get: get:
tags: tags:
- Server Following - Instance Follows
summary: Get servers followed by the server summary: List instance followings
parameters: parameters:
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count' - $ref: '#/components/parameters/count'
@ -355,7 +358,7 @@ paths:
- OAuth2: - OAuth2:
- admin - admin
tags: tags:
- Server Following - Instance Follows
summary: Follow a server summary: Follow a server
responses: responses:
'204': '204':
@ -367,12 +370,12 @@ paths:
$ref: '#/components/schemas/Follow' $ref: '#/components/schemas/Follow'
/users: /users:
post: post:
summary: Creates user summary: Create a user
security: security:
- OAuth2: - OAuth2:
- admin - admin
tags: tags:
- User - Users
responses: responses:
'200': '200':
description: successful operation description: successful operation
@ -388,11 +391,11 @@ paths:
description: User to create description: User to create
required: true required: true
get: get:
summary: Get a list of users summary: List users
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- User - Users
parameters: parameters:
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count' - $ref: '#/components/parameters/count'
@ -408,23 +411,23 @@ paths:
$ref: '#/components/schemas/User' $ref: '#/components/schemas/User'
'/users/{id}': '/users/{id}':
delete: delete:
summary: Delete a user by its id summary: Delete a user
security: security:
- OAuth2: - OAuth2:
- admin - admin
tags: tags:
- User - Users
parameters: parameters:
- $ref: '#/components/parameters/id' - $ref: '#/components/parameters/id'
responses: responses:
'204': '204':
$ref: '#/paths/~1users~1me/put/responses/204' $ref: '#/paths/~1users~1me/put/responses/204'
get: get:
summary: Get user by its id summary: Get a user
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- User - Users
parameters: parameters:
- $ref: '#/components/parameters/id' - $ref: '#/components/parameters/id'
responses: responses:
@ -435,11 +438,11 @@ paths:
schema: schema:
$ref: '#/components/schemas/User' $ref: '#/components/schemas/User'
put: put:
summary: Update user profile by its id summary: Update a user
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- User - Users
parameters: parameters:
- $ref: '#/components/parameters/id' - $ref: '#/components/parameters/id'
responses: responses:
@ -455,7 +458,7 @@ paths:
post: post:
summary: Register a user summary: Register a user
tags: tags:
- User - Users
responses: responses:
'204': '204':
$ref: '#/paths/~1users~1me/put/responses/204' $ref: '#/paths/~1users~1me/put/responses/204'
@ -467,7 +470,7 @@ paths:
required: true required: true
/users/me: /users/me:
get: get:
summary: Get current user information summary: Get my user information
security: security:
- OAuth2: - OAuth2:
- user - user
@ -483,7 +486,7 @@ paths:
items: items:
$ref: '#/components/schemas/User' $ref: '#/components/schemas/User'
put: put:
summary: Update current user information summary: Update my user information
security: security:
- OAuth2: - OAuth2:
- user - user
@ -500,11 +503,12 @@ paths:
required: true required: true
/users/me/videos/imports: /users/me/videos/imports:
get: get:
summary: Get video imports of current user summary: Get video imports of my user
security: security:
- OAuth2: - OAuth2:
- user - user
tags: tags:
- Videos
- My User - My User
parameters: parameters:
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
@ -519,7 +523,7 @@ paths:
$ref: '#/components/schemas/VideoImport' $ref: '#/components/schemas/VideoImport'
/users/me/video-quota-used: /users/me/video-quota-used:
get: get:
summary: Get current user used quota summary: Get my user used quota
security: security:
- OAuth2: - OAuth2:
- user - user
@ -534,11 +538,12 @@ paths:
type: number type: number
'/users/me/videos/{videoId}/rating': '/users/me/videos/{videoId}/rating':
get: get:
summary: 'Get rating of video by its id, among those of the current user' summary: Get rate of my user of a video
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- My User - My User
- Video Rates
parameters: parameters:
- name: videoId - name: videoId
in: path in: path
@ -555,12 +560,13 @@ paths:
$ref: '#/components/schemas/GetMeVideoRating' $ref: '#/components/schemas/GetMeVideoRating'
/users/me/videos: /users/me/videos:
get: get:
summary: Get videos of the current user summary: Get videos of my user
security: security:
- OAuth2: - OAuth2:
- user - user
tags: tags:
- My User - My User
- Videos
parameters: parameters:
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count' - $ref: '#/components/parameters/count'
@ -574,12 +580,12 @@ paths:
$ref: '#/components/schemas/VideoListResponse' $ref: '#/components/schemas/VideoListResponse'
/users/me/subscriptions: /users/me/subscriptions:
get: get:
summary: Get subscriptions of the current user summary: Get my user subscriptions
security: security:
- OAuth2: - OAuth2:
- user - user
tags: tags:
- My User - My Subscriptions
parameters: parameters:
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count' - $ref: '#/components/parameters/count'
@ -588,23 +594,23 @@ paths:
'200': '200':
description: successful operation description: successful operation
post: post:
summary: Add subscription to the current user summary: Add subscription to my user
security: security:
- OAuth2: - OAuth2:
- user - user
tags: tags:
- My User - My Subscriptions
responses: responses:
'200': '200':
description: successful operation description: successful operation
/users/me/subscriptions/exist: /users/me/subscriptions/exist:
get: get:
summary: Get if subscriptions exist for the current user summary: Get if subscriptions exist for my user
security: security:
- OAuth2: - OAuth2:
- user - user
tags: tags:
- My User - My Subscriptions
parameters: parameters:
- $ref: '#/components/parameters/subscriptionsUris' - $ref: '#/components/parameters/subscriptionsUris'
responses: responses:
@ -616,12 +622,13 @@ paths:
type: object type: object
/users/me/subscriptions/videos: /users/me/subscriptions/videos:
get: get:
summary: Get videos of subscriptions of the current user summary: List videos of subscriptions of my user
security: security:
- OAuth2: - OAuth2:
- user - user
tags: tags:
- My User - My Subscriptions
- Videos
parameters: parameters:
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count' - $ref: '#/components/parameters/count'
@ -635,12 +642,12 @@ paths:
$ref: '#/components/schemas/VideoListResponse' $ref: '#/components/schemas/VideoListResponse'
'/users/me/subscriptions/{subscriptionHandle}': '/users/me/subscriptions/{subscriptionHandle}':
get: get:
summary: Get subscription of the current user for a given uri summary: Get subscription of my user
security: security:
- OAuth2: - OAuth2:
- user - user
tags: tags:
- My User - My Subscriptions
parameters: parameters:
- $ref: '#/components/parameters/subscriptionHandle' - $ref: '#/components/parameters/subscriptionHandle'
responses: responses:
@ -651,12 +658,12 @@ paths:
schema: schema:
$ref: '#/components/schemas/VideoChannel' $ref: '#/components/schemas/VideoChannel'
delete: delete:
summary: Delete subscription of the current user for a given uri summary: Delete subscription of my user
security: security:
- OAuth2: - OAuth2:
- user - user
tags: tags:
- My User - My Subscriptions
parameters: parameters:
- $ref: '#/components/parameters/subscriptionHandle' - $ref: '#/components/parameters/subscriptionHandle'
responses: responses:
@ -664,7 +671,7 @@ paths:
description: successful operation description: successful operation
/users/me/avatar/pick: /users/me/avatar/pick:
post: post:
summary: Update current user avatar summary: Update my user avatar
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
@ -689,9 +696,68 @@ paths:
encoding: encoding:
avatarfile: avatarfile:
contentType: image/png, image/jpeg contentType: image/png, image/jpeg
/videos/ownership:
get:
summary: List video ownership changes
tags:
- Video Ownership Change
security:
- OAuth2: []
responses:
'200':
description: successful operation
'/videos/ownership/{id}/accept':
post:
summary: Accept ownership change request
tags:
- Video Ownership Change
security:
- OAuth2: []
parameters:
- $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
'/videos/ownership/{id}/refuse':
post:
summary: Refuse ownership change request
tags:
- Video Ownership Change
security:
- OAuth2: []
parameters:
- $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
'/videos/{id}/give-ownership':
post:
summary: Request ownership change
tags:
- Video Ownership Change
security:
- OAuth2: []
parameters:
- $ref: '#/components/parameters/idOrUUID'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
username:
type: string
required:
- username
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
'400':
description: 'Changing video ownership to a remote account is not supported yet'
/videos: /videos:
get: get:
summary: Get list of videos summary: List videos
tags: tags:
- Video - Video
parameters: parameters:
@ -714,7 +780,7 @@ paths:
$ref: '#/components/schemas/VideoListResponse' $ref: '#/components/schemas/VideoListResponse'
/videos/categories: /videos/categories:
get: get:
summary: Get list of video categories known by the server summary: List available video categories
tags: tags:
- Video - Video
responses: responses:
@ -728,7 +794,7 @@ paths:
type: string type: string
/videos/licences: /videos/licences:
get: get:
summary: Get list of video licences known by the server summary: List available video licences
tags: tags:
- Video - Video
responses: responses:
@ -742,7 +808,7 @@ paths:
type: string type: string
/videos/languages: /videos/languages:
get: get:
summary: Get list of languages known by the server summary: List available video languages
tags: tags:
- Video - Video
responses: responses:
@ -756,7 +822,7 @@ paths:
type: string type: string
/videos/privacies: /videos/privacies:
get: get:
summary: Get list of privacy policies supported by the server summary: List available video privacies
tags: tags:
- Video - Video
responses: responses:
@ -770,7 +836,7 @@ paths:
type: string type: string
'/videos/{id}': '/videos/{id}':
put: put:
summary: Update metadata for a video by its id summary: Update a video
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
@ -842,7 +908,7 @@ paths:
previewfile: previewfile:
contentType: image/jpeg contentType: image/jpeg
get: get:
summary: Get a video by its id summary: Get a video
tags: tags:
- Video - Video
parameters: parameters:
@ -855,7 +921,7 @@ paths:
schema: schema:
$ref: '#/components/schemas/VideoDetails' $ref: '#/components/schemas/VideoDetails'
delete: delete:
summary: Delete a video by its id summary: Delete a video
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
@ -867,7 +933,7 @@ paths:
$ref: '#/paths/~1users~1me/put/responses/204' $ref: '#/paths/~1users~1me/put/responses/204'
'/videos/{id}/description': '/videos/{id}/description':
get: get:
summary: Get a video description by its id summary: Get complete video description
tags: tags:
- Video - Video
parameters: parameters:
@ -881,7 +947,7 @@ paths:
type: string type: string
'/videos/{id}/views': '/videos/{id}/views':
post: post:
summary: Add a view to the video by its id summary: Add a view to a video
tags: tags:
- Video - Video
parameters: parameters:
@ -891,7 +957,7 @@ paths:
$ref: '#/paths/~1users~1me/put/responses/204' $ref: '#/paths/~1users~1me/put/responses/204'
'/videos/{id}/watching': '/videos/{id}/watching':
put: put:
summary: Set watching progress of a video by its id for a user summary: Set watching progress of a video
tags: tags:
- Video - Video
security: security:
@ -907,68 +973,9 @@ paths:
responses: responses:
'204': '204':
$ref: '#/paths/~1users~1me/put/responses/204' $ref: '#/paths/~1users~1me/put/responses/204'
/videos/ownership:
get:
summary: Get list of video ownership changes requests
tags:
- Video
security:
- OAuth2: []
responses:
'200':
description: successful operation
'/videos/ownership/{id}/accept':
post:
summary: Refuse ownership change request for video by its id
tags:
- Video
security:
- OAuth2: []
parameters:
- $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
'/videos/ownership/{id}/refuse':
post:
summary: Accept ownership change request for video by its id
tags:
- Video
security:
- OAuth2: []
parameters:
- $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
'/videos/{id}/give-ownership':
post:
summary: Request change of ownership for a video you own, by its id
tags:
- Video
security:
- OAuth2: []
parameters:
- $ref: '#/components/parameters/idOrUUID'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
username:
type: string
required:
- username
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
'400':
description: 'Changing video ownership to a remote account is not supported yet'
/videos/upload: /videos/upload:
post: post:
summary: Upload a video file with its metadata summary: Upload a video
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
@ -1090,7 +1097,8 @@ paths:
"Authorization:Bearer $token" "Authorization:Bearer $token"
/videos/imports: /videos/imports:
post: post:
summary: Import a torrent or magnetURI or HTTP resource (if enabled by the instance administrator) summary: Import a video
description: Import a torrent or magnetURI or HTTP resource (if enabled by the instance administrator)
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
@ -1181,9 +1189,11 @@ paths:
contentType: image/jpeg contentType: image/jpeg
/videos/abuse: /videos/abuse:
get: get:
summary: Get list of reported video abuses summary: List video abuses
security: security:
- OAuth2: [] - OAuth2:
- admin
- moderator
tags: tags:
- Video Abuse - Video Abuse
parameters: parameters:
@ -1201,7 +1211,7 @@ paths:
$ref: '#/components/schemas/VideoAbuse' $ref: '#/components/schemas/VideoAbuse'
'/videos/{id}/abuse': '/videos/{id}/abuse':
post: post:
summary: 'Report an abuse, on a video by its id' summary: Report an abuse
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
@ -1213,7 +1223,7 @@ paths:
$ref: '#/paths/~1users~1me/put/responses/204' $ref: '#/paths/~1users~1me/put/responses/204'
'/videos/{id}/blacklist': '/videos/{id}/blacklist':
post: post:
summary: Put on blacklist a video by its id summary: Blacklist a video
security: security:
- OAuth2: - OAuth2:
- admin - admin
@ -1240,7 +1250,7 @@ paths:
$ref: '#/paths/~1users~1me/put/responses/204' $ref: '#/paths/~1users~1me/put/responses/204'
/videos/blacklist: /videos/blacklist:
get: get:
summary: Get list of videos on blacklist summary: List blacklisted videos
security: security:
- OAuth2: - OAuth2:
- admin - admin
@ -1262,7 +1272,7 @@ paths:
$ref: '#/components/schemas/VideoBlacklist' $ref: '#/components/schemas/VideoBlacklist'
/videos/{id}/captions: /videos/{id}/captions:
get: get:
summary: Get list of video's captions summary: List captions of a video
tags: tags:
- Video Caption - Video Caption
parameters: parameters:
@ -1317,9 +1327,9 @@ paths:
$ref: '#/paths/~1users~1me/put/responses/204' $ref: '#/paths/~1users~1me/put/responses/204'
/video-channels: /video-channels:
get: get:
summary: Get list of video channels summary: List video channels
tags: tags:
- Video Channel - Video Channels
parameters: parameters:
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count' - $ref: '#/components/parameters/count'
@ -1334,11 +1344,11 @@ paths:
items: items:
$ref: '#/components/schemas/VideoChannel' $ref: '#/components/schemas/VideoChannel'
post: post:
summary: Creates a video channel for the current user summary: Create a video channel
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- Video Channel - Video Channels
responses: responses:
'204': '204':
$ref: '#/paths/~1users~1me/put/responses/204' $ref: '#/paths/~1users~1me/put/responses/204'
@ -1349,9 +1359,9 @@ paths:
$ref: '#/components/schemas/VideoChannelCreate' $ref: '#/components/schemas/VideoChannelCreate'
'/video-channels/{channelHandle}': '/video-channels/{channelHandle}':
get: get:
summary: Get a video channel by its id summary: Get a video channel
tags: tags:
- Video Channel - Video Channels
parameters: parameters:
- $ref: '#/components/parameters/channelHandle' - $ref: '#/components/parameters/channelHandle'
responses: responses:
@ -1362,11 +1372,11 @@ paths:
schema: schema:
$ref: '#/components/schemas/VideoChannel' $ref: '#/components/schemas/VideoChannel'
put: put:
summary: Update a video channel by its id summary: Update a video channel
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- Video Channel - Video Channels
parameters: parameters:
- $ref: '#/components/parameters/channelHandle' - $ref: '#/components/parameters/channelHandle'
responses: responses:
@ -1378,11 +1388,11 @@ paths:
schema: schema:
$ref: '#/components/schemas/VideoChannelUpdate' $ref: '#/components/schemas/VideoChannelUpdate'
delete: delete:
summary: Delete a video channel by its id summary: Delete a video channel
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- Video Channel - Video Channels
parameters: parameters:
- $ref: '#/components/parameters/channelHandle' - $ref: '#/components/parameters/channelHandle'
responses: responses:
@ -1390,10 +1400,10 @@ paths:
$ref: '#/paths/~1users~1me/put/responses/204' $ref: '#/paths/~1users~1me/put/responses/204'
'/video-channels/{channelHandle}/videos': '/video-channels/{channelHandle}/videos':
get: get:
summary: Get videos of a video channel by its id summary: List videos of a video channel
tags: tags:
- Video - Video
- Video Channel - Video Channels
parameters: parameters:
- $ref: '#/components/parameters/channelHandle' - $ref: '#/components/parameters/channelHandle'
responses: responses:
@ -1405,9 +1415,9 @@ paths:
$ref: '#/components/schemas/VideoListResponse' $ref: '#/components/schemas/VideoListResponse'
/video-playlists: /video-playlists:
get: get:
summary: Get list of video playlists summary: List video playlists
tags: tags:
- Video Playlist - Video Playlists
parameters: parameters:
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count' - $ref: '#/components/parameters/count'
@ -1423,9 +1433,10 @@ paths:
$ref: '#/components/schemas/VideoPlaylist' $ref: '#/components/schemas/VideoPlaylist'
'/accounts/{name}/video-channels': '/accounts/{name}/video-channels':
get: get:
summary: Get video channels of an account by its name summary: List video channels of an account
tags: tags:
- Video Channel - Video Channels
- Accounts
parameters: parameters:
- $ref: '#/components/parameters/name' - $ref: '#/components/parameters/name'
responses: responses:
@ -1439,11 +1450,11 @@ paths:
$ref: '#/components/schemas/VideoChannel' $ref: '#/components/schemas/VideoChannel'
'/accounts/{name}/ratings': '/accounts/{name}/ratings':
get: get:
summary: Get ratings of an account by its name summary: List ratings of an account
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- User - Accounts
parameters: parameters:
- $ref: '#/components/parameters/name' - $ref: '#/components/parameters/name'
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
@ -1469,9 +1480,9 @@ paths:
$ref: '#/components/schemas/VideoRating' $ref: '#/components/schemas/VideoRating'
'/videos/{id}/comment-threads': '/videos/{id}/comment-threads':
get: get:
summary: Get the comment threads of a video by its id summary: List threads of a video
tags: tags:
- Video Comment - Video Comments
parameters: parameters:
- $ref: '#/components/parameters/idOrUUID' - $ref: '#/components/parameters/idOrUUID'
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
@ -1485,11 +1496,11 @@ paths:
schema: schema:
$ref: '#/components/schemas/CommentThreadResponse' $ref: '#/components/schemas/CommentThreadResponse'
post: post:
summary: 'Creates a comment thread, on a video by its id' summary: Create a thread
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- Video Comment - Video Comments
parameters: parameters:
- $ref: '#/components/parameters/idOrUUID' - $ref: '#/components/parameters/idOrUUID'
responses: responses:
@ -1501,9 +1512,9 @@ paths:
$ref: '#/components/schemas/CommentThreadPostResponse' $ref: '#/components/schemas/CommentThreadPostResponse'
'/videos/{id}/comment-threads/{threadId}': '/videos/{id}/comment-threads/{threadId}':
get: get:
summary: 'Get the comment thread by its id, of a video by its id' summary: Get a thread
tags: tags:
- Video Comment - Video Comments
parameters: parameters:
- $ref: '#/components/parameters/idOrUUID' - $ref: '#/components/parameters/idOrUUID'
- $ref: '#/components/parameters/threadId' - $ref: '#/components/parameters/threadId'
@ -1516,11 +1527,11 @@ paths:
$ref: '#/components/schemas/VideoCommentThreadTree' $ref: '#/components/schemas/VideoCommentThreadTree'
'/videos/{id}/comments/{commentId}': '/videos/{id}/comments/{commentId}':
post: post:
summary: 'Creates a comment in a comment thread by its id, of a video by its id' summary: Reply to a thread of a video
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- Video Comment - Video Comments
parameters: parameters:
- $ref: '#/components/parameters/idOrUUID' - $ref: '#/components/parameters/idOrUUID'
- $ref: '#/components/parameters/commentId' - $ref: '#/components/parameters/commentId'
@ -1532,11 +1543,11 @@ paths:
schema: schema:
$ref: '#/components/schemas/CommentThreadPostResponse' $ref: '#/components/schemas/CommentThreadPostResponse'
delete: delete:
summary: 'Delete a comment in a comment thread by its id, of a video by its id' summary: Delete a comment or a reply
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- Video Comment - Video Comments
parameters: parameters:
- $ref: '#/components/parameters/idOrUUID' - $ref: '#/components/parameters/idOrUUID'
- $ref: '#/components/parameters/commentId' - $ref: '#/components/parameters/commentId'
@ -1545,11 +1556,11 @@ paths:
$ref: '#/paths/~1users~1me/put/responses/204' $ref: '#/paths/~1users~1me/put/responses/204'
'/videos/{id}/rate': '/videos/{id}/rate':
put: put:
summary: Vote for a video by its id summary: Like/dislike a video
security: security:
- OAuth2: [] - OAuth2: []
tags: tags:
- Video Rate - Video Rates
parameters: parameters:
- $ref: '#/components/parameters/idOrUUID' - $ref: '#/components/parameters/idOrUUID'
responses: responses:
@ -1559,7 +1570,7 @@ paths:
get: get:
tags: tags:
- Search - Search
summary: Get the videos corresponding to a given query summary: Search videos
parameters: parameters:
- $ref: '#/components/parameters/start' - $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count' - $ref: '#/components/parameters/count'
@ -1581,9 +1592,9 @@ servers:
- url: 'https://peertube.cpy.re/api/v1' - url: 'https://peertube.cpy.re/api/v1'
description: Live Test Server (live data - stable version) description: Live Test Server (live data - stable version)
- url: 'https://peertube2.cpy.re/api/v1' - url: 'https://peertube2.cpy.re/api/v1'
description: Live Test Server (live data - bleeding edge version) description: Live Test Server (live data - latest nighlty version)
- url: 'https://peertube3.cpy.re/api/v1' - url: 'https://peertube3.cpy.re/api/v1'
description: Live Test Server (live data - bleeding edge version) description: Live Test Server (live data - latest RC version)
components: components:
parameters: parameters:
start: start: