peertube
The PeerTube API is built on HTTP(S) and is RESTful. You can use your favorite HTTP/REST library for your programming language to use PeerTube. The spec API is fully compatible with openapi-generator which generates a client SDK in the language of your choice - we generate some client SDKs automatically:
See the REST API quick start for a few examples of using the PeerTube API.
Authentication
When you sign up for an account on a PeerTube instance, you are given the possibility to generate sessions on it, and authenticate there using an access token. Only one access token can currently be used at a time.
Roles
Accounts are given permissions based on their role. There are three roles on PeerTube: Administrator, Moderator, and User. See the roles guide for a detail of their permissions.
Errors
The API uses standard HTTP status codes to indicate the success or failure of the API call, completed by a RFC7807-compliant response body.
HTTP 1.1 404 Not Found
Content-Type: application/problem+json; charset=utf-8
{
\"detail\": \"Video not found\",
\"docs\": \"https://docs.joinpeertube.org/api-rest-reference.html#operation/getVideo\",
\"status\": 404,
\"title\": \"Not Found\",
\"type\": \"about:blank\"
}
We provide error type values for a growing number of cases,
but it is still optional. Types are used to disambiguate errors that bear the same status code
and are non-obvious:
HTTP 1.1 403 Forbidden
Content-Type: application/problem+json; charset=utf-8
{
\"detail\": \"Cannot get this video regarding follow constraints\",
\"docs\": \"https://docs.joinpeertube.org/api-rest-reference.html#operation/getVideo\",
\"status\": 403,
\"title\": \"Forbidden\",
\"type\": \"https://docs.joinpeertube.org/api-rest-reference.html#section/Errors/does_not_respect_follow_constraints\"
}
Here a 403 error could otherwise mean that the video is private or blocklisted.
Validation errors
Each parameter is evaluated on its own against a set of rules before the route validator proceeds with potential testing involving parameter combinations. Errors coming from validation errors appear earlier and benefit from a more detailed error description:
HTTP 1.1 400 Bad Request
Content-Type: application/problem+json; charset=utf-8
{
\"detail\": \"Incorrect request parameters: id\",
\"docs\": \"https://docs.joinpeertube.org/api-rest-reference.html#operation/getVideo\",
\"instance\": \"/api/v1/videos/9c9de5e8-0a1e-484a-b099-e80766180\",
\"invalid-params\": {
\"id\": {
\"location\": \"params\",
\"msg\": \"Invalid value\",
\"param\": \"id\",
\"value\": \"9c9de5e8-0a1e-484a-b099-e80766180\"
}
},
\"status\": 400,
\"title\": \"Bad Request\",
\"type\": \"about:blank\"
}
Where id is the name of the field concerned by the error, within the route definition.
invalid-params.<field>.location can be either 'params', 'body', 'header', 'query' or 'cookies', and
invalid-params.<field>.value reports the value that didn't pass validation whose invalid-params.<field>.msg
is about.
Deprecated error fields
Some fields could be included with previous versions. They are still included but their use is deprecated:
error: superseded bydetailcode: superseded bytype(which is now an URI)
Rate limits
We are rate-limiting all endpoints of PeerTube's API. Custom values can be set by administrators:
Endpoint (prefix: /api/v1) |
Calls | Time frame |
|---|---|---|
/* |
50 | 10 seconds |
POST /users/token |
15 | 5 minutes |
POST /users/register |
2* | 5 minutes |
POST /users/ask-send-verify-email |
3 | 5 minutes |
Depending on the endpoint, *failed requests are not taken into account. A service
limit is announced by a 429 Too Many Requests status code.
You can get details about the current state of your rate limit by reading the following headers:
| Header | Description |
|---|---|
X-RateLimit-Limit |
Number of max requests allowed in the current time period |
X-RateLimit-Remaining |
Number of remaining requests in the current time period |
X-RateLimit-Reset |
Timestamp of end of current time period as UNIX timestamp |
Retry-After |
Seconds to delay after the first 429 is received |
CORS
This API features Cross-Origin Resource Sharing (CORS), allowing cross-domain communication from the browser for some routes:
| Endpoint |
|------------------------- ---|
| /api/* |
| /download/* |
| /lazy-static/* |
| /.well-known/webfinger |
In addition, all routes serving ActivityPub are CORS-enabled for all origins.
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 5.2.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://joinpeertube.org
Requirements.
Python 3.7+
Installation & Usage
pip install
If the python package is hosted on a repository, you can install directly using:
pip install git+https://git.lolxd.fi/TmxPro/peertube_python_api.git
(you may need to run pip with root permission: sudo pip install git+https://git.lolxd.fi/TmxPro/peertube_python_api.git)
Then import the package:
import peertube
Setuptools
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install to install the package for all users)
Then import the package:
import peertube
Tests
Execute pytest to run the tests.
Getting Started
Please follow the installation procedure and then run the following:
import peertube
from peertube.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://peertube2.cpy.re
# See configuration.py for a list of all supported configuration parameters.
configuration = peertube.Configuration(
host = "https://peertube2.cpy.re"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
configuration.access_token = os.environ["ACCESS_TOKEN"]
# Enter a context with an instance of the API client
with peertube.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = peertube.AbusesApi(api_client)
abuse_id = 56 # int | Abuse id
try:
# Delete an abuse
api_instance.api_v1_abuses_abuse_id_delete(abuse_id)
except ApiException as e:
print("Exception when calling AbusesApi->api_v1_abuses_abuse_id_delete: %s\n" % e)
Documentation for API Endpoints
All URIs are relative to https://peertube2.cpy.re
| Class | Method | HTTP request | Description |
|---|---|---|---|
| AbusesApi | api_v1_abuses_abuse_id_delete | DELETE /api/v1/abuses/{abuseId} | Delete an abuse |
| AbusesApi | api_v1_abuses_abuse_id_messages_abuse_message_id_delete | DELETE /api/v1/abuses/{abuseId}/messages/{abuseMessageId} | Delete an abuse message |
| AbusesApi | api_v1_abuses_abuse_id_messages_get | GET /api/v1/abuses/{abuseId}/messages | List messages of an abuse |
| AbusesApi | api_v1_abuses_abuse_id_messages_post | POST /api/v1/abuses/{abuseId}/messages | Add message to an abuse |
| AbusesApi | api_v1_abuses_abuse_id_put | PUT /api/v1/abuses/{abuseId} | Update an abuse |
| AbusesApi | api_v1_abuses_post | POST /api/v1/abuses | Report an abuse |
| AbusesApi | get_abuses | GET /api/v1/abuses | List abuses |
| AbusesApi | get_my_abuses | GET /api/v1/users/me/abuses | List my abuses |
| AccountBlocksApi | api_v1_blocklist_status_get | GET /api/v1/blocklist/status | Get block status of accounts/hosts |
| AccountBlocksApi | api_v1_server_blocklist_accounts_account_name_delete | DELETE /api/v1/server/blocklist/accounts/{accountName} | Unblock an account by its handle |
| AccountBlocksApi | api_v1_server_blocklist_accounts_get | GET /api/v1/server/blocklist/accounts | List account blocks |
| AccountBlocksApi | api_v1_server_blocklist_accounts_post | POST /api/v1/server/blocklist/accounts | Block an account |
| AccountsApi | api_v1_accounts_name_ratings_get | GET /api/v1/accounts/{name}/ratings | List ratings of an account |
| AccountsApi | api_v1_accounts_name_video_channel_syncs_get | GET /api/v1/accounts/{name}/video-channel-syncs | List the synchronizations of video channels of an account |
| AccountsApi | api_v1_accounts_name_video_channels_get | GET /api/v1/accounts/{name}/video-channels | List video channels of an account |
| AccountsApi | api_v1_accounts_name_video_playlists_get | GET /api/v1/accounts/{name}/video-playlists | List playlists of an account |
| AccountsApi | get_account | GET /api/v1/accounts/{name} | Get an account |
| AccountsApi | get_account_followers | GET /api/v1/accounts/{name}/followers | List followers of an account |
| AccountsApi | get_account_videos | GET /api/v1/accounts/{name}/videos | List videos of an account |
| AccountsApi | get_accounts | GET /api/v1/accounts | List accounts |
| ChannelsSyncApi | add_video_channel_sync | POST /api/v1/video-channel-syncs | Create a synchronization for a video channel |
| ChannelsSyncApi | api_v1_accounts_name_video_channel_syncs_get | GET /api/v1/accounts/{name}/video-channel-syncs | List the synchronizations of video channels of an account |
| ChannelsSyncApi | api_v1_video_channels_channel_handle_import_videos_post | POST /api/v1/video-channels/{channelHandle}/import-videos | Import videos in channel |
| ChannelsSyncApi | del_video_channel_sync | DELETE /api/v1/video-channel-syncs/{channelSyncId} | Delete a video channel synchronization |
| ChannelsSyncApi | trigger_video_channel_sync | POST /api/v1/video-channel-syncs/{channelSyncId}/sync | Triggers the channel synchronization job, fetching all the videos from the remote channel |
| ConfigApi | del_custom_config | DELETE /api/v1/config/custom | Delete instance runtime configuration |
| ConfigApi | get_about | GET /api/v1/config/about | Get instance "About" information |
| ConfigApi | get_config | GET /api/v1/config | Get instance public configuration |
| ConfigApi | get_custom_config | GET /api/v1/config/custom | Get instance runtime configuration |
| ConfigApi | put_custom_config | PUT /api/v1/config/custom | Set instance runtime configuration |
| HomepageApi | api_v1_custom_pages_homepage_instance_get | GET /api/v1/custom-pages/homepage/instance | Get instance custom homepage |
| HomepageApi | api_v1_custom_pages_homepage_instance_put | PUT /api/v1/custom-pages/homepage/instance | Set instance custom homepage |
| InstanceFollowsApi | api_v1_server_followers_get | GET /api/v1/server/followers | List instances following the server |
| InstanceFollowsApi | api_v1_server_followers_name_with_host_accept_post | POST /api/v1/server/followers/{nameWithHost}/accept | Accept a pending follower to your server |
| InstanceFollowsApi | api_v1_server_followers_name_with_host_delete | DELETE /api/v1/server/followers/{nameWithHost} | Remove or reject a follower to your server |
| InstanceFollowsApi | api_v1_server_followers_name_with_host_reject_post | POST /api/v1/server/followers/{nameWithHost}/reject | Reject a pending follower to your server |
| InstanceFollowsApi | api_v1_server_following_get | GET /api/v1/server/following | List instances followed by the server |
| InstanceFollowsApi | api_v1_server_following_host_or_handle_delete | DELETE /api/v1/server/following/{hostOrHandle} | Unfollow an actor (PeerTube instance, channel or account) |
| InstanceFollowsApi | api_v1_server_following_post | POST /api/v1/server/following | Follow a list of actors (PeerTube instance, channel or account) |
| InstanceRedundancyApi | api_v1_server_redundancy_host_put | PUT /api/v1/server/redundancy/{host} | Update a server redundancy policy |
| JobApi | api_v1_jobs_pause_post | POST /api/v1/jobs/pause | Pause job queue |
| JobApi | api_v1_jobs_resume_post | POST /api/v1/jobs/resume | Resume job queue |
| JobApi | get_jobs | GET /api/v1/jobs/{state} | List instance jobs |
| LiveVideosApi | add_live | POST /api/v1/videos/live | Create a live |
| LiveVideosApi | api_v1_videos_id_live_session_get | GET /api/v1/videos/{id}/live-session | Get live session of a replay |
| LiveVideosApi | api_v1_videos_live_id_sessions_get | GET /api/v1/videos/live/{id}/sessions | List live sessions |
| LiveVideosApi | get_live_id | GET /api/v1/videos/live/{id} | Get information about a live |
| LiveVideosApi | update_live_id | PUT /api/v1/videos/live/{id} | Update information about a live |
| LogsApi | get_instance_audit_logs | GET /api/v1/server/audit-logs | Get instance audit logs |
| LogsApi | get_instance_logs | GET /api/v1/server/logs | Get instance logs |
| LogsApi | send_client_log | POST /api/v1/server/logs/client | Send client log |
| MyHistoryApi | api_v1_users_me_history_videos_get | GET /api/v1/users/me/history/videos | List watched videos history |
| MyHistoryApi | api_v1_users_me_history_videos_remove_post | POST /api/v1/users/me/history/videos/remove | Clear video history |
| MyHistoryApi | api_v1_users_me_history_videos_video_id_delete | DELETE /api/v1/users/me/history/videos/{videoId} | Delete history element |
| MyNotificationsApi | api_v1_users_me_notification_settings_put | PUT /api/v1/users/me/notification-settings | Update my notification settings |
| MyNotificationsApi | api_v1_users_me_notifications_get | GET /api/v1/users/me/notifications | List my notifications |
| MyNotificationsApi | api_v1_users_me_notifications_read_all_post | POST /api/v1/users/me/notifications/read-all | Mark all my notification as read |
| MyNotificationsApi | api_v1_users_me_notifications_read_post | POST /api/v1/users/me/notifications/read | Mark notifications as read by their id |
| MySubscriptionsApi | api_v1_users_me_subscriptions_exist_get | GET /api/v1/users/me/subscriptions/exist | Get if subscriptions exist for my user |
| MySubscriptionsApi | api_v1_users_me_subscriptions_get | GET /api/v1/users/me/subscriptions | Get my user subscriptions |
| MySubscriptionsApi | api_v1_users_me_subscriptions_post | POST /api/v1/users/me/subscriptions | Add subscription to my user |
| MySubscriptionsApi | api_v1_users_me_subscriptions_subscription_handle_delete | DELETE /api/v1/users/me/subscriptions/{subscriptionHandle} | Delete subscription of my user |
| MySubscriptionsApi | api_v1_users_me_subscriptions_subscription_handle_get | GET /api/v1/users/me/subscriptions/{subscriptionHandle} | Get subscription of my user |
| MySubscriptionsApi | api_v1_users_me_subscriptions_videos_get | GET /api/v1/users/me/subscriptions/videos | List videos of subscriptions of my user |
| MyUserApi | api_v1_users_me_avatar_delete | DELETE /api/v1/users/me/avatar | Delete my avatar |
| MyUserApi | api_v1_users_me_avatar_pick_post | POST /api/v1/users/me/avatar/pick | Update my user avatar |
| MyUserApi | api_v1_users_me_video_quota_used_get | GET /api/v1/users/me/video-quota-used | Get my user used quota |
| MyUserApi | api_v1_users_me_videos_get | GET /api/v1/users/me/videos | Get videos of my user |
| MyUserApi | api_v1_users_me_videos_imports_get | GET /api/v1/users/me/videos/imports | Get video imports of my user |
| MyUserApi | api_v1_users_me_videos_video_id_rating_get | GET /api/v1/users/me/videos/{videoId}/rating | Get rate of my user for a video |
| MyUserApi | get_my_abuses | GET /api/v1/users/me/abuses | List my abuses |
| MyUserApi | get_user_info | GET /api/v1/users/me | Get my user information |
| MyUserApi | put_user_info | PUT /api/v1/users/me | Update my user information |
| PluginsApi | add_plugin | POST /api/v1/plugins/install | Install a plugin |
| PluginsApi | api_v1_plugins_npm_name_public_settings_get | GET /api/v1/plugins/{npmName}/public-settings | Get a plugin's public settings |
| PluginsApi | api_v1_plugins_npm_name_registered_settings_get | GET /api/v1/plugins/{npmName}/registered-settings | Get a plugin's registered settings |
| PluginsApi | api_v1_plugins_npm_name_settings_put | PUT /api/v1/plugins/{npmName}/settings | Set a plugin's settings |
| PluginsApi | get_available_plugins | GET /api/v1/plugins/available | List available plugins |
| PluginsApi | get_plugin | GET /api/v1/plugins/{npmName} | Get a plugin |
| PluginsApi | get_plugins | GET /api/v1/plugins | List plugins |
| PluginsApi | uninstall_plugin | POST /api/v1/plugins/uninstall | Uninstall a plugin |
| PluginsApi | update_plugin | POST /api/v1/plugins/update | Update a plugin |
| RegisterApi | accept_registration | POST /api/v1/users/registrations/{registrationId}/accept | Accept registration |
| RegisterApi | delete_registration | DELETE /api/v1/users/registrations/{registrationId} | Delete registration |
| RegisterApi | list_registrations | GET /api/v1/users/registrations | List registrations |
| RegisterApi | register_user | POST /api/v1/users/register | Register a user |
| RegisterApi | reject_registration | POST /api/v1/users/registrations/{registrationId}/reject | Reject registration |
| RegisterApi | request_registration | POST /api/v1/users/registrations/request | Request registration |
| RegisterApi | resend_email_to_verify_registration | POST /api/v1/users/registrations/ask-send-verify-email | Resend verification link to registration email |
| RegisterApi | resend_email_to_verify_user | POST /api/v1/users/ask-send-verify-email | Resend user verification link |
| RegisterApi | verify_registration_email | POST /api/v1/users/registrations/{registrationId}/verify-email | Verify a registration email |
| RegisterApi | verify_user | POST /api/v1/users/{id}/verify-email | Verify a user |
| RunnerJobsApi | api_v1_runners_jobs_get | GET /api/v1/runners/jobs | List jobs |
| RunnerJobsApi | api_v1_runners_jobs_job_uuid_abort_post | POST /api/v1/runners/jobs/{jobUUID}/abort | Abort job |
| RunnerJobsApi | api_v1_runners_jobs_job_uuid_accept_post | POST /api/v1/runners/jobs/{jobUUID}/accept | Accept job |
| RunnerJobsApi | api_v1_runners_jobs_job_uuid_cancel_get | GET /api/v1/runners/jobs/{jobUUID}/cancel | Cancel a job |
| RunnerJobsApi | api_v1_runners_jobs_job_uuid_delete | DELETE /api/v1/runners/jobs/{jobUUID} | Delete a job |
| RunnerJobsApi | api_v1_runners_jobs_job_uuid_error_post | POST /api/v1/runners/jobs/{jobUUID}/error | Post job error |
| RunnerJobsApi | api_v1_runners_jobs_job_uuid_success_post | POST /api/v1/runners/jobs/{jobUUID}/success | Post job success |
| RunnerJobsApi | api_v1_runners_jobs_job_uuid_update_post | POST /api/v1/runners/jobs/{jobUUID}/update | Update job |
| RunnerJobsApi | api_v1_runners_jobs_request_post | POST /api/v1/runners/jobs/request | Request a new job |
| RunnerRegistrationTokenApi | api_v1_runners_registration_tokens_generate_post | POST /api/v1/runners/registration-tokens/generate | Generate registration token |
| RunnerRegistrationTokenApi | api_v1_runners_registration_tokens_get | GET /api/v1/runners/registration-tokens | List registration tokens |
| RunnerRegistrationTokenApi | api_v1_runners_registration_tokens_registration_token_id_delete | DELETE /api/v1/runners/registration-tokens/{registrationTokenId} | Remove registration token |
| RunnersApi | api_v1_runners_get | GET /api/v1/runners | List runners |
| RunnersApi | api_v1_runners_register_post | POST /api/v1/runners/register | Register a new runner |
| RunnersApi | api_v1_runners_runner_id_delete | DELETE /api/v1/runners/{runnerId} | Delete a runner |
| RunnersApi | api_v1_runners_unregister_post | POST /api/v1/runners/unregister | Unregister a runner |
| SearchApi | search_channels | GET /api/v1/search/video-channels | Search channels |
| SearchApi | search_playlists | GET /api/v1/search/video-playlists | Search playlists |
| SearchApi | search_videos | GET /api/v1/search/videos | Search videos |
| ServerBlocksApi | api_v1_blocklist_status_get | GET /api/v1/blocklist/status | Get block status of accounts/hosts |
| ServerBlocksApi | api_v1_server_blocklist_servers_get | GET /api/v1/server/blocklist/servers | List server blocks |
| ServerBlocksApi | api_v1_server_blocklist_servers_host_delete | DELETE /api/v1/server/blocklist/servers/{host} | Unblock a server by its domain |
| ServerBlocksApi | api_v1_server_blocklist_servers_post | POST /api/v1/server/blocklist/servers | Block a server |
| SessionApi | get_o_auth_client | GET /api/v1/oauth-clients/local | Login prerequisite |
| SessionApi | get_o_auth_token | POST /api/v1/users/token | Login |
| SessionApi | revoke_o_auth_token | POST /api/v1/users/revoke-token | Logout |
| StaticVideoFilesApi | static_streaming_playlists_hls_filename_get | GET /static/streaming-playlists/hls/{filename} | Get public HLS video file |
| StaticVideoFilesApi | static_streaming_playlists_hls_private_filename_get | GET /static/streaming-playlists/hls/private/{filename} | Get private HLS video file |
| StaticVideoFilesApi | static_web_videos_filename_get | GET /static/web-videos/{filename} | Get public Web Video file |
| StaticVideoFilesApi | static_web_videos_private_filename_get | GET /static/web-videos/private/{filename} | Get private Web Video file |
| StatsApi | api_v1_metrics_playback_post | POST /api/v1/metrics/playback | Create playback metrics |
| StatsApi | get_instance_stats | GET /api/v1/server/stats | Get instance stats |
| UsersApi | add_user | POST /api/v1/users | Create a user |
| UsersApi | confirm_two_factor_request | POST /api/v1/users/{id}/two-factor/confirm-request | Confirm two factor auth |
| UsersApi | del_user | DELETE /api/v1/users/{id} | Delete a user |
| UsersApi | disable_two_factor | POST /api/v1/users/{id}/two-factor/disable | Disable two factor auth |
| UsersApi | get_user | GET /api/v1/users/{id} | Get a user |
| UsersApi | get_users | GET /api/v1/users | List users |
| UsersApi | put_user | PUT /api/v1/users/{id} | Update a user |
| UsersApi | request_two_factor | POST /api/v1/users/{id}/two-factor/request | Request two factor auth |
| UsersApi | resend_email_to_verify_user | POST /api/v1/users/ask-send-verify-email | Resend user verification link |
| UsersApi | verify_user | POST /api/v1/users/{id}/verify-email | Verify a user |
| VideoApi | add_live | POST /api/v1/videos/live | Create a live |
| VideoApi | add_view | POST /api/v1/videos/{id}/views | Notify user is watching a video |
| VideoApi | api_v1_videos_id_studio_edit_post | POST /api/v1/videos/{id}/studio/edit | Create a studio task |
| VideoApi | api_v1_videos_id_watching_put | PUT /api/v1/videos/{id}/watching | Set watching progress of a video |
| VideoApi | del_video | DELETE /api/v1/videos/{id} | Delete a video |
| VideoApi | get_account_videos | GET /api/v1/accounts/{name}/videos | List videos of an account |
| VideoApi | get_categories | GET /api/v1/videos/categories | List available video categories |
| VideoApi | get_languages | GET /api/v1/videos/languages | List available video languages |
| VideoApi | get_licences | GET /api/v1/videos/licences | List available video licences |
| VideoApi | get_live_id | GET /api/v1/videos/live/{id} | Get information about a live |
| VideoApi | get_video | GET /api/v1/videos/{id} | Get a video |
| VideoApi | get_video_channel_videos | GET /api/v1/video-channels/{channelHandle}/videos | List videos of a video channel |
| VideoApi | get_video_desc | GET /api/v1/videos/{id}/description | Get complete video description |
| VideoApi | get_video_privacy_policies | GET /api/v1/videos/privacies | List available video privacy policies |
| VideoApi | get_video_source | GET /api/v1/videos/{id}/source | Get video source file metadata |
| VideoApi | get_videos | GET /api/v1/videos | List videos |
| VideoApi | list_video_storyboards | GET /api/v1/videos/{id}/storyboards | List storyboards of a video |
| VideoApi | put_video | PUT /api/v1/videos/{id} | Update a video |
| VideoApi | replace_video_source_resumable | PUT /api/v1/videos/{id}/source/replace-resumable | Send chunk for the resumable replacement of a video |
| VideoApi | replace_video_source_resumable_cancel | DELETE /api/v1/videos/{id}/source/replace-resumable | Cancel the resumable replacement of a video |
| VideoApi | replace_video_source_resumable_init | POST /api/v1/videos/{id}/source/replace-resumable | Initialize the resumable replacement of a video |
| VideoApi | request_video_token | POST /api/v1/videos/{id}/token | Request video token |
| VideoApi | update_live_id | PUT /api/v1/videos/live/{id} | Update information about a live |
| VideoApi | upload_legacy | POST /api/v1/videos/upload | Upload a video |
| VideoApi | upload_resumable | PUT /api/v1/videos/upload-resumable | Send chunk for the resumable upload of a video |
| VideoApi | upload_resumable_cancel | DELETE /api/v1/videos/upload-resumable | Cancel the resumable upload of a video, deleting any data uploaded so far |
| VideoApi | upload_resumable_init | POST /api/v1/videos/upload-resumable | Initialize the resumable upload of a video |
| VideoBlocksApi | add_video_block | POST /api/v1/videos/{id}/blacklist | Block a video |
| VideoBlocksApi | del_video_block | DELETE /api/v1/videos/{id}/blacklist | Unblock a video by its id |
| VideoBlocksApi | get_video_blocks | GET /api/v1/videos/blacklist | List video blocks |
| VideoCaptionsApi | add_video_caption | PUT /api/v1/videos/{id}/captions/{captionLanguage} | Add or replace a video caption |
| VideoCaptionsApi | del_video_caption | DELETE /api/v1/videos/{id}/captions/{captionLanguage} | Delete a video caption |
| VideoCaptionsApi | get_video_captions | GET /api/v1/videos/{id}/captions | List captions of a video |
| VideoChannelsApi | add_video_channel | POST /api/v1/video-channels | Create a video channel |
| VideoChannelsApi | api_v1_accounts_name_video_channel_syncs_get | GET /api/v1/accounts/{name}/video-channel-syncs | List the synchronizations of video channels of an account |
| VideoChannelsApi | api_v1_accounts_name_video_channels_get | GET /api/v1/accounts/{name}/video-channels | List video channels of an account |
| VideoChannelsApi | api_v1_video_channels_channel_handle_avatar_delete | DELETE /api/v1/video-channels/{channelHandle}/avatar | Delete channel avatar |
| VideoChannelsApi | api_v1_video_channels_channel_handle_avatar_pick_post | POST /api/v1/video-channels/{channelHandle}/avatar/pick | Update channel avatar |
| VideoChannelsApi | api_v1_video_channels_channel_handle_banner_delete | DELETE /api/v1/video-channels/{channelHandle}/banner | Delete channel banner |
| VideoChannelsApi | api_v1_video_channels_channel_handle_banner_pick_post | POST /api/v1/video-channels/{channelHandle}/banner/pick | Update channel banner |
| VideoChannelsApi | api_v1_video_channels_channel_handle_import_videos_post | POST /api/v1/video-channels/{channelHandle}/import-videos | Import videos in channel |
| VideoChannelsApi | api_v1_video_channels_channel_handle_video_playlists_get | GET /api/v1/video-channels/{channelHandle}/video-playlists | List playlists of a channel |
| VideoChannelsApi | del_video_channel | DELETE /api/v1/video-channels/{channelHandle} | Delete a video channel |
| VideoChannelsApi | get_video_channel | GET /api/v1/video-channels/{channelHandle} | Get a video channel |
| VideoChannelsApi | get_video_channel_followers | GET /api/v1/video-channels/{channelHandle}/followers | List followers of a video channel |
| VideoChannelsApi | get_video_channel_videos | GET /api/v1/video-channels/{channelHandle}/videos | List videos of a video channel |
| VideoChannelsApi | get_video_channels | GET /api/v1/video-channels | List video channels |
| VideoChannelsApi | put_video_channel | PUT /api/v1/video-channels/{channelHandle} | Update a video channel |
| VideoChaptersApi | get_video_chapters | GET /api/v1/videos/{id}/chapters | Get chapters of a video |
| VideoChaptersApi | replace_video_chapters | PUT /api/v1/videos/{id}/chapters | Replace video chapters |
| VideoCommentsApi | api_v1_videos_id_comment_threads_get | GET /api/v1/videos/{id}/comment-threads | List threads of a video |
| VideoCommentsApi | api_v1_videos_id_comment_threads_post | POST /api/v1/videos/{id}/comment-threads | Create a thread |
| VideoCommentsApi | api_v1_videos_id_comment_threads_thread_id_get | GET /api/v1/videos/{id}/comment-threads/{threadId} | Get a thread |
| VideoCommentsApi | api_v1_videos_id_comments_comment_id_delete | DELETE /api/v1/videos/{id}/comments/{commentId} | Delete a comment or a reply |
| VideoCommentsApi | api_v1_videos_id_comments_comment_id_post | POST /api/v1/videos/{id}/comments/{commentId} | Reply to a thread of a video |
| VideoFeedsApi | get_syndicated_comments | GET /feeds/video-comments.{format} | Comments on videos feeds |
| VideoFeedsApi | get_syndicated_subscription_videos | GET /feeds/subscriptions.{format} | Videos of subscriptions feeds |
| VideoFeedsApi | get_syndicated_videos | GET /feeds/videos.{format} | Common videos feeds |
| VideoFeedsApi | get_videos_podcast_feed | GET /feeds/podcast/videos.xml | Videos podcast feed |
| VideoFilesApi | del_video_hls | DELETE /api/v1/videos/{id}/hls | Delete video HLS files |
| VideoFilesApi | del_video_web_videos | DELETE /api/v1/videos/{id}/web-videos | Delete video Web Video files |
| VideoImportsApi | api_v1_videos_imports_id_cancel_post | POST /api/v1/videos/imports/{id}/cancel | Cancel video import |
| VideoImportsApi | api_v1_videos_imports_id_delete | DELETE /api/v1/videos/imports/{id} | Delete video import |
| VideoImportsApi | import_video | POST /api/v1/videos/imports | Import a video |
| VideoMirroringApi | del_mirrored_video | DELETE /api/v1/server/redundancy/videos/{redundancyId} | Delete a mirror done on a video |
| VideoMirroringApi | get_mirrored_videos | GET /api/v1/server/redundancy/videos | List videos being mirrored |
| VideoMirroringApi | put_mirrored_video | POST /api/v1/server/redundancy/videos | Mirror a video |
| VideoOwnershipChangeApi | api_v1_videos_id_give_ownership_post | POST /api/v1/videos/{id}/give-ownership | Request ownership change |
| VideoOwnershipChangeApi | api_v1_videos_ownership_get | GET /api/v1/videos/ownership | List video ownership changes |
| VideoOwnershipChangeApi | api_v1_videos_ownership_id_accept_post | POST /api/v1/videos/ownership/{id}/accept | Accept ownership change request |
| VideoOwnershipChangeApi | api_v1_videos_ownership_id_refuse_post | POST /api/v1/videos/ownership/{id}/refuse | Refuse ownership change request |
| VideoPasswordsApi | api_v1_videos_id_passwords_get | GET /api/v1/videos/{id}/passwords | List video passwords |
| VideoPasswordsApi | api_v1_videos_id_passwords_put | PUT /api/v1/videos/{id}/passwords | Update video passwords |
| VideoPasswordsApi | api_v1_videos_id_passwords_video_password_id_delete | DELETE /api/v1/videos/{id}/passwords/{videoPasswordId} | Delete a video password |
| VideoPlaylistsApi | add_playlist | POST /api/v1/video-playlists | Create a video playlist |
| VideoPlaylistsApi | add_video_playlist_video | POST /api/v1/video-playlists/{playlistId}/videos | Add a video in a playlist |
| VideoPlaylistsApi | api_v1_accounts_name_video_playlists_get | GET /api/v1/accounts/{name}/video-playlists | List playlists of an account |
| VideoPlaylistsApi | api_v1_users_me_video_playlists_videos_exist_get | GET /api/v1/users/me/video-playlists/videos-exist | Check video exists in my playlists |
| VideoPlaylistsApi | api_v1_video_channels_channel_handle_video_playlists_get | GET /api/v1/video-channels/{channelHandle}/video-playlists | List playlists of a channel |
| VideoPlaylistsApi | api_v1_video_playlists_playlist_id_delete | DELETE /api/v1/video-playlists/{playlistId} | Delete a video playlist |
| VideoPlaylistsApi | api_v1_video_playlists_playlist_id_get | GET /api/v1/video-playlists/{playlistId} | Get a video playlist |
| VideoPlaylistsApi | api_v1_video_playlists_playlist_id_put | PUT /api/v1/video-playlists/{playlistId} | Update a video playlist |
| VideoPlaylistsApi | del_video_playlist_video | DELETE /api/v1/video-playlists/{playlistId}/videos/{playlistElementId} | Delete an element from a playlist |
| VideoPlaylistsApi | get_playlist_privacy_policies | GET /api/v1/video-playlists/privacies | List available playlist privacy policies |
| VideoPlaylistsApi | get_playlists | GET /api/v1/video-playlists | List video playlists |
| VideoPlaylistsApi | get_video_playlist_videos | GET /api/v1/video-playlists/{playlistId}/videos | List videos of a playlist |
| VideoPlaylistsApi | put_video_playlist_video | PUT /api/v1/video-playlists/{playlistId}/videos/{playlistElementId} | Update a playlist element |
| VideoPlaylistsApi | reorder_video_playlist | POST /api/v1/video-playlists/{playlistId}/videos/reorder | Reorder a playlist |
| VideoRatesApi | api_v1_users_me_videos_video_id_rating_get | GET /api/v1/users/me/videos/{videoId}/rating | Get rate of my user for a video |
| VideoRatesApi | api_v1_videos_id_rate_put | PUT /api/v1/videos/{id}/rate | Like/dislike a video |
| VideoStatsApi | api_v1_videos_id_stats_overall_get | GET /api/v1/videos/{id}/stats/overall | Get overall stats of a video |
| VideoStatsApi | api_v1_videos_id_stats_retention_get | GET /api/v1/videos/{id}/stats/retention | Get retention stats of a video |
| VideoStatsApi | api_v1_videos_id_stats_timeseries_metric_get | GET /api/v1/videos/{id}/stats/timeseries/{metric} | Get timeserie stats of a video |
| VideoTranscodingApi | api_v1_videos_id_studio_edit_post | POST /api/v1/videos/{id}/studio/edit | Create a studio task |
| VideoTranscodingApi | create_video_transcoding | POST /api/v1/videos/{id}/transcoding | Create a transcoding job |
| VideoUploadApi | import_video | POST /api/v1/videos/imports | Import a video |
| VideoUploadApi | replace_video_source_resumable | PUT /api/v1/videos/{id}/source/replace-resumable | Send chunk for the resumable replacement of a video |
| VideoUploadApi | replace_video_source_resumable_cancel | DELETE /api/v1/videos/{id}/source/replace-resumable | Cancel the resumable replacement of a video |
| VideoUploadApi | replace_video_source_resumable_init | POST /api/v1/videos/{id}/source/replace-resumable | Initialize the resumable replacement of a video |
| VideoUploadApi | upload_legacy | POST /api/v1/videos/upload | Upload a video |
| VideoUploadApi | upload_resumable | PUT /api/v1/videos/upload-resumable | Send chunk for the resumable upload of a video |
| VideoUploadApi | upload_resumable_cancel | DELETE /api/v1/videos/upload-resumable | Cancel the resumable upload of a video, deleting any data uploaded so far |
| VideoUploadApi | upload_resumable_init | POST /api/v1/videos/upload-resumable | Initialize the resumable upload of a video |
| VideosApi | add_video_playlist_video | POST /api/v1/video-playlists/{playlistId}/videos | Add a video in a playlist |
| VideosApi | api_v1_users_me_subscriptions_videos_get | GET /api/v1/users/me/subscriptions/videos | List videos of subscriptions of my user |
| VideosApi | api_v1_users_me_videos_get | GET /api/v1/users/me/videos | Get videos of my user |
| VideosApi | api_v1_users_me_videos_imports_get | GET /api/v1/users/me/videos/imports | Get video imports of my user |
| VideosApi | get_video_playlist_videos | GET /api/v1/video-playlists/{playlistId}/videos | List videos of a playlist |
Documentation For Models
- Abuse
- AbuseMessage
- AbuseStateConstant
- AbuseStateSet
- Account
- AccountSummary
- Actor
- ActorImage
- ActorInfo
- AddIntroOptions
- AddPlaylist200Response
- AddPlaylist200ResponseVideoPlaylist
- AddPluginRequest
- AddPluginRequestOneOf
- AddPluginRequestOneOf1
- AddUser
- AddUserResponse
- AddUserResponseUser
- AddVideoChannel200Response
- AddVideoChannelSync200Response
- AddVideoPlaylistVideo200Response
- AddVideoPlaylistVideo200ResponseVideoPlaylistElement
- AddVideoPlaylistVideoRequest
- AddVideoPlaylistVideoRequestVideoId
- ApiV1AbusesAbuseIdMessagesGet200Response
- ApiV1AbusesAbuseIdMessagesPostRequest
- ApiV1AbusesAbuseIdPutRequest
- ApiV1AbusesPost200Response
- ApiV1AbusesPost200ResponseAbuse
- ApiV1AbusesPostRequest
- ApiV1AbusesPostRequestAccount
- ApiV1AbusesPostRequestComment
- ApiV1AbusesPostRequestVideo
- ApiV1CustomPagesHomepageInstancePutRequest
- ApiV1PluginsNpmNameSettingsPutRequest
- ApiV1RunnersGet200Response
- ApiV1RunnersJobsGet200Response
- ApiV1RunnersJobsJobUUIDAbortPostRequest
- ApiV1RunnersJobsJobUUIDAcceptPost200Response
- ApiV1RunnersJobsJobUUIDAcceptPost200ResponseJob
- ApiV1RunnersJobsJobUUIDErrorPostRequest
- ApiV1RunnersJobsJobUUIDSuccessPostRequest
- ApiV1RunnersJobsJobUUIDSuccessPostRequestPayload
- ApiV1RunnersJobsJobUUIDUpdatePostRequest
- ApiV1RunnersJobsJobUUIDUpdatePostRequestPayload
- ApiV1RunnersJobsRequestPost200Response
- ApiV1RunnersJobsRequestPost200ResponseAvailableJobsInner
- ApiV1RunnersRegisterPost200Response
- ApiV1RunnersRegisterPostRequest
- ApiV1RunnersRegistrationTokensGet200Response
- ApiV1RunnersUnregisterPostRequest
- ApiV1ServerBlocklistAccountsPostRequest
- ApiV1ServerBlocklistServersPostRequest
- ApiV1ServerFollowingPostRequest
- ApiV1ServerRedundancyHostPutRequest
- ApiV1UsersMeAvatarPickPost200Response
- ApiV1UsersMeNotificationSettingsPutRequest
- ApiV1UsersMeNotificationsReadPostRequest
- ApiV1UsersMeSubscriptionsPostRequest
- ApiV1UsersMeVideoPlaylistsVideosExistGet200Response
- ApiV1UsersMeVideoPlaylistsVideosExistGet200ResponseVideoIdInner
- ApiV1UsersMeVideoQuotaUsedGet200Response
- ApiV1VideoChannelsChannelHandleBannerPickPost200Response
- ApiV1VideoChannelsChannelHandleVideoPlaylistsGet200Response
- ApiV1VideosIdCommentThreadsPostRequest
- ApiV1VideosIdPasswordsPutRequest
- ApiV1VideosIdRatePutRequest
- ApiV1VideosLiveIdSessionsGet200Response
- ApiV1VideosOwnershipIdAcceptPostIdParameter
- BlockStatus
- BlockStatusAccountsValue
- BlockStatusHostsValue
- CommentThreadPostResponse
- CommentThreadResponse
- ConfirmTwoFactorRequestRequest
- CreateVideoTranscodingRequest
- CustomHomepage
- CutOptions
- FileRedundancyInformation
- Follow
- GetAccountFollowers200Response
- GetAccountVideosCategoryOneOfParameter
- GetAccountVideosLanguageOneOfParameter
- GetAccountVideosLicenceOneOfParameter
- GetAccountVideosTagsAllOfParameter
- GetAccountVideosTagsOneOfParameter
- GetAccounts200Response
- GetJobs200Response
- GetMeVideoRating
- GetMyAbuses200Response
- GetOAuthToken200Response
- GetUser200Response
- GetVideoBlocks200Response
- GetVideoCaptions200Response
- ImportVideosInChannelCreate
- Job
- ListRegistrations200Response
- ListVideoStoryboards200Response
- LiveVideoLatencyMode
- LiveVideoReplaySettings
- LiveVideoResponse
- LiveVideoSessionResponse
- LiveVideoSessionResponseReplayVideo
- LiveVideoUpdate
- MRSSGroupContent
- MRSSPeerLink
- NSFWPolicy
- Notification
- NotificationActorFollow
- NotificationActorFollowFollowing
- NotificationComment
- NotificationListResponse
- NotificationVideo
- NotificationVideoAbuse
- NotificationVideoImport
- OAuthClient
- PlaybackMetricCreate
- PlaylistElement
- Plugin
- PluginResponse
- PutMirroredVideoRequest
- PutVideoPlaylistVideoRequest
- RegisterUser
- RegisterUserChannel
- ReorderVideoPlaylistRequest
- ReplaceVideoChaptersRequest
- ReplaceVideoChaptersRequestChaptersInner
- RequestTwoFactorRequest
- RequestTwoFactorResponse
- RequestTwoFactorResponseOtpRequest
- ResendEmailToVerifyRegistrationRequest
- ResendEmailToVerifyUserRequest
- Runner
- RunnerJob
- RunnerJobAdmin
- RunnerJobParent
- RunnerJobPayload
- RunnerJobRunner
- RunnerJobState
- RunnerJobStateConstant
- RunnerJobType
- RunnerRegistrationToken
- SendClientLog
- ServerConfig
- ServerConfigAbout
- ServerConfigAboutInstance
- ServerConfigAutoBlacklist
- ServerConfigAutoBlacklistVideos
- ServerConfigAvatar
- ServerConfigAvatarFile
- ServerConfigAvatarFileSize
- ServerConfigCustom
- ServerConfigCustomAdmin
- ServerConfigCustomCache
- ServerConfigCustomCachePreviews
- ServerConfigCustomFollowers
- ServerConfigCustomFollowersInstance
- ServerConfigCustomImport
- ServerConfigCustomInstance
- ServerConfigCustomServices
- ServerConfigCustomServicesTwitter
- ServerConfigCustomSignup
- ServerConfigCustomTheme
- ServerConfigCustomTranscoding
- ServerConfigCustomTranscodingHls
- ServerConfigCustomTranscodingResolutions
- ServerConfigCustomTranscodingWebVideos
- ServerConfigCustomUser
- ServerConfigEmail
- ServerConfigFollowings
- ServerConfigFollowingsInstance
- ServerConfigFollowingsInstanceAutoFollowIndex
- ServerConfigImport
- ServerConfigImportVideos
- ServerConfigInstance
- ServerConfigInstanceCustomizations
- ServerConfigOpenTelemetry
- ServerConfigOpenTelemetryMetrics
- ServerConfigPlugin
- ServerConfigSearch
- ServerConfigSearchRemoteUri
- ServerConfigSignup
- ServerConfigTranscoding
- ServerConfigTrending
- ServerConfigTrendingVideos
- ServerConfigUser
- ServerConfigVideo
- ServerConfigVideoCaption
- ServerConfigVideoCaptionFile
- ServerConfigVideoFile
- ServerConfigVideoImage
- ServerConfigViews
- ServerConfigViewsViews
- ServerConfigViewsViewsWatchingInterval
- ServerStats
- ServerStatsVideosRedundancyInner
- Storyboard
- UninstallPluginRequest
- UpdateMe
- UpdateUser
- User
- UserAdminFlags
- UserRegistration
- UserRegistrationAcceptOrReject
- UserRegistrationRequest
- UserRegistrationState
- UserRegistrationUser
- UserRole
- UserViewingVideo
- UserWithStats
- VODAudioMergeTranscoding
- VODAudioMergeTranscoding1
- VODAudioMergeTranscoding1Input
- VODHLSTranscoding
- VODHLSTranscoding1
- VODWebVideoTranscoding
- VODWebVideoTranscoding1
- VODWebVideoTranscoding1Input
- VODWebVideoTranscoding1Output
- VerifyRegistrationEmailRequest
- VerifyUserRequest
- Video
- VideoBlacklist
- VideoCaption
- VideoChannel
- VideoChannelAllOfOwnerAccount
- VideoChannelCreate
- VideoChannelEdit
- VideoChannelList
- VideoChannelListDataInner
- VideoChannelSummary
- VideoChannelSync
- VideoChannelSyncCreate
- VideoChannelSyncList
- VideoChannelSyncState
- VideoChannelUpdate
- VideoChapters
- VideoComment
- VideoCommentThreadTree
- VideoCommentsForXMLInner
- VideoConstantNumberCategory
- VideoConstantNumberLicence
- VideoConstantStringLanguage
- VideoDetails
- VideoFile
- VideoImport
- VideoImportStateConstant
- VideoImportsList
- VideoInfo
- VideoListResponse
- VideoPassword
- VideoPasswordList
- VideoPlaylist
- VideoPlaylistPrivacyConstant
- VideoPlaylistPrivacySet
- VideoPlaylistTypeConstant
- VideoPlaylistTypeSet
- VideoPrivacyConstant
- VideoPrivacySet
- VideoRating
- VideoRedundancy
- VideoRedundancyRedundancies
- VideoReplaceSourceRequestResumable
- VideoResolutionConstant
- VideoScheduledUpdate
- VideoSource
- VideoStateConstant
- VideoStatsOverall
- VideoStatsOverallCountriesInner
- VideoStatsRetention
- VideoStatsRetentionDataInner
- VideoStatsTimeserie
- VideoStatsTimeserieDataInner
- VideoStreamingPlaylists
- VideoStreamingPlaylistsHLS
- VideoStreamingPlaylistsHLSRedundanciesInner
- VideoTokenResponse
- VideoTokenResponseFiles
- VideoUploadRequestCommon
- VideoUploadRequestResumable
- VideoUploadResponse
- VideoUploadResponseVideo
- VideoUserHistory
- VideosForXMLInner
- VideosForXMLInnerEnclosure
- VideosForXMLInnerMediaCommunity
- VideosForXMLInnerMediaCommunityMediaStatistics
- VideosForXMLInnerMediaEmbed
- VideosForXMLInnerMediaGroupInner
- VideosForXMLInnerMediaPlayer
- VideosForXMLInnerMediaThumbnail
Documentation For Authorization
Authentication schemes defined for the API:
OAuth2
- Type: OAuth
- Flow: password
- Authorization URL:
- Scopes:
- admin: Admin scope
- moderator: Moderator scope
- user: User scope