openapi: 3.0.0
info:
title: PeerTube
- version: 1.3.0
+ version: 2.1.0
contact:
name: PeerTube Community
url: 'https://joinpeertube.org'
altText: PeerTube Project Homepage
description: |
# Introduction
+
The PeerTube API is built on HTTP(S). Our API is RESTful. It has predictable
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
which generates a client SDK in the language of your choice.
# Authentication
+
When you sign up for an account, you are given the possibility to generate
sessions, and authenticate using this session token. One session token can
currently be used at a time.
# Errors
+
The API uses standard HTTP status codes to indicate the success or failure
of the API call. The body of the response will be JSON in the following
format.
}
```
externalDocs:
- url: https://docs.joinpeertube.org/#/api-rest-reference.html
+ url: https://docs.joinpeertube.org/api-rest-reference.html
tags:
- name: Accounts
description: >
description: >
Each server exposes public information regarding supported videos and
options.
- - name: Feeds
- description: |
- Feeds of videos and feeds of comments allow to see updates and get them in
- an aggregator or script of your choice.
- name: Job
description: >
Jobs are long-running tasks enqueued and processed by the instance
description: >
Operations dealing with comments to a video. Comments are organized in
threads.
+ - name: Video Playlist
+ description: >
+ Operations dealing with playlists of videos. Playlists are bound to users
+ and/or channels.
- name: Video Channel
description: >
Operations dealing with creation, modification and video listing of a
tags:
- Accounts
- User
+ - My User
- name: Videos
tags:
- Video
tags:
- Config
- Server Following
- - name: Notifications
- tags:
- - Feeds
- name: Jobs
tags:
- Job
summary: Get the account by name
parameters:
- $ref: '#/components/parameters/name'
- - $ref: '#/components/parameters/start'
- - $ref: '#/components/parameters/count'
- - $ref: '#/components/parameters/sort'
responses:
'200':
description: successful operation
http -b GET https://peertube2.cpy.re/api/v1/accounts/{name}/videos
- lang: Ruby
source: |
- require 'uri'
require 'net/http'
+ require 'json'
- url = URI("https://peertube2.cpy.re/api/v1/accounts/{name}/videos")
+ uri = URI.parse("https://peertube2.cpy.re/api/v1/accounts/{name}/videos")
- http = Net::HTTP.new(url.host, url.port)
+ http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
- request = Net::HTTP::Post.new(url)
- request["content-type"] = 'application/json'
- response = http.request(request)
- puts response.read_body
+ response = http.get(uri.request_uri)
+
+ puts JSON.parse(response.read_body)
- lang: Python
source: |
- import http.client
-
- conn = http.client.HTTPSConnection("https://peertube2.cpy.re/api/v1")
-
- headers = {
- 'content-type': "application/json"
- }
-
- conn.request("POST", "/accounts/{name}/videos", None, headers)
+ import requests
- res = conn.getresponse()
- data = res.read()
+ r = requests.get("https://peertube2.cpy.re/api/v1//accounts/{name}/videos")
+ json = r.json()
- print(data.decode("utf-8"))
+ print(json)
/accounts:
get:
tags:
- Accounts
summary: Get all accounts
+ parameters:
+ - $ref: '#/components/parameters/start'
+ - $ref: '#/components/parameters/count'
+ - $ref: '#/components/parameters/sort'
responses:
'200':
description: successful operation
responses:
'200':
description: successful operation
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ServerConfigAbout'
/config/custom:
get:
summary: Get the runtime configuration of the server
responses:
'200':
description: successful operation
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ServerConfigCustom'
put:
summary: Set the runtime configuration of the server
tags:
responses:
'200':
description: successful operation
- '/feeds/videos.{format}':
- get:
- summary: >-
- Get the feed of videos for the server, with optional filter by account
- name or id
- tags:
- - Feeds
- parameters:
- - name: format
- in: path
- required: true
- description: >-
- The format expected (xml defaults to RSS 2.0, atom to ATOM 1.0 and
- json to JSON FEED 1.0
- schema:
- type: string
- enum:
- - xml
- - atom
- - json
- default: xml
- - name: accountId
- in: query
- required: false
- description: >-
- The id of the local account to filter to (beware, users IDs and not
- actors IDs which will return empty feeds
- schema:
- type: number
- - name: accountName
- in: query
- required: false
- description: The name of the local account to filter to
- schema:
- type: string
- responses:
- '200':
- description: successful operation
/jobs/{state}:
get:
summary: Get list of jobs
schema:
$ref: '#/components/schemas/UpdateUser'
required: true
+ /users/register:
+ post:
+ summary: Register a user
+ tags:
+ - User
+ responses:
+ '204':
+ $ref: '#/paths/~1users~1me/put/responses/204'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RegisterUser'
+ required: true
/users/me:
get:
summary: Get current user information
- OAuth2:
- user
tags:
- - User
+ - My User
responses:
'200':
description: successful operation
- OAuth2:
- user
tags:
- - User
+ - My User
responses:
'204':
- description: Successful operation
+ description: successful operation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMe'
required: true
+ /users/me/videos/imports:
+ get:
+ summary: Get video imports of current user
+ security:
+ - OAuth2:
+ - user
+ tags:
+ - My User
+ parameters:
+ - $ref: '#/components/parameters/start'
+ - $ref: '#/components/parameters/count'
+ - $ref: '#/components/parameters/sort'
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VideoImport'
/users/me/video-quota-used:
get:
summary: Get current user used quota
- OAuth2:
- user
tags:
- - User
+ - My User
responses:
'200':
description: successful operation
security:
- OAuth2: []
tags:
- - User
+ - My User
parameters:
- name: videoId
in: path
- OAuth2:
- user
tags:
- - User
+ - My User
parameters:
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count'
- OAuth2:
- user
tags:
- - User
+ - My User
parameters:
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count'
- OAuth2:
- user
tags:
- - User
+ - My User
responses:
'200':
description: successful operation
- OAuth2:
- user
tags:
- - User
+ - My User
parameters:
- $ref: '#/components/parameters/subscriptionsUris'
responses:
- OAuth2:
- user
tags:
- - User
+ - My User
parameters:
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count'
application/json:
schema:
$ref: '#/components/schemas/VideoListResponse'
- '/users/me/subscriptions/{uri}':
+ '/users/me/subscriptions/{subscriptionHandle}':
get:
summary: Get subscription of the current user for a given uri
security:
- OAuth2:
- user
tags:
- - User
+ - My User
+ parameters:
+ - $ref: '#/components/parameters/subscriptionHandle'
responses:
'200':
description: successful operation
- OAuth2:
- user
tags:
- - User
+ - My User
+ parameters:
+ - $ref: '#/components/parameters/subscriptionHandle'
responses:
'200':
description: successful operation
- /users/register:
- post:
- summary: Register a user
- tags:
- - User
- responses:
- '204':
- $ref: '#/paths/~1users~1me/put/responses/204'
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/RegisterUser'
- required: true
/users/me/avatar/pick:
post:
summary: Update current user avatar
security:
- OAuth2: []
tags:
- - User
+ - My User
responses:
'200':
description: successful operation
type: string
format: binary
encoding:
- profileImage:
- # only accept png/jpeg
+ avatarfile:
contentType: image/png, image/jpeg
/videos:
get:
$ref: '#/components/schemas/VideoListResponse'
/videos/categories:
get:
- summary: Get list of video licences known by the server
+ summary: Get list of video categories known by the server
tags:
- Video
responses:
tags:
- Video
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
- '200':
+ '204':
description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Video'
requestBody:
content:
multipart/form-data:
thumbnailfile:
description: Video thumbnail file
type: string
+ format: binary
previewfile:
description: Video preview file
type: string
+ format: binary
category:
description: Video category
type: string
tags:
description: Video tags (maximum 5 tags each between 2 and 30 characters)
type: array
+ minItems: 1
+ maxItems: 5
items:
type: string
+ minLength: 2
+ maxLength: 30
commentsEnabled:
description: Enable or disable comments for this video
type: string
+ originallyPublishedAt:
+ description: Date when the content was originally published
+ type: string
+ format: date-time
scheduleUpdate:
$ref: '#/components/schemas/VideoScheduledUpdate'
+ encoding:
+ thumbnailfile:
+ contentType: image/jpeg
+ previewfile:
+ contentType: image/jpeg
get:
summary: Get a video by its id
tags:
- Video
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'200':
description: successful operation
tags:
- Video
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
tags:
- Video
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'200':
description: successful operation
tags:
- Video
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
security:
- OAuth2: []
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
requestBody:
content:
application/json:
- Video
security:
- OAuth2: []
- parameters:
- - $ref: '#/components/parameters/id2'
responses:
'200':
description: successful operation
security:
- OAuth2: []
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
security:
- OAuth2: []
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
security:
- OAuth2: []
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VideoUploadResponse'
+ '403':
+ description: 'The user video quota is exceeded with this video.'
+ '408':
+ description: 'Upload has timed out'
+ '422':
+ description: 'Invalid input file.'
requestBody:
content:
multipart/form-data:
thumbnailfile:
description: Video thumbnail file
type: string
+ format: binary
previewfile:
description: Video preview file
type: string
+ format: binary
privacy:
$ref: '#/components/schemas/VideoPrivacySet'
category:
description: Video name
type: string
tags:
- description: Video tags
+ description: Video tags (maximum 5 tags each between 2 and 30 characters)
type: array
+ minItems: 1
+ maxItems: 5
items:
type: string
+ minLength: 2
+ maxLength: 30
commentsEnabled:
description: Enable or disable comments for this video
type: string
+ originallyPublishedAt:
+ description: Date when the content was originally published
+ type: string
+ format: date-time
scheduleUpdate:
$ref: '#/components/schemas/VideoScheduledUpdate'
required:
- videofile
- channelId
- name
+ encoding:
+ videofile:
+ contentType: video/mp4, video/webm, video/ogg, video/avi, video/quicktime, video/x-msvideo, video/x-flv, video/x-matroska, application/octet-stream
+ thumbnailfile:
+ contentType: image/jpeg
+ previewfile:
+ contentType: image/jpeg
x-code-samples:
- lang: Shell
source: |
"Authorization:Bearer $token"
/videos/imports:
post:
- summary: Import a torrent or magnetURI or HTTP ressource (if enabled by the instance administrator)
+ summary: Import a torrent or magnetURI or HTTP resource (if enabled by the instance administrator)
security:
- OAuth2: []
tags:
thumbnailfile:
description: Video thumbnail file
type: string
+ format: binary
previewfile:
description: Video preview file
type: string
+ format: binary
privacy:
$ref: '#/components/schemas/VideoPrivacySet'
category:
description: Video name
type: string
tags:
- description: Video tags
+ description: Video tags (maximum 5 tags each between 2 and 30 characters)
type: array
+ minItems: 1
+ maxItems: 5
items:
type: string
+ minLength: 2
+ maxLength: 30
commentsEnabled:
description: Enable or disable comments for this video
type: string
required:
- channelId
- name
+ encoding:
+ torrentfile:
+ contentType: application/x-bittorrent
+ thumbnailfile:
+ contentType: image/jpeg
+ previewfile:
+ contentType: image/jpeg
/videos/abuse:
get:
summary: Get list of reported video abuses
tags:
- Video Abuse
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
tags:
- Video Blacklist
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
tags:
- Video Blacklist
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
tags:
- Video Caption
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'200':
description: successful operation
tags:
- Video Caption
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
- $ref: '#/components/parameters/captionLanguage'
requestBody:
content:
description: The file to upload.
type: string
format: binary
+ encoding:
+ captionfile:
+ contentType: text/vtt, application/x-subrip, text/plain
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
tags:
- Video Caption
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
- $ref: '#/components/parameters/captionLanguage'
responses:
'204':
application/json:
schema:
$ref: '#/components/schemas/VideoListResponse'
+ /video-playlists:
+ get:
+ summary: Get list of video playlists
+ tags:
+ - Video Playlist
+ parameters:
+ - $ref: '#/components/parameters/start'
+ - $ref: '#/components/parameters/count'
+ - $ref: '#/components/parameters/sort'
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/VideoPlaylist'
'/accounts/{name}/video-channels':
get:
summary: Get video channels of an account by its name
tags:
- User
parameters:
+ - $ref: '#/components/parameters/name'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort'
- name: rating
in: query
required: false
- description: Optionaly filter which ratings to retrieve
+ description: Optionally filter which ratings to retrieve
schema:
type: string
enum:
tags:
- Video Comment
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/count'
- - $ref: '#/components/parameters/sort'
+ - $ref: '#/components/parameters/commentsSort'
responses:
'200':
description: successful operation
tags:
- Video Comment
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'200':
description: successful operation
tags:
- Video Comment
parameters:
- - $ref: '#/components/parameters/id2'
- - name: threadId
- in: path
- required: true
- description: The thread id (root comment id)
- schema:
- type: number
+ - $ref: '#/components/parameters/idOrUUID'
+ - $ref: '#/components/parameters/threadId'
responses:
'200':
description: successful operation
tags:
- Video Comment
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
- $ref: '#/components/parameters/commentId'
responses:
'200':
tags:
- Video Comment
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
- $ref: '#/components/parameters/commentId'
responses:
'204':
tags:
- Video Rate
parameters:
- - $ref: '#/components/parameters/id2'
+ - $ref: '#/components/parameters/idOrUUID'
responses:
'204':
$ref: '#/paths/~1users~1me/put/responses/204'
- -views
- -likes
- -match
+ commentsSort:
+ name: sort
+ in: query
+ required: false
+ description: Sort comments by criteria
+ schema:
+ type: string
+ enum:
+ - -createdAt
+ - -totalReplies
blacklistsSort:
name: sort
in: query
description: The user id
schema:
type: number
- id2:
+ idOrUUID:
name: id
in: path
required: true
description: "The video channel handle (example: 'my_username@example.com' or 'my_username')"
schema:
type: string
- commentId:
+ subscriptionHandle:
+ name: subscriptionHandle
+ in: path
+ required: true
+ description: "The subscription handle (example: 'my_username@example.com' or 'my_username')"
+ schema:
+ type: string
+ threadId:
name: threadId
in: path
required: true
+ description: The thread id (root comment id)
+ schema:
+ type: number
+ commentId:
+ name: commentId
+ in: path
+ required: true
description: The comment id
schema:
type: number
type: number
stopTimestamp:
type: number
+ video:
+ nullable: true
+ $ref: '#/components/schemas/Video'
VideoFile:
properties:
magnetUri:
description: 'Video file size in bytes'
torrentUrl:
type: string
- torrentDownaloadUrl:
+ torrentDownloadUrl:
type: string
fileUrl:
type: string
properties:
currentTime:
type: number
- playlistElement:
- nullable: true
- $ref: '#/components/schemas/PlaylistElement'
VideoDetails:
allOf:
- $ref: '#/components/schemas/Video'
type: array
items:
$ref: '#/components/schemas/VideoStreamingPlaylists'
+ VideoImportStateConstant:
+ properties:
+ id:
+ type: integer
+ enum:
+ - 1
+ - 2
+ - 3
+ description: 'The video import state (Pending = 1, Success = 2, Failed = 3)'
+ label:
+ type: string
+ VideoImport:
+ properties:
+ id:
+ type: number
+ targetUrl:
+ type: string
+ magnetUri:
+ type: string
+ torrentName:
+ type: string
+ state:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/VideoImportStateConstant'
+ label:
+ type: string
+ error:
+ type: string
+ createdAt:
+ type: string
+ updatedAt:
+ type: string
+ video:
+ $ref: '#/components/schemas/Video'
VideoAbuse:
properties:
id:
type: number
uuid:
type: string
+ VideoPlaylist:
+ properties:
+ id:
+ type: number
+ createdAt:
+ type: string
+ updatedAt:
+ type: string
+ description:
+ type: string
+ uuid:
+ type: string
+ displayName:
+ type: string
+ isLocal:
+ type: boolean
+ videoLength:
+ type: number
+ thumbnailPath:
+ type: string
+ privacy:
+ type: object
+ properties:
+ id:
+ type: number
+ label:
+ type: string
+ type:
+ type: object
+ properties:
+ id:
+ type: number
+ label:
+ type: string
+ ownerAccount:
+ type: object
+ properties:
+ id:
+ type: number
+ name:
+ type: string
+ displayName:
+ type: string
+ url:
+ type: string
+ host:
+ type: string
VideoComment:
properties:
id:
type: string
updatedAt:
type: string
+ totalRepliesFromVideoAuthor:
+ type: number
totalReplies:
type: number
account:
properties:
id:
type: number
- uuid:
- type: string
url:
type: string
name:
allOf:
- $ref: '#/components/schemas/Actor'
- properties:
+ userId:
+ type: string
displayName:
type: string
+ description:
+ type: string
User:
properties:
id:
type: number
ServerConfig:
properties:
+ instance:
+ type: object
+ properties:
+ name:
+ type: string
+ shortDescription:
+ type: string
+ defaultClientRoute:
+ type: string
+ isNSFW:
+ type: boolean
+ defaultNSFWPolicy:
+ type: string
+ customizations:
+ type: object
+ properties:
+ javascript:
+ type: string
+ css:
+ type: string
+ plugin:
+ type: object
+ properties:
+ registered:
+ type: array
+ items:
+ type: string
+ theme:
+ type: object
+ properties:
+ registered:
+ type: array
+ items:
+ type: string
+ email:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ contactForm:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ serverVersion:
+ type: string
+ serverCommit:
+ type: string
signup:
type: object
properties:
allowed:
type: boolean
+ allowedForCurrentIP:
+ type: boolean
+ requiresEmailVerification:
+ type: boolean
transcoding:
type: object
properties:
+ hls:
+ type: object
+ properties:
+ enabled:
+ type: boolean
enabledResolutions:
type: array
items:
type: number
+ import:
+ type: object
+ properties:
+ videos:
+ type: object
+ properties:
+ http:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ torrent:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ autoBlacklist:
+ type: object
+ properties:
+ videos:
+ type: object
+ properties:
+ ofUsers:
+ type: object
+ properties:
+ enabled:
+ type: boolean
avatar:
type: object
properties:
video:
type: object
properties:
+ image:
+ type: object
+ properties:
+ extensions:
+ type: array
+ items:
+ type: string
+ size:
+ type: object
+ properties:
+ max:
+ type: number
file:
type: object
properties:
type: array
items:
type: string
+ videoCaption:
+ type: object
+ properties:
+ file:
+ type: object
+ properties:
+ size:
+ type: object
+ properties:
+ max:
+ type: number
+ extensions:
+ type: array
+ items:
+ type: string
+ user:
+ type: object
+ properties:
+ videoQuota:
+ type: number
+ videoQuotaDaily:
+ type: number
+ trending:
+ type: object
+ properties:
+ videos:
+ type: object
+ properties:
+ intervalDays:
+ type: number
+ tracker:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ ServerConfigAbout:
+ properties:
+ instance:
+ type: object
+ properties:
+ name:
+ type: string
+ shortDescription:
+ type: string
+ description:
+ type: string
+ terms:
+ type: string
+ ServerConfigCustom:
+ properties:
+ instance:
+ type: object
+ properties:
+ name:
+ type: string
+ shortDescription:
+ type: string
+ description:
+ type: string
+ terms:
+ type: string
+ defaultClientRoute:
+ type: string
+ isNSFW:
+ type: boolean
+ defaultNSFWPolicy:
+ type: string
+ customizations:
+ type: object
+ properties:
+ javascript:
+ type: string
+ css:
+ type: string
+ theme:
+ type: object
+ properties:
+ default:
+ type: string
+ services:
+ type: object
+ properties:
+ twitter:
+ type: object
+ properties:
+ username:
+ type: string
+ whitelisted:
+ type: boolean
+ cache:
+ type: object
+ properties:
+ previews:
+ type: object
+ properties:
+ size:
+ type: number
+ captions:
+ type: object
+ properties:
+ size:
+ type: number
+ signup:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ limit:
+ type: number
+ requiresEmailVerification:
+ type: boolean
+ admin:
+ type: object
+ properties:
+ email:
+ type: string
+ contactForm:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ user:
+ type: object
+ properties:
+ videoQuota:
+ type: number
+ videoQuotaDaily:
+ type: number
+ transcoding:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ allowAdditionalExtensions:
+ type: boolean
+ allowAudioFiles:
+ type: boolean
+ threads:
+ type: number
+ resolutions:
+ type: object
+ properties:
+ 240p:
+ type: boolean
+ 360p:
+ type: boolean
+ 480p:
+ type: boolean
+ 720p:
+ type: boolean
+ 1080p:
+ type: boolean
+ 2160p:
+ type: boolean
+ hls:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ import:
+ type: object
+ properties:
+ videos:
+ type: object
+ properties:
+ http:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ torrent:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ autoBlacklist:
+ type: object
+ properties:
+ videos:
+ type: object
+ properties:
+ ofUsers:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ followers:
+ type: object
+ properties:
+ instance:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ manualApproval:
+ type: boolean
Follow:
properties:
id:
description: 'The user username '
password:
type: string
- description: 'The user password '
+ description: 'The user password. If the smtp server is configured, you can leave empty and an email will be sent '
email:
type: string
description: 'The user email '