# coding: utf-8 # flake8: noqa """ 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](https://github.com/OpenAPITools/openapi-generator/wiki/API-client-generator-HOWTO) which generates a client SDK in the language of your choice - we generate some client SDKs automatically: - [Python](https://framagit.org/framasoft/peertube/clients/python) - [Go](https://framagit.org/framasoft/peertube/clients/go) - [Kotlin](https://framagit.org/framasoft/peertube/clients/kotlin) See the [REST API quick start](https://docs.joinpeertube.org/api/rest-getting-started) 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](https://docs.joinpeertube.org/admin/managing-users#roles) 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](https://tools.ietf.org/html/rfc7807) 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](https://github.com/Chocobozzz/PeerTube/blob/develop/packages/models/src/server/core-error-code.enum.ts), 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..location` can be either 'params', 'body', 'header', 'query' or 'cookies', and `invalid-params..value` reports the value that didn't pass validation whose `invalid-params..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` - `code`: superseded by `type` (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)](https://fetch.spec.whatwg.org/), 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. The version of the OpenAPI document: 5.2.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. """ # noqa: E501 # import models into model package from peertube.models.abuse import Abuse from peertube.models.abuse_message import AbuseMessage from peertube.models.abuse_state_constant import AbuseStateConstant from peertube.models.abuse_state_set import AbuseStateSet from peertube.models.account import Account from peertube.models.account_summary import AccountSummary from peertube.models.actor import Actor from peertube.models.actor_image import ActorImage from peertube.models.actor_info import ActorInfo from peertube.models.add_intro_options import AddIntroOptions from peertube.models.add_playlist200_response import AddPlaylist200Response from peertube.models.add_playlist200_response_video_playlist import AddPlaylist200ResponseVideoPlaylist from peertube.models.add_plugin_request import AddPluginRequest from peertube.models.add_plugin_request_one_of import AddPluginRequestOneOf from peertube.models.add_plugin_request_one_of1 import AddPluginRequestOneOf1 from peertube.models.add_user import AddUser from peertube.models.add_user_response import AddUserResponse from peertube.models.add_user_response_user import AddUserResponseUser from peertube.models.add_video_channel200_response import AddVideoChannel200Response from peertube.models.add_video_channel_sync200_response import AddVideoChannelSync200Response from peertube.models.add_video_playlist_video200_response import AddVideoPlaylistVideo200Response from peertube.models.add_video_playlist_video200_response_video_playlist_element import AddVideoPlaylistVideo200ResponseVideoPlaylistElement from peertube.models.add_video_playlist_video_request import AddVideoPlaylistVideoRequest from peertube.models.add_video_playlist_video_request_video_id import AddVideoPlaylistVideoRequestVideoId from peertube.models.api_v1_abuses_abuse_id_messages_get200_response import ApiV1AbusesAbuseIdMessagesGet200Response from peertube.models.api_v1_abuses_abuse_id_messages_post_request import ApiV1AbusesAbuseIdMessagesPostRequest from peertube.models.api_v1_abuses_abuse_id_put_request import ApiV1AbusesAbuseIdPutRequest from peertube.models.api_v1_abuses_post200_response import ApiV1AbusesPost200Response from peertube.models.api_v1_abuses_post200_response_abuse import ApiV1AbusesPost200ResponseAbuse from peertube.models.api_v1_abuses_post_request import ApiV1AbusesPostRequest from peertube.models.api_v1_abuses_post_request_account import ApiV1AbusesPostRequestAccount from peertube.models.api_v1_abuses_post_request_comment import ApiV1AbusesPostRequestComment from peertube.models.api_v1_abuses_post_request_video import ApiV1AbusesPostRequestVideo from peertube.models.api_v1_custom_pages_homepage_instance_put_request import ApiV1CustomPagesHomepageInstancePutRequest from peertube.models.api_v1_plugins_npm_name_settings_put_request import ApiV1PluginsNpmNameSettingsPutRequest from peertube.models.api_v1_runners_get200_response import ApiV1RunnersGet200Response from peertube.models.api_v1_runners_jobs_get200_response import ApiV1RunnersJobsGet200Response from peertube.models.api_v1_runners_jobs_job_uuid_abort_post_request import ApiV1RunnersJobsJobUUIDAbortPostRequest from peertube.models.api_v1_runners_jobs_job_uuid_accept_post200_response import ApiV1RunnersJobsJobUUIDAcceptPost200Response from peertube.models.api_v1_runners_jobs_job_uuid_accept_post200_response_job import ApiV1RunnersJobsJobUUIDAcceptPost200ResponseJob from peertube.models.api_v1_runners_jobs_job_uuid_error_post_request import ApiV1RunnersJobsJobUUIDErrorPostRequest from peertube.models.api_v1_runners_jobs_job_uuid_success_post_request import ApiV1RunnersJobsJobUUIDSuccessPostRequest from peertube.models.api_v1_runners_jobs_job_uuid_success_post_request_payload import ApiV1RunnersJobsJobUUIDSuccessPostRequestPayload from peertube.models.api_v1_runners_jobs_job_uuid_update_post_request import ApiV1RunnersJobsJobUUIDUpdatePostRequest from peertube.models.api_v1_runners_jobs_job_uuid_update_post_request_payload import ApiV1RunnersJobsJobUUIDUpdatePostRequestPayload from peertube.models.api_v1_runners_jobs_request_post200_response import ApiV1RunnersJobsRequestPost200Response from peertube.models.api_v1_runners_jobs_request_post200_response_available_jobs_inner import ApiV1RunnersJobsRequestPost200ResponseAvailableJobsInner from peertube.models.api_v1_runners_register_post200_response import ApiV1RunnersRegisterPost200Response from peertube.models.api_v1_runners_register_post_request import ApiV1RunnersRegisterPostRequest from peertube.models.api_v1_runners_registration_tokens_get200_response import ApiV1RunnersRegistrationTokensGet200Response from peertube.models.api_v1_runners_unregister_post_request import ApiV1RunnersUnregisterPostRequest from peertube.models.api_v1_server_blocklist_accounts_post_request import ApiV1ServerBlocklistAccountsPostRequest from peertube.models.api_v1_server_blocklist_servers_post_request import ApiV1ServerBlocklistServersPostRequest from peertube.models.api_v1_server_following_post_request import ApiV1ServerFollowingPostRequest from peertube.models.api_v1_server_redundancy_host_put_request import ApiV1ServerRedundancyHostPutRequest from peertube.models.api_v1_users_me_avatar_pick_post200_response import ApiV1UsersMeAvatarPickPost200Response from peertube.models.api_v1_users_me_notification_settings_put_request import ApiV1UsersMeNotificationSettingsPutRequest from peertube.models.api_v1_users_me_notifications_read_post_request import ApiV1UsersMeNotificationsReadPostRequest from peertube.models.api_v1_users_me_subscriptions_post_request import ApiV1UsersMeSubscriptionsPostRequest from peertube.models.api_v1_users_me_video_playlists_videos_exist_get200_response import ApiV1UsersMeVideoPlaylistsVideosExistGet200Response from peertube.models.api_v1_users_me_video_playlists_videos_exist_get200_response_video_id_inner import ApiV1UsersMeVideoPlaylistsVideosExistGet200ResponseVideoIdInner from peertube.models.api_v1_users_me_video_quota_used_get200_response import ApiV1UsersMeVideoQuotaUsedGet200Response from peertube.models.api_v1_video_channels_channel_handle_banner_pick_post200_response import ApiV1VideoChannelsChannelHandleBannerPickPost200Response from peertube.models.api_v1_video_channels_channel_handle_video_playlists_get200_response import ApiV1VideoChannelsChannelHandleVideoPlaylistsGet200Response from peertube.models.api_v1_videos_id_comment_threads_post_request import ApiV1VideosIdCommentThreadsPostRequest from peertube.models.api_v1_videos_id_passwords_put_request import ApiV1VideosIdPasswordsPutRequest from peertube.models.api_v1_videos_id_rate_put_request import ApiV1VideosIdRatePutRequest from peertube.models.api_v1_videos_live_id_sessions_get200_response import ApiV1VideosLiveIdSessionsGet200Response from peertube.models.api_v1_videos_ownership_id_accept_post_id_parameter import ApiV1VideosOwnershipIdAcceptPostIdParameter from peertube.models.block_status import BlockStatus from peertube.models.block_status_accounts_value import BlockStatusAccountsValue from peertube.models.block_status_hosts_value import BlockStatusHostsValue from peertube.models.comment_thread_post_response import CommentThreadPostResponse from peertube.models.comment_thread_response import CommentThreadResponse from peertube.models.confirm_two_factor_request_request import ConfirmTwoFactorRequestRequest from peertube.models.create_video_transcoding_request import CreateVideoTranscodingRequest from peertube.models.custom_homepage import CustomHomepage from peertube.models.cut_options import CutOptions from peertube.models.file_redundancy_information import FileRedundancyInformation from peertube.models.follow import Follow from peertube.models.get_account_followers200_response import GetAccountFollowers200Response from peertube.models.get_account_videos_category_one_of_parameter import GetAccountVideosCategoryOneOfParameter from peertube.models.get_account_videos_language_one_of_parameter import GetAccountVideosLanguageOneOfParameter from peertube.models.get_account_videos_licence_one_of_parameter import GetAccountVideosLicenceOneOfParameter from peertube.models.get_account_videos_tags_all_of_parameter import GetAccountVideosTagsAllOfParameter from peertube.models.get_account_videos_tags_one_of_parameter import GetAccountVideosTagsOneOfParameter from peertube.models.get_accounts200_response import GetAccounts200Response from peertube.models.get_jobs200_response import GetJobs200Response from peertube.models.get_me_video_rating import GetMeVideoRating from peertube.models.get_my_abuses200_response import GetMyAbuses200Response from peertube.models.get_o_auth_token200_response import GetOAuthToken200Response from peertube.models.get_user200_response import GetUser200Response from peertube.models.get_video_blocks200_response import GetVideoBlocks200Response from peertube.models.get_video_captions200_response import GetVideoCaptions200Response from peertube.models.import_videos_in_channel_create import ImportVideosInChannelCreate from peertube.models.job import Job from peertube.models.list_registrations200_response import ListRegistrations200Response from peertube.models.list_video_storyboards200_response import ListVideoStoryboards200Response from peertube.models.live_video_latency_mode import LiveVideoLatencyMode from peertube.models.live_video_replay_settings import LiveVideoReplaySettings from peertube.models.live_video_response import LiveVideoResponse from peertube.models.live_video_session_response import LiveVideoSessionResponse from peertube.models.live_video_session_response_replay_video import LiveVideoSessionResponseReplayVideo from peertube.models.live_video_update import LiveVideoUpdate from peertube.models.mrss_group_content import MRSSGroupContent from peertube.models.mrss_peer_link import MRSSPeerLink from peertube.models.nsfw_policy import NSFWPolicy from peertube.models.notification import Notification from peertube.models.notification_actor_follow import NotificationActorFollow from peertube.models.notification_actor_follow_following import NotificationActorFollowFollowing from peertube.models.notification_comment import NotificationComment from peertube.models.notification_list_response import NotificationListResponse from peertube.models.notification_video import NotificationVideo from peertube.models.notification_video_abuse import NotificationVideoAbuse from peertube.models.notification_video_import import NotificationVideoImport from peertube.models.o_auth_client import OAuthClient from peertube.models.playback_metric_create import PlaybackMetricCreate from peertube.models.playlist_element import PlaylistElement from peertube.models.plugin import Plugin from peertube.models.plugin_response import PluginResponse from peertube.models.put_mirrored_video_request import PutMirroredVideoRequest from peertube.models.put_video_playlist_video_request import PutVideoPlaylistVideoRequest from peertube.models.register_user import RegisterUser from peertube.models.register_user_channel import RegisterUserChannel from peertube.models.reorder_video_playlist_request import ReorderVideoPlaylistRequest from peertube.models.replace_video_chapters_request import ReplaceVideoChaptersRequest from peertube.models.replace_video_chapters_request_chapters_inner import ReplaceVideoChaptersRequestChaptersInner from peertube.models.request_two_factor_request import RequestTwoFactorRequest from peertube.models.request_two_factor_response import RequestTwoFactorResponse from peertube.models.request_two_factor_response_otp_request import RequestTwoFactorResponseOtpRequest from peertube.models.resend_email_to_verify_registration_request import ResendEmailToVerifyRegistrationRequest from peertube.models.resend_email_to_verify_user_request import ResendEmailToVerifyUserRequest from peertube.models.runner import Runner from peertube.models.runner_job import RunnerJob from peertube.models.runner_job_admin import RunnerJobAdmin from peertube.models.runner_job_parent import RunnerJobParent from peertube.models.runner_job_payload import RunnerJobPayload from peertube.models.runner_job_runner import RunnerJobRunner from peertube.models.runner_job_state import RunnerJobState from peertube.models.runner_job_state_constant import RunnerJobStateConstant from peertube.models.runner_job_type import RunnerJobType from peertube.models.runner_registration_token import RunnerRegistrationToken from peertube.models.send_client_log import SendClientLog from peertube.models.server_config import ServerConfig from peertube.models.server_config_about import ServerConfigAbout from peertube.models.server_config_about_instance import ServerConfigAboutInstance from peertube.models.server_config_auto_blacklist import ServerConfigAutoBlacklist from peertube.models.server_config_auto_blacklist_videos import ServerConfigAutoBlacklistVideos from peertube.models.server_config_avatar import ServerConfigAvatar from peertube.models.server_config_avatar_file import ServerConfigAvatarFile from peertube.models.server_config_avatar_file_size import ServerConfigAvatarFileSize from peertube.models.server_config_custom import ServerConfigCustom from peertube.models.server_config_custom_admin import ServerConfigCustomAdmin from peertube.models.server_config_custom_cache import ServerConfigCustomCache from peertube.models.server_config_custom_cache_previews import ServerConfigCustomCachePreviews from peertube.models.server_config_custom_followers import ServerConfigCustomFollowers from peertube.models.server_config_custom_followers_instance import ServerConfigCustomFollowersInstance from peertube.models.server_config_custom_import import ServerConfigCustomImport from peertube.models.server_config_custom_instance import ServerConfigCustomInstance from peertube.models.server_config_custom_services import ServerConfigCustomServices from peertube.models.server_config_custom_services_twitter import ServerConfigCustomServicesTwitter from peertube.models.server_config_custom_signup import ServerConfigCustomSignup from peertube.models.server_config_custom_theme import ServerConfigCustomTheme from peertube.models.server_config_custom_transcoding import ServerConfigCustomTranscoding from peertube.models.server_config_custom_transcoding_hls import ServerConfigCustomTranscodingHls from peertube.models.server_config_custom_transcoding_resolutions import ServerConfigCustomTranscodingResolutions from peertube.models.server_config_custom_transcoding_web_videos import ServerConfigCustomTranscodingWebVideos from peertube.models.server_config_custom_user import ServerConfigCustomUser from peertube.models.server_config_email import ServerConfigEmail from peertube.models.server_config_followings import ServerConfigFollowings from peertube.models.server_config_followings_instance import ServerConfigFollowingsInstance from peertube.models.server_config_followings_instance_auto_follow_index import ServerConfigFollowingsInstanceAutoFollowIndex from peertube.models.server_config_import import ServerConfigImport from peertube.models.server_config_import_videos import ServerConfigImportVideos from peertube.models.server_config_instance import ServerConfigInstance from peertube.models.server_config_instance_customizations import ServerConfigInstanceCustomizations from peertube.models.server_config_open_telemetry import ServerConfigOpenTelemetry from peertube.models.server_config_open_telemetry_metrics import ServerConfigOpenTelemetryMetrics from peertube.models.server_config_plugin import ServerConfigPlugin from peertube.models.server_config_search import ServerConfigSearch from peertube.models.server_config_search_remote_uri import ServerConfigSearchRemoteUri from peertube.models.server_config_signup import ServerConfigSignup from peertube.models.server_config_transcoding import ServerConfigTranscoding from peertube.models.server_config_trending import ServerConfigTrending from peertube.models.server_config_trending_videos import ServerConfigTrendingVideos from peertube.models.server_config_user import ServerConfigUser from peertube.models.server_config_video import ServerConfigVideo from peertube.models.server_config_video_caption import ServerConfigVideoCaption from peertube.models.server_config_video_caption_file import ServerConfigVideoCaptionFile from peertube.models.server_config_video_file import ServerConfigVideoFile from peertube.models.server_config_video_image import ServerConfigVideoImage from peertube.models.server_config_views import ServerConfigViews from peertube.models.server_config_views_views import ServerConfigViewsViews from peertube.models.server_config_views_views_watching_interval import ServerConfigViewsViewsWatchingInterval from peertube.models.server_stats import ServerStats from peertube.models.server_stats_videos_redundancy_inner import ServerStatsVideosRedundancyInner from peertube.models.storyboard import Storyboard from peertube.models.uninstall_plugin_request import UninstallPluginRequest from peertube.models.update_me import UpdateMe from peertube.models.update_user import UpdateUser from peertube.models.user import User from peertube.models.user_admin_flags import UserAdminFlags from peertube.models.user_registration import UserRegistration from peertube.models.user_registration_accept_or_reject import UserRegistrationAcceptOrReject from peertube.models.user_registration_request import UserRegistrationRequest from peertube.models.user_registration_state import UserRegistrationState from peertube.models.user_registration_user import UserRegistrationUser from peertube.models.user_role import UserRole from peertube.models.user_viewing_video import UserViewingVideo from peertube.models.user_with_stats import UserWithStats from peertube.models.vod_audio_merge_transcoding import VODAudioMergeTranscoding from peertube.models.vod_audio_merge_transcoding1 import VODAudioMergeTranscoding1 from peertube.models.vod_audio_merge_transcoding1_input import VODAudioMergeTranscoding1Input from peertube.models.vodhls_transcoding import VODHLSTranscoding from peertube.models.vodhls_transcoding1 import VODHLSTranscoding1 from peertube.models.vod_web_video_transcoding import VODWebVideoTranscoding from peertube.models.vod_web_video_transcoding1 import VODWebVideoTranscoding1 from peertube.models.vod_web_video_transcoding1_input import VODWebVideoTranscoding1Input from peertube.models.vod_web_video_transcoding1_output import VODWebVideoTranscoding1Output from peertube.models.verify_registration_email_request import VerifyRegistrationEmailRequest from peertube.models.verify_user_request import VerifyUserRequest from peertube.models.video import Video from peertube.models.video_blacklist import VideoBlacklist from peertube.models.video_caption import VideoCaption from peertube.models.video_channel import VideoChannel from peertube.models.video_channel_all_of_owner_account import VideoChannelAllOfOwnerAccount from peertube.models.video_channel_create import VideoChannelCreate from peertube.models.video_channel_edit import VideoChannelEdit from peertube.models.video_channel_list import VideoChannelList from peertube.models.video_channel_list_data_inner import VideoChannelListDataInner from peertube.models.video_channel_summary import VideoChannelSummary from peertube.models.video_channel_sync import VideoChannelSync from peertube.models.video_channel_sync_create import VideoChannelSyncCreate from peertube.models.video_channel_sync_list import VideoChannelSyncList from peertube.models.video_channel_sync_state import VideoChannelSyncState from peertube.models.video_channel_update import VideoChannelUpdate from peertube.models.video_chapters import VideoChapters from peertube.models.video_comment import VideoComment from peertube.models.video_comment_thread_tree import VideoCommentThreadTree from peertube.models.video_comments_for_xml_inner import VideoCommentsForXMLInner from peertube.models.video_constant_number_category import VideoConstantNumberCategory from peertube.models.video_constant_number_licence import VideoConstantNumberLicence from peertube.models.video_constant_string_language import VideoConstantStringLanguage from peertube.models.video_details import VideoDetails from peertube.models.video_file import VideoFile from peertube.models.video_import import VideoImport from peertube.models.video_import_state_constant import VideoImportStateConstant from peertube.models.video_imports_list import VideoImportsList from peertube.models.video_info import VideoInfo from peertube.models.video_list_response import VideoListResponse from peertube.models.video_password import VideoPassword from peertube.models.video_password_list import VideoPasswordList from peertube.models.video_playlist import VideoPlaylist from peertube.models.video_playlist_privacy_constant import VideoPlaylistPrivacyConstant from peertube.models.video_playlist_privacy_set import VideoPlaylistPrivacySet from peertube.models.video_playlist_type_constant import VideoPlaylistTypeConstant from peertube.models.video_playlist_type_set import VideoPlaylistTypeSet from peertube.models.video_privacy_constant import VideoPrivacyConstant from peertube.models.video_privacy_set import VideoPrivacySet from peertube.models.video_rating import VideoRating from peertube.models.video_redundancy import VideoRedundancy from peertube.models.video_redundancy_redundancies import VideoRedundancyRedundancies from peertube.models.video_replace_source_request_resumable import VideoReplaceSourceRequestResumable from peertube.models.video_resolution_constant import VideoResolutionConstant from peertube.models.video_scheduled_update import VideoScheduledUpdate from peertube.models.video_source import VideoSource from peertube.models.video_state_constant import VideoStateConstant from peertube.models.video_stats_overall import VideoStatsOverall from peertube.models.video_stats_overall_countries_inner import VideoStatsOverallCountriesInner from peertube.models.video_stats_retention import VideoStatsRetention from peertube.models.video_stats_retention_data_inner import VideoStatsRetentionDataInner from peertube.models.video_stats_timeserie import VideoStatsTimeserie from peertube.models.video_stats_timeserie_data_inner import VideoStatsTimeserieDataInner from peertube.models.video_streaming_playlists import VideoStreamingPlaylists from peertube.models.video_streaming_playlists_hls import VideoStreamingPlaylistsHLS from peertube.models.video_streaming_playlists_hls_redundancies_inner import VideoStreamingPlaylistsHLSRedundanciesInner from peertube.models.video_token_response import VideoTokenResponse from peertube.models.video_token_response_files import VideoTokenResponseFiles from peertube.models.video_upload_request_common import VideoUploadRequestCommon from peertube.models.video_upload_request_resumable import VideoUploadRequestResumable from peertube.models.video_upload_response import VideoUploadResponse from peertube.models.video_upload_response_video import VideoUploadResponseVideo from peertube.models.video_user_history import VideoUserHistory from peertube.models.videos_for_xml_inner import VideosForXMLInner from peertube.models.videos_for_xml_inner_enclosure import VideosForXMLInnerEnclosure from peertube.models.videos_for_xml_inner_media_community import VideosForXMLInnerMediaCommunity from peertube.models.videos_for_xml_inner_media_community_media_statistics import VideosForXMLInnerMediaCommunityMediaStatistics from peertube.models.videos_for_xml_inner_media_embed import VideosForXMLInnerMediaEmbed from peertube.models.videos_for_xml_inner_media_group_inner import VideosForXMLInnerMediaGroupInner from peertube.models.videos_for_xml_inner_media_player import VideosForXMLInnerMediaPlayer from peertube.models.videos_for_xml_inner_media_thumbnail import VideosForXMLInnerMediaThumbnail