Skip to content

alxhu-dev/PeerTube-OpenAPI-CSharp

Repository files navigation

PeerTubeApiClient - the C# library for the PeerTube

A .NET library to use the PeerTube REST API.

This library is automatically generated by the OpenAPI specification.

Build

Generate the solution by yourself

  1. Download the official PeerTube OpenAPI specification here.
  2. Install the OpenAPI Generator like described in their tutorial.
  3. Generate the solution.
  4. Be aware of custom fixes.

Under this line is the automatic generated README file.


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 (following RFC7807) and code (internal PeerTube code) 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 by detail

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 C# SDK is automatically generated by the OpenAPI Generator project:

  • API version: 6.2.0
  • SDK version: 1.0.0
  • Generator version: 7.7.0
  • Build package: org.openapitools.codegen.languages.CSharpClientCodegen For more information, please visit https://joinpeertube.org

Frameworks supported

Dependencies

The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742. NOTE: RestSharp for .Net Core creates a new socket for each api call, which can lead to a socket exhaustion problem. See RestSharp#1406.

Installation

Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using PeerTubeApiClient.Api;
using PeerTubeApiClient.Client;
using PeerTubeApiClient.Model;

Packaging

A .nuspec is included with the project. You can follow the Nuget quickstart to create and publish packages.

This .nuspec uses placeholders from the .csproj, so build the .csproj directly:

nuget pack -Build -OutputDirectory out PeerTubeApiClient.csproj

Then, publish to a local feed or other host and consume the new package via Nuget as usual.

Usage

To use the API client with a HTTP proxy, setup a System.Net.WebProxy

Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;

Getting Started

using System.Collections.Generic;
using System.Diagnostics;
using PeerTubeApiClient.Api;
using PeerTubeApiClient.Client;
using PeerTubeApiClient.Model;

namespace Example
{
    public class Example
    {
        public static void Main()
        {

            Configuration config = new Configuration();
            config.BasePath = "https://peertube2.cpy.re";
            // Configure OAuth2 access token for authorization: OAuth2
            config.AccessToken = "YOUR_ACCESS_TOKEN";

            var apiInstance = new AbusesApi(config);
            var abuseId = 56;  // int | Abuse id

            try
            {
                // Delete an abuse
                apiInstance.ApiV1AbusesAbuseIdDelete(abuseId);
            }
            catch (ApiException e)
            {
                Debug.Print("Exception when calling AbusesApi.ApiV1AbusesAbuseIdDelete: " + e.Message );
                Debug.Print("Status Code: "+ e.ErrorCode);
                Debug.Print(e.StackTrace);
            }

        }
    }
}

Documentation for API Endpoints

All URIs are relative to https://peertube2.cpy.re

Class Method HTTP request Description
AbusesApi ApiV1AbusesAbuseIdDelete DELETE /api/v1/abuses/{abuseId} Delete an abuse
AbusesApi ApiV1AbusesAbuseIdMessagesAbuseMessageIdDelete DELETE /api/v1/abuses/{abuseId}/messages/{abuseMessageId} Delete an abuse message
AbusesApi ApiV1AbusesAbuseIdMessagesGet GET /api/v1/abuses/{abuseId}/messages List messages of an abuse
AbusesApi ApiV1AbusesAbuseIdMessagesPost POST /api/v1/abuses/{abuseId}/messages Add message to an abuse
AbusesApi ApiV1AbusesAbuseIdPut PUT /api/v1/abuses/{abuseId} Update an abuse
AbusesApi ApiV1AbusesPost POST /api/v1/abuses Report an abuse
AbusesApi GetAbuses GET /api/v1/abuses List abuses
AbusesApi GetMyAbuses GET /api/v1/users/me/abuses List my abuses
AccountBlocksApi ApiV1BlocklistStatusGet GET /api/v1/blocklist/status Get block status of accounts/hosts
AccountBlocksApi ApiV1ServerBlocklistAccountsAccountNameDelete DELETE /api/v1/server/blocklist/accounts/{accountName} Unblock an account by its handle
AccountBlocksApi ApiV1ServerBlocklistAccountsGet GET /api/v1/server/blocklist/accounts List account blocks
AccountBlocksApi ApiV1ServerBlocklistAccountsPost POST /api/v1/server/blocklist/accounts Block an account
AccountsApi ApiV1AccountsNameRatingsGet GET /api/v1/accounts/{name}/ratings List ratings of an account
AccountsApi ApiV1AccountsNameVideoChannelSyncsGet GET /api/v1/accounts/{name}/video-channel-syncs List the synchronizations of video channels of an account
AccountsApi ApiV1AccountsNameVideoChannelsGet GET /api/v1/accounts/{name}/video-channels List video channels of an account
AccountsApi ApiV1AccountsNameVideoPlaylistsGet GET /api/v1/accounts/{name}/video-playlists List playlists of an account
AccountsApi GetAccount GET /api/v1/accounts/{name} Get an account
AccountsApi GetAccountFollowers GET /api/v1/accounts/{name}/followers List followers of an account
AccountsApi GetAccountVideos GET /api/v1/accounts/{name}/videos List videos of an account
AccountsApi GetAccounts GET /api/v1/accounts List accounts
AutomaticTagsApi ApiV1AutomaticTagsAccountsAccountNameAvailableGet GET /api/v1/automatic-tags/accounts/{accountName}/available Get account available auto tags
AutomaticTagsApi ApiV1AutomaticTagsPoliciesAccountsAccountNameCommentsGet GET /api/v1/automatic-tags/policies/accounts/{accountName}/comments Get account auto tag policies on comments
AutomaticTagsApi ApiV1AutomaticTagsPoliciesAccountsAccountNameCommentsPut PUT /api/v1/automatic-tags/policies/accounts/{accountName}/comments Update account auto tag policies on comments
AutomaticTagsApi ApiV1AutomaticTagsServerAvailableGet GET /api/v1/automatic-tags/server/available Get server available auto tags
ChannelsSyncApi AddVideoChannelSync POST /api/v1/video-channel-syncs Create a synchronization for a video channel
ChannelsSyncApi ApiV1AccountsNameVideoChannelSyncsGet GET /api/v1/accounts/{name}/video-channel-syncs List the synchronizations of video channels of an account
ChannelsSyncApi ApiV1VideoChannelsChannelHandleImportVideosPost POST /api/v1/video-channels/{channelHandle}/import-videos Import videos in channel
ChannelsSyncApi DelVideoChannelSync DELETE /api/v1/video-channel-syncs/{channelSyncId} Delete a video channel synchronization
ChannelsSyncApi TriggerVideoChannelSync POST /api/v1/video-channel-syncs/{channelSyncId}/sync Triggers the channel synchronization job, fetching all the videos from the remote channel
ConfigApi ApiV1ConfigInstanceAvatarDelete DELETE /api/v1/config/instance-avatar Delete instance avatar
ConfigApi ApiV1ConfigInstanceAvatarPickPost POST /api/v1/config/instance-avatar/pick Update instance avatar
ConfigApi ApiV1ConfigInstanceBannerDelete DELETE /api/v1/config/instance-banner Delete instance banner
ConfigApi ApiV1ConfigInstanceBannerPickPost POST /api/v1/config/instance-banner/pick Update instance banner
ConfigApi DelCustomConfig DELETE /api/v1/config/custom Delete instance runtime configuration
ConfigApi GetAbout GET /api/v1/config/about Get instance "About" information
ConfigApi GetConfig GET /api/v1/config Get instance public configuration
ConfigApi GetCustomConfig GET /api/v1/config/custom Get instance runtime configuration
ConfigApi PutCustomConfig PUT /api/v1/config/custom Set instance runtime configuration
HomepageApi ApiV1CustomPagesHomepageInstanceGet GET /api/v1/custom-pages/homepage/instance Get instance custom homepage
HomepageApi ApiV1CustomPagesHomepageInstancePut PUT /api/v1/custom-pages/homepage/instance Set instance custom homepage
InstanceFollowsApi ApiV1ServerFollowersGet GET /api/v1/server/followers List instances following the server
InstanceFollowsApi ApiV1ServerFollowersNameWithHostAcceptPost POST /api/v1/server/followers/{nameWithHost}/accept Accept a pending follower to your server
InstanceFollowsApi ApiV1ServerFollowersNameWithHostDelete DELETE /api/v1/server/followers/{nameWithHost} Remove or reject a follower to your server
InstanceFollowsApi ApiV1ServerFollowersNameWithHostRejectPost POST /api/v1/server/followers/{nameWithHost}/reject Reject a pending follower to your server
InstanceFollowsApi ApiV1ServerFollowingGet GET /api/v1/server/following List instances followed by the server
InstanceFollowsApi ApiV1ServerFollowingHostOrHandleDelete DELETE /api/v1/server/following/{hostOrHandle} Unfollow an actor (PeerTube instance, channel or account)
InstanceFollowsApi ApiV1ServerFollowingPost POST /api/v1/server/following Follow a list of actors (PeerTube instance, channel or account)
InstanceRedundancyApi ApiV1ServerRedundancyHostPut PUT /api/v1/server/redundancy/{host} Update a server redundancy policy
JobApi ApiV1JobsPausePost POST /api/v1/jobs/pause Pause job queue
JobApi ApiV1JobsResumePost POST /api/v1/jobs/resume Resume job queue
JobApi GetJobs GET /api/v1/jobs/{state} List instance jobs
LiveVideosApi AddLive POST /api/v1/videos/live Create a live
LiveVideosApi ApiV1VideosIdLiveSessionGet GET /api/v1/videos/{id}/live-session Get live session of a replay
LiveVideosApi ApiV1VideosLiveIdSessionsGet GET /api/v1/videos/live/{id}/sessions List live sessions
LiveVideosApi GetLiveId GET /api/v1/videos/live/{id} Get information about a live
LiveVideosApi UpdateLiveId PUT /api/v1/videos/live/{id} Update information about a live
LogsApi GetInstanceAuditLogs GET /api/v1/server/audit-logs Get instance audit logs
LogsApi GetInstanceLogs GET /api/v1/server/logs Get instance logs
LogsApi SendClientLog POST /api/v1/server/logs/client Send client log
MyHistoryApi ApiV1UsersMeHistoryVideosGet GET /api/v1/users/me/history/videos List watched videos history
MyHistoryApi ApiV1UsersMeHistoryVideosRemovePost POST /api/v1/users/me/history/videos/remove Clear video history
MyHistoryApi ApiV1UsersMeHistoryVideosVideoIdDelete DELETE /api/v1/users/me/history/videos/{videoId} Delete history element
MyNotificationsApi ApiV1UsersMeNotificationSettingsPut PUT /api/v1/users/me/notification-settings Update my notification settings
MyNotificationsApi ApiV1UsersMeNotificationsGet GET /api/v1/users/me/notifications List my notifications
MyNotificationsApi ApiV1UsersMeNotificationsReadAllPost POST /api/v1/users/me/notifications/read-all Mark all my notification as read
MyNotificationsApi ApiV1UsersMeNotificationsReadPost POST /api/v1/users/me/notifications/read Mark notifications as read by their id
MySubscriptionsApi ApiV1UsersMeSubscriptionsExistGet GET /api/v1/users/me/subscriptions/exist Get if subscriptions exist for my user
MySubscriptionsApi ApiV1UsersMeSubscriptionsGet GET /api/v1/users/me/subscriptions Get my user subscriptions
MySubscriptionsApi ApiV1UsersMeSubscriptionsPost POST /api/v1/users/me/subscriptions Add subscription to my user
MySubscriptionsApi ApiV1UsersMeSubscriptionsSubscriptionHandleDelete DELETE /api/v1/users/me/subscriptions/{subscriptionHandle} Delete subscription of my user
MySubscriptionsApi ApiV1UsersMeSubscriptionsSubscriptionHandleGet GET /api/v1/users/me/subscriptions/{subscriptionHandle} Get subscription of my user
MySubscriptionsApi ApiV1UsersMeSubscriptionsVideosGet GET /api/v1/users/me/subscriptions/videos List videos of subscriptions of my user
MyUserApi ApiV1UsersMeAvatarDelete DELETE /api/v1/users/me/avatar Delete my avatar
MyUserApi ApiV1UsersMeAvatarPickPost POST /api/v1/users/me/avatar/pick Update my user avatar
MyUserApi ApiV1UsersMeVideoQuotaUsedGet GET /api/v1/users/me/video-quota-used Get my user used quota
MyUserApi ApiV1UsersMeVideosGet GET /api/v1/users/me/videos List videos of my user
MyUserApi ApiV1UsersMeVideosImportsGet GET /api/v1/users/me/videos/imports Get video imports of my user
MyUserApi ApiV1UsersMeVideosVideoIdRatingGet GET /api/v1/users/me/videos/{videoId}/rating Get rate of my user for a video
MyUserApi GetMyAbuses GET /api/v1/users/me/abuses List my abuses
MyUserApi GetUserInfo GET /api/v1/users/me Get my user information
MyUserApi PutUserInfo PUT /api/v1/users/me Update my user information
PluginsApi AddPlugin POST /api/v1/plugins/install Install a plugin
PluginsApi ApiV1PluginsNpmNamePublicSettingsGet GET /api/v1/plugins/{npmName}/public-settings Get a plugin's public settings
PluginsApi ApiV1PluginsNpmNameRegisteredSettingsGet GET /api/v1/plugins/{npmName}/registered-settings Get a plugin's registered settings
PluginsApi ApiV1PluginsNpmNameSettingsPut PUT /api/v1/plugins/{npmName}/settings Set a plugin's settings
PluginsApi GetAvailablePlugins GET /api/v1/plugins/available List available plugins
PluginsApi GetPlugin GET /api/v1/plugins/{npmName} Get a plugin
PluginsApi GetPlugins GET /api/v1/plugins List plugins
PluginsApi UninstallPlugin POST /api/v1/plugins/uninstall Uninstall a plugin
PluginsApi UpdatePlugin POST /api/v1/plugins/update Update a plugin
RegisterApi AcceptRegistration POST /api/v1/users/registrations/{registrationId}/accept Accept registration
RegisterApi DeleteRegistration DELETE /api/v1/users/registrations/{registrationId} Delete registration
RegisterApi ListRegistrations GET /api/v1/users/registrations List registrations
RegisterApi RegisterUser POST /api/v1/users/register Register a user
RegisterApi RejectRegistration POST /api/v1/users/registrations/{registrationId}/reject Reject registration
RegisterApi RequestRegistration POST /api/v1/users/registrations/request Request registration
RegisterApi ResendEmailToVerifyRegistration POST /api/v1/users/registrations/ask-send-verify-email Resend verification link to registration email
RegisterApi ResendEmailToVerifyUser POST /api/v1/users/ask-send-verify-email Resend user verification link
RegisterApi VerifyRegistrationEmail POST /api/v1/users/registrations/{registrationId}/verify-email Verify a registration email
RegisterApi VerifyUser POST /api/v1/users/{id}/verify-email Verify a user
RunnerJobsApi ApiV1RunnersJobsGet GET /api/v1/runners/jobs List jobs
RunnerJobsApi ApiV1RunnersJobsJobUUIDAbortPost POST /api/v1/runners/jobs/{jobUUID}/abort Abort job
RunnerJobsApi ApiV1RunnersJobsJobUUIDAcceptPost POST /api/v1/runners/jobs/{jobUUID}/accept Accept job
RunnerJobsApi ApiV1RunnersJobsJobUUIDCancelGet GET /api/v1/runners/jobs/{jobUUID}/cancel Cancel a job
RunnerJobsApi ApiV1RunnersJobsJobUUIDDelete DELETE /api/v1/runners/jobs/{jobUUID} Delete a job
RunnerJobsApi ApiV1RunnersJobsJobUUIDErrorPost POST /api/v1/runners/jobs/{jobUUID}/error Post job error
RunnerJobsApi ApiV1RunnersJobsJobUUIDSuccessPost POST /api/v1/runners/jobs/{jobUUID}/success Post job success
RunnerJobsApi ApiV1RunnersJobsJobUUIDUpdatePost POST /api/v1/runners/jobs/{jobUUID}/update Update job
RunnerJobsApi ApiV1RunnersJobsRequestPost POST /api/v1/runners/jobs/request Request a new job
RunnerRegistrationTokenApi ApiV1RunnersRegistrationTokensGeneratePost POST /api/v1/runners/registration-tokens/generate Generate registration token
RunnerRegistrationTokenApi ApiV1RunnersRegistrationTokensGet GET /api/v1/runners/registration-tokens List registration tokens
RunnerRegistrationTokenApi ApiV1RunnersRegistrationTokensRegistrationTokenIdDelete DELETE /api/v1/runners/registration-tokens/{registrationTokenId} Remove registration token
RunnersApi ApiV1RunnersGet GET /api/v1/runners List runners
RunnersApi ApiV1RunnersRegisterPost POST /api/v1/runners/register Register a new runner
RunnersApi ApiV1RunnersRunnerIdDelete DELETE /api/v1/runners/{runnerId} Delete a runner
RunnersApi ApiV1RunnersUnregisterPost POST /api/v1/runners/unregister Unregister a runner
SearchApi SearchChannels GET /api/v1/search/video-channels Search channels
SearchApi SearchPlaylists GET /api/v1/search/video-playlists Search playlists
SearchApi SearchVideos GET /api/v1/search/videos Search videos
ServerBlocksApi ApiV1BlocklistStatusGet GET /api/v1/blocklist/status Get block status of accounts/hosts
ServerBlocksApi ApiV1ServerBlocklistServersGet GET /api/v1/server/blocklist/servers List server blocks
ServerBlocksApi ApiV1ServerBlocklistServersHostDelete DELETE /api/v1/server/blocklist/servers/{host} Unblock a server by its domain
ServerBlocksApi ApiV1ServerBlocklistServersPost POST /api/v1/server/blocklist/servers Block a server
SessionApi GetOAuthClient GET /api/v1/oauth-clients/local Login prerequisite
SessionApi GetOAuthToken POST /api/v1/users/token Login
SessionApi RevokeOAuthToken POST /api/v1/users/revoke-token Logout
StaticVideoFilesApi StaticStreamingPlaylistsHlsFilenameGet GET /static/streaming-playlists/hls/{filename} Get public HLS video file
StaticVideoFilesApi StaticStreamingPlaylistsHlsPrivateFilenameGet GET /static/streaming-playlists/hls/private/{filename} Get private HLS video file
StaticVideoFilesApi StaticWebVideosFilenameGet GET /static/web-videos/{filename} Get public Web Video file
StaticVideoFilesApi StaticWebVideosPrivateFilenameGet GET /static/web-videos/private/{filename} Get private Web Video file
StatsApi ApiV1MetricsPlaybackPost POST /api/v1/metrics/playback Create playback metrics
StatsApi GetInstanceStats GET /api/v1/server/stats Get instance stats
UserExportsApi DeleteUserExport DELETE /api/v1/users/{userId}/exports/{id} Delete a user export
UserExportsApi ListUserExports GET /api/v1/users/{userId}/exports List user exports
UserExportsApi RequestUserExport POST /api/v1/users/{userId}/exports/request Request user export
UserImportsApi GetLatestUserImport GET /api/v1/users/{userId}/imports/latest Get latest user import
UserImportsApi UserImportResumable PUT /api/v1/users/{userId}/imports/import-resumable Send chunk for the resumable user import
UserImportsApi UserImportResumableCancel DELETE /api/v1/users/{userId}/imports/import-resumable Cancel the resumable user import
UserImportsApi UserImportResumableInit POST /api/v1/users/{userId}/imports/import-resumable Initialize the resumable user import
UsersApi AddUser POST /api/v1/users Create a user
UsersApi ConfirmTwoFactorRequest POST /api/v1/users/{id}/two-factor/confirm-request Confirm two factor auth
UsersApi DelUser DELETE /api/v1/users/{id} Delete a user
UsersApi DisableTwoFactor POST /api/v1/users/{id}/two-factor/disable Disable two factor auth
UsersApi GetUser GET /api/v1/users/{id} Get a user
UsersApi GetUsers GET /api/v1/users List users
UsersApi PutUser PUT /api/v1/users/{id} Update a user
UsersApi RequestTwoFactor POST /api/v1/users/{id}/two-factor/request Request two factor auth
UsersApi ResendEmailToVerifyUser POST /api/v1/users/ask-send-verify-email Resend user verification link
UsersApi VerifyUser POST /api/v1/users/{id}/verify-email Verify a user
VideoApi AddLive POST /api/v1/videos/live Create a live
VideoApi AddView POST /api/v1/videos/{id}/views Notify user is watching a video
VideoApi ApiV1VideosIdStudioEditPost POST /api/v1/videos/{id}/studio/edit Create a studio task
VideoApi ApiV1VideosIdWatchingPut PUT /api/v1/videos/{id}/watching Set watching progress of a video
VideoApi DelVideo DELETE /api/v1/videos/{id} Delete a video
VideoApi DeleteVideoSourceFile DELETE /api/v1/videos/{id}/source/file Delete video source file
VideoApi GetAccountVideos GET /api/v1/accounts/{name}/videos List videos of an account
VideoApi GetCategories GET /api/v1/videos/categories List available video categories
VideoApi GetLanguages GET /api/v1/videos/languages List available video languages
VideoApi GetLicences GET /api/v1/videos/licences List available video licences
VideoApi GetLiveId GET /api/v1/videos/live/{id} Get information about a live
VideoApi GetVideo GET /api/v1/videos/{id} Get a video
VideoApi GetVideoChannelVideos GET /api/v1/video-channels/{channelHandle}/videos List videos of a video channel
VideoApi GetVideoDesc GET /api/v1/videos/{id}/description Get complete video description
VideoApi GetVideoPrivacyPolicies GET /api/v1/videos/privacies List available video privacy policies
VideoApi GetVideoSource GET /api/v1/videos/{id}/source Get video source file metadata
VideoApi GetVideos GET /api/v1/videos List videos
VideoApi ListVideoStoryboards GET /api/v1/videos/{id}/storyboards List storyboards of a video
VideoApi PutVideo PUT /api/v1/videos/{id} Update a video
VideoApi ReplaceVideoSourceResumable PUT /api/v1/videos/{id}/source/replace-resumable Send chunk for the resumable replacement of a video
VideoApi ReplaceVideoSourceResumableCancel DELETE /api/v1/videos/{id}/source/replace-resumable Cancel the resumable replacement of a video
VideoApi ReplaceVideoSourceResumableInit POST /api/v1/videos/{id}/source/replace-resumable Initialize the resumable replacement of a video
VideoApi RequestVideoToken POST /api/v1/videos/{id}/token Request video token
VideoApi SearchVideos GET /api/v1/search/videos Search videos
VideoApi UpdateLiveId PUT /api/v1/videos/live/{id} Update information about a live
VideoApi UploadLegacy POST /api/v1/videos/upload Upload a video
VideoApi UploadResumable PUT /api/v1/videos/upload-resumable Send chunk for the resumable upload of a video
VideoApi UploadResumableCancel DELETE /api/v1/videos/upload-resumable Cancel the resumable upload of a video, deleting any data uploaded so far
VideoApi UploadResumableInit POST /api/v1/videos/upload-resumable Initialize the resumable upload of a video
VideoBlocksApi AddVideoBlock POST /api/v1/videos/{id}/blacklist Block a video
VideoBlocksApi DelVideoBlock DELETE /api/v1/videos/{id}/blacklist Unblock a video by its id
VideoBlocksApi GetVideoBlocks GET /api/v1/videos/blacklist List video blocks
VideoCaptionsApi AddVideoCaption PUT /api/v1/videos/{id}/captions/{captionLanguage} Add or replace a video caption
VideoCaptionsApi DelVideoCaption DELETE /api/v1/videos/{id}/captions/{captionLanguage} Delete a video caption
VideoCaptionsApi GenerateVideoCaption POST /api/v1/videos/{id}/captions/generate Generate a video caption
VideoCaptionsApi GetVideoCaptions GET /api/v1/videos/{id}/captions List captions of a video
VideoChannelsApi AddVideoChannel POST /api/v1/video-channels Create a video channel
VideoChannelsApi ApiV1AccountsNameVideoChannelSyncsGet GET /api/v1/accounts/{name}/video-channel-syncs List the synchronizations of video channels of an account
VideoChannelsApi ApiV1AccountsNameVideoChannelsGet GET /api/v1/accounts/{name}/video-channels List video channels of an account
VideoChannelsApi ApiV1VideoChannelsChannelHandleAvatarDelete DELETE /api/v1/video-channels/{channelHandle}/avatar Delete channel avatar
VideoChannelsApi ApiV1VideoChannelsChannelHandleAvatarPickPost POST /api/v1/video-channels/{channelHandle}/avatar/pick Update channel avatar
VideoChannelsApi ApiV1VideoChannelsChannelHandleBannerDelete DELETE /api/v1/video-channels/{channelHandle}/banner Delete channel banner
VideoChannelsApi ApiV1VideoChannelsChannelHandleBannerPickPost POST /api/v1/video-channels/{channelHandle}/banner/pick Update channel banner
VideoChannelsApi ApiV1VideoChannelsChannelHandleImportVideosPost POST /api/v1/video-channels/{channelHandle}/import-videos Import videos in channel
VideoChannelsApi ApiV1VideoChannelsChannelHandleVideoPlaylistsGet GET /api/v1/video-channels/{channelHandle}/video-playlists List playlists of a channel
VideoChannelsApi DelVideoChannel DELETE /api/v1/video-channels/{channelHandle} Delete a video channel
VideoChannelsApi GetVideoChannel GET /api/v1/video-channels/{channelHandle} Get a video channel
VideoChannelsApi GetVideoChannelFollowers GET /api/v1/video-channels/{channelHandle}/followers List followers of a video channel
VideoChannelsApi GetVideoChannelVideos GET /api/v1/video-channels/{channelHandle}/videos List videos of a video channel
VideoChannelsApi GetVideoChannels GET /api/v1/video-channels List video channels
VideoChannelsApi PutVideoChannel PUT /api/v1/video-channels/{channelHandle} Update a video channel
VideoChannelsApi SearchChannels GET /api/v1/search/video-channels Search channels
VideoChaptersApi GetVideoChapters GET /api/v1/videos/{id}/chapters Get chapters of a video
VideoChaptersApi ReplaceVideoChapters PUT /api/v1/videos/{id}/chapters Replace video chapters
VideoCommentsApi ApiV1UsersMeVideosCommentsGet GET /api/v1/users/me/videos/comments List comments on user's videos
VideoCommentsApi ApiV1VideosCommentsGet GET /api/v1/videos/comments List instance comments
VideoCommentsApi ApiV1VideosIdCommentThreadsGet GET /api/v1/videos/{id}/comment-threads List threads of a video
VideoCommentsApi ApiV1VideosIdCommentThreadsPost POST /api/v1/videos/{id}/comment-threads Create a thread
VideoCommentsApi ApiV1VideosIdCommentThreadsThreadIdGet GET /api/v1/videos/{id}/comment-threads/{threadId} Get a thread
VideoCommentsApi ApiV1VideosIdCommentsCommentIdApprovePost POST /api/v1/videos/{id}/comments/{commentId}/approve Approve a comment
VideoCommentsApi ApiV1VideosIdCommentsCommentIdDelete DELETE /api/v1/videos/{id}/comments/{commentId} Delete a comment or a reply
VideoCommentsApi ApiV1VideosIdCommentsCommentIdPost POST /api/v1/videos/{id}/comments/{commentId} Reply to a thread of a video
VideoFeedsApi GetSyndicatedComments GET /feeds/video-comments.{format} Comments on videos feeds
VideoFeedsApi GetSyndicatedSubscriptionVideos GET /feeds/subscriptions.{format} Videos of subscriptions feeds
VideoFeedsApi GetSyndicatedVideos GET /feeds/videos.{format} Common videos feeds
VideoFeedsApi GetVideosPodcastFeed GET /feeds/podcast/videos.xml Videos podcast feed
VideoFilesApi DelVideoHLS DELETE /api/v1/videos/{id}/hls Delete video HLS files
VideoFilesApi DelVideoWebVideos DELETE /api/v1/videos/{id}/web-videos Delete video Web Video files
VideoImportsApi ApiV1VideosImportsIdCancelPost POST /api/v1/videos/imports/{id}/cancel Cancel video import
VideoImportsApi ApiV1VideosImportsIdDelete DELETE /api/v1/videos/imports/{id} Delete video import
VideoImportsApi ImportVideo POST /api/v1/videos/imports Import a video
VideoMirroringApi DelMirroredVideo DELETE /api/v1/server/redundancy/videos/{redundancyId} Delete a mirror done on a video
VideoMirroringApi GetMirroredVideos GET /api/v1/server/redundancy/videos List videos being mirrored
VideoMirroringApi PutMirroredVideo POST /api/v1/server/redundancy/videos Mirror a video
VideoOwnershipChangeApi ApiV1VideosIdGiveOwnershipPost POST /api/v1/videos/{id}/give-ownership Request ownership change
VideoOwnershipChangeApi ApiV1VideosOwnershipGet GET /api/v1/videos/ownership List video ownership changes
VideoOwnershipChangeApi ApiV1VideosOwnershipIdAcceptPost POST /api/v1/videos/ownership/{id}/accept Accept ownership change request
VideoOwnershipChangeApi ApiV1VideosOwnershipIdRefusePost POST /api/v1/videos/ownership/{id}/refuse Refuse ownership change request
VideoPasswordsApi ApiV1VideosIdPasswordsGet GET /api/v1/videos/{id}/passwords List video passwords
VideoPasswordsApi ApiV1VideosIdPasswordsPut PUT /api/v1/videos/{id}/passwords Update video passwords
VideoPasswordsApi ApiV1VideosIdPasswordsVideoPasswordIdDelete DELETE /api/v1/videos/{id}/passwords/{videoPasswordId} Delete a video password
VideoPlaylistsApi AddPlaylist POST /api/v1/video-playlists Create a video playlist
VideoPlaylistsApi AddVideoPlaylistVideo POST /api/v1/video-playlists/{playlistId}/videos Add a video in a playlist
VideoPlaylistsApi ApiV1AccountsNameVideoPlaylistsGet GET /api/v1/accounts/{name}/video-playlists List playlists of an account
VideoPlaylistsApi ApiV1UsersMeVideoPlaylistsVideosExistGet GET /api/v1/users/me/video-playlists/videos-exist Check video exists in my playlists
VideoPlaylistsApi ApiV1VideoChannelsChannelHandleVideoPlaylistsGet GET /api/v1/video-channels/{channelHandle}/video-playlists List playlists of a channel
VideoPlaylistsApi ApiV1VideoPlaylistsPlaylistIdDelete DELETE /api/v1/video-playlists/{playlistId} Delete a video playlist
VideoPlaylistsApi ApiV1VideoPlaylistsPlaylistIdGet GET /api/v1/video-playlists/{playlistId} Get a video playlist
VideoPlaylistsApi ApiV1VideoPlaylistsPlaylistIdPut PUT /api/v1/video-playlists/{playlistId} Update a video playlist
VideoPlaylistsApi DelVideoPlaylistVideo DELETE /api/v1/video-playlists/{playlistId}/videos/{playlistElementId} Delete an element from a playlist
VideoPlaylistsApi GetPlaylistPrivacyPolicies GET /api/v1/video-playlists/privacies List available playlist privacy policies
VideoPlaylistsApi GetPlaylists GET /api/v1/video-playlists List video playlists
VideoPlaylistsApi GetVideoPlaylistVideos GET /api/v1/video-playlists/{playlistId}/videos List videos of a playlist
VideoPlaylistsApi PutVideoPlaylistVideo PUT /api/v1/video-playlists/{playlistId}/videos/{playlistElementId} Update a playlist element
VideoPlaylistsApi ReorderVideoPlaylist POST /api/v1/video-playlists/{playlistId}/videos/reorder Reorder a playlist
VideoPlaylistsApi SearchPlaylists GET /api/v1/search/video-playlists Search playlists
VideoRatesApi ApiV1UsersMeVideosVideoIdRatingGet GET /api/v1/users/me/videos/{videoId}/rating Get rate of my user for a video
VideoRatesApi ApiV1VideosIdRatePut PUT /api/v1/videos/{id}/rate Like/dislike a video
VideoStatsApi ApiV1VideosIdStatsOverallGet GET /api/v1/videos/{id}/stats/overall Get overall stats of a video
VideoStatsApi ApiV1VideosIdStatsRetentionGet GET /api/v1/videos/{id}/stats/retention Get retention stats of a video
VideoStatsApi ApiV1VideosIdStatsTimeseriesMetricGet GET /api/v1/videos/{id}/stats/timeseries/{metric} Get timeserie stats of a video
VideoTranscodingApi ApiV1VideosIdStudioEditPost POST /api/v1/videos/{id}/studio/edit Create a studio task
VideoTranscodingApi CreateVideoTranscoding POST /api/v1/videos/{id}/transcoding Create a transcoding job
VideoUploadApi ImportVideo POST /api/v1/videos/imports Import a video
VideoUploadApi ReplaceVideoSourceResumable PUT /api/v1/videos/{id}/source/replace-resumable Send chunk for the resumable replacement of a video
VideoUploadApi ReplaceVideoSourceResumableCancel DELETE /api/v1/videos/{id}/source/replace-resumable Cancel the resumable replacement of a video
VideoUploadApi ReplaceVideoSourceResumableInit POST /api/v1/videos/{id}/source/replace-resumable Initialize the resumable replacement of a video
VideoUploadApi UploadLegacy POST /api/v1/videos/upload Upload a video
VideoUploadApi UploadResumable PUT /api/v1/videos/upload-resumable Send chunk for the resumable upload of a video
VideoUploadApi UploadResumableCancel DELETE /api/v1/videos/upload-resumable Cancel the resumable upload of a video, deleting any data uploaded so far
VideoUploadApi UploadResumableInit POST /api/v1/videos/upload-resumable Initialize the resumable upload of a video
VideosApi AddVideoPlaylistVideo POST /api/v1/video-playlists/{playlistId}/videos Add a video in a playlist
VideosApi ApiV1UsersMeSubscriptionsVideosGet GET /api/v1/users/me/subscriptions/videos List videos of subscriptions of my user
VideosApi ApiV1UsersMeVideosGet GET /api/v1/users/me/videos List videos of my user
VideosApi ApiV1UsersMeVideosImportsGet GET /api/v1/users/me/videos/imports Get video imports of my user
VideosApi GetVideoPlaylistVideos GET /api/v1/video-playlists/{playlistId}/videos List videos of a playlist
WatchedWordsApi ApiV1WatchedWordsAccountsAccountNameListsGet GET /api/v1/watched-words/accounts/{accountName}/lists List account watched words
WatchedWordsApi ApiV1WatchedWordsAccountsAccountNameListsListIdDelete DELETE /api/v1/watched-words/accounts/{accountName}/lists/{listId} Delete account watched words
WatchedWordsApi ApiV1WatchedWordsAccountsAccountNameListsListIdPut PUT /api/v1/watched-words/accounts/{accountName}/lists/{listId} Update account watched words
WatchedWordsApi ApiV1WatchedWordsAccountsAccountNameListsPost POST /api/v1/watched-words/accounts/{accountName}/lists Add account watched words
WatchedWordsApi ApiV1WatchedWordsServerListsGet GET /api/v1/watched-words/server/lists List server watched words
WatchedWordsApi ApiV1WatchedWordsServerListsListIdDelete DELETE /api/v1/watched-words/server/lists/{listId} Delete server watched words
WatchedWordsApi ApiV1WatchedWordsServerListsListIdPut PUT /api/v1/watched-words/server/lists/{listId} Update server watched words
WatchedWordsApi ApiV1WatchedWordsServerListsPost POST /api/v1/watched-words/server/lists Add server watched words

Documentation for Models

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages