# peertube.VideoUploadApi
All URIs are relative to *https://peertube2.cpy.re*
Method | HTTP request | Description
------------- | ------------- | -------------
[**import_video**](VideoUploadApi.md#import_video) | **POST** /api/v1/videos/imports | Import a video
[**replace_video_source_resumable**](VideoUploadApi.md#replace_video_source_resumable) | **PUT** /api/v1/videos/{id}/source/replace-resumable | Send chunk for the resumable replacement of a video
[**replace_video_source_resumable_cancel**](VideoUploadApi.md#replace_video_source_resumable_cancel) | **DELETE** /api/v1/videos/{id}/source/replace-resumable | Cancel the resumable replacement of a video
[**replace_video_source_resumable_init**](VideoUploadApi.md#replace_video_source_resumable_init) | **POST** /api/v1/videos/{id}/source/replace-resumable | Initialize the resumable replacement of a video
[**upload_legacy**](VideoUploadApi.md#upload_legacy) | **POST** /api/v1/videos/upload | Upload a video
[**upload_resumable**](VideoUploadApi.md#upload_resumable) | **PUT** /api/v1/videos/upload-resumable | Send chunk for the resumable upload of a video
[**upload_resumable_cancel**](VideoUploadApi.md#upload_resumable_cancel) | **DELETE** /api/v1/videos/upload-resumable | Cancel the resumable upload of a video, deleting any data uploaded so far
[**upload_resumable_init**](VideoUploadApi.md#upload_resumable_init) | **POST** /api/v1/videos/upload-resumable | Initialize the resumable upload of a video
# **import_video**
> VideoUploadResponse import_video(name, channel_id, privacy=privacy, category=category, licence=licence, language=language, description=description, wait_transcoding=wait_transcoding, support=support, nsfw=nsfw, tags=tags, comments_enabled=comments_enabled, download_enabled=download_enabled, originally_published_at=originally_published_at, schedule_update=schedule_update, thumbnailfile=thumbnailfile, previewfile=previewfile, video_passwords=video_passwords)
Import a video
Import a torrent or magnetURI or HTTP resource (if enabled by the instance administrator)
### Example
* OAuth Authentication (OAuth2):
```python
import peertube
from peertube.models.video_privacy_set import VideoPrivacySet
from peertube.models.video_scheduled_update import VideoScheduledUpdate
from peertube.models.video_upload_response import VideoUploadResponse
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.VideoUploadApi(api_client)
name = 'name_example' # str | Video name
channel_id = 56 # int | Channel id that will contain this video
privacy = peertube.VideoPrivacySet() # VideoPrivacySet | (optional)
category = 56 # int | category id of the video (see [/videos/categories](#operation/getCategories)) (optional)
licence = 56 # int | licence id of the video (see [/videos/licences](#operation/getLicences)) (optional)
language = 'language_example' # str | language id of the video (see [/videos/languages](#operation/getLanguages)) (optional)
description = 'description_example' # str | Video description (optional)
wait_transcoding = True # bool | Whether or not we wait transcoding before publish the video (optional)
support = 'support_example' # str | A text tell the audience how to support the video creator (optional)
nsfw = True # bool | Whether or not this video contains sensitive content (optional)
tags = ['tags_example'] # List[str] | Video tags (maximum 5 tags each between 2 and 30 characters) (optional)
comments_enabled = True # bool | Enable or disable comments for this video (optional)
download_enabled = True # bool | Enable or disable downloading for this video (optional)
originally_published_at = '2013-10-20T19:20:30+01:00' # datetime | Date when the content was originally published (optional)
schedule_update = peertube.VideoScheduledUpdate() # VideoScheduledUpdate | (optional)
thumbnailfile = None # bytearray | Video thumbnail file (optional)
previewfile = None # bytearray | Video preview file (optional)
video_passwords = ['video_passwords_example'] # List[str] | (optional)
try:
# Import a video
api_response = api_instance.import_video(name, channel_id, privacy=privacy, category=category, licence=licence, language=language, description=description, wait_transcoding=wait_transcoding, support=support, nsfw=nsfw, tags=tags, comments_enabled=comments_enabled, download_enabled=download_enabled, originally_published_at=originally_published_at, schedule_update=schedule_update, thumbnailfile=thumbnailfile, previewfile=previewfile, video_passwords=video_passwords)
print("The response of VideoUploadApi->import_video:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling VideoUploadApi->import_video: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**name** | **str**| Video name |
**channel_id** | **int**| Channel id that will contain this video |
**privacy** | [**VideoPrivacySet**](VideoPrivacySet.md)| | [optional]
**category** | **int**| category id of the video (see [/videos/categories](#operation/getCategories)) | [optional]
**licence** | **int**| licence id of the video (see [/videos/licences](#operation/getLicences)) | [optional]
**language** | **str**| language id of the video (see [/videos/languages](#operation/getLanguages)) | [optional]
**description** | **str**| Video description | [optional]
**wait_transcoding** | **bool**| Whether or not we wait transcoding before publish the video | [optional]
**support** | **str**| A text tell the audience how to support the video creator | [optional]
**nsfw** | **bool**| Whether or not this video contains sensitive content | [optional]
**tags** | [**List[str]**](str.md)| Video tags (maximum 5 tags each between 2 and 30 characters) | [optional]
**comments_enabled** | **bool**| Enable or disable comments for this video | [optional]
**download_enabled** | **bool**| Enable or disable downloading for this video | [optional]
**originally_published_at** | **datetime**| Date when the content was originally published | [optional]
**schedule_update** | [**VideoScheduledUpdate**](VideoScheduledUpdate.md)| | [optional]
**thumbnailfile** | **bytearray**| Video thumbnail file | [optional]
**previewfile** | **bytearray**| Video preview file | [optional]
**video_passwords** | [**List[str]**](str.md)| | [optional]
### Return type
[**VideoUploadResponse**](VideoUploadResponse.md)
### Authorization
[OAuth2](../README.md#OAuth2)
### HTTP request headers
- **Content-Type**: multipart/form-data
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | successful operation | - |
**400** | `magnetUri` or `targetUrl` or a torrent file missing | - |
**403** | video didn't pass pre-import filter | - |
**409** | HTTP or Torrent/magnetURI import not enabled | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **replace_video_source_resumable**
> replace_video_source_resumable(upload_id, content_range, content_length, body=body)
Send chunk for the resumable replacement of a video
**PeerTube >= 6.0** Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to continue, pause or resume the replacement of a video
### Example
* OAuth Authentication (OAuth2):
```python
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.VideoUploadApi(api_client)
upload_id = 'upload_id_example' # str | Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload.
content_range = 'bytes 0-262143/2469036' # str | Specifies the bytes in the file that the request is uploading. For example, a value of `bytes 0-262143/1000000` shows that the request is sending the first 262144 bytes (256 x 1024) in a 2,469,036 byte file.
content_length = 262144 # float | Size of the chunk that the request is sending. Remember that larger chunks are more efficient. PeerTube's web client uses chunks varying from 1048576 bytes (~1MB) and increases or reduces size depending on connection health.
body = None # bytearray | (optional)
try:
# Send chunk for the resumable replacement of a video
api_instance.replace_video_source_resumable(upload_id, content_range, content_length, body=body)
except Exception as e:
print("Exception when calling VideoUploadApi->replace_video_source_resumable: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**upload_id** | **str**| Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. |
**content_range** | **str**| Specifies the bytes in the file that the request is uploading. For example, a value of `bytes 0-262143/1000000` shows that the request is sending the first 262144 bytes (256 x 1024) in a 2,469,036 byte file. |
**content_length** | **float**| Size of the chunk that the request is sending. Remember that larger chunks are more efficient. PeerTube's web client uses chunks varying from 1048576 bytes (~1MB) and increases or reduces size depending on connection health. |
**body** | **bytearray**| | [optional]
### Return type
void (empty response body)
### Authorization
[OAuth2](../README.md#OAuth2)
### HTTP request headers
- **Content-Type**: application/octet-stream
- **Accept**: Not defined
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | last chunk received: successful operation | - |
**308** | resume incomplete | * Range -
* Content-Length -
|
**403** | video didn't pass file replacement filter | - |
**404** | replace upload not found | - |
**409** | chunk doesn't match range | - |
**422** | video unreadable | - |
**429** | too many concurrent requests | - |
**503** | upload is already being processed | * Retry-After -
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **replace_video_source_resumable_cancel**
> replace_video_source_resumable_cancel(upload_id, content_length)
Cancel the resumable replacement of a video
**PeerTube >= 6.0** Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to cancel the replacement of a video
### Example
* OAuth Authentication (OAuth2):
```python
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.VideoUploadApi(api_client)
upload_id = 'upload_id_example' # str | Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload.
content_length = 0 # float |
try:
# Cancel the resumable replacement of a video
api_instance.replace_video_source_resumable_cancel(upload_id, content_length)
except Exception as e:
print("Exception when calling VideoUploadApi->replace_video_source_resumable_cancel: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**upload_id** | **str**| Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. |
**content_length** | **float**| |
### Return type
void (empty response body)
### Authorization
[OAuth2](../README.md#OAuth2)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | source file replacement cancelled | * Content-Length -
|
**404** | source file replacement not found | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **replace_video_source_resumable_init**
> replace_video_source_resumable_init(x_upload_content_length, x_upload_content_type, video_replace_source_request_resumable=video_replace_source_request_resumable)
Initialize the resumable replacement of a video
**PeerTube >= 6.0** Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to initialize the replacement of a video
### Example
* OAuth Authentication (OAuth2):
```python
import peertube
from peertube.models.video_replace_source_request_resumable import VideoReplaceSourceRequestResumable
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.VideoUploadApi(api_client)
x_upload_content_length = 2469036 # float | Number of bytes that will be uploaded in subsequent requests. Set this value to the size of the file you are uploading.
x_upload_content_type = 'video/mp4' # str | MIME type of the file that you are uploading. Depending on your instance settings, acceptable values might vary.
video_replace_source_request_resumable = peertube.VideoReplaceSourceRequestResumable() # VideoReplaceSourceRequestResumable | (optional)
try:
# Initialize the resumable replacement of a video
api_instance.replace_video_source_resumable_init(x_upload_content_length, x_upload_content_type, video_replace_source_request_resumable=video_replace_source_request_resumable)
except Exception as e:
print("Exception when calling VideoUploadApi->replace_video_source_resumable_init: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**x_upload_content_length** | **float**| Number of bytes that will be uploaded in subsequent requests. Set this value to the size of the file you are uploading. |
**x_upload_content_type** | **str**| MIME type of the file that you are uploading. Depending on your instance settings, acceptable values might vary. |
**video_replace_source_request_resumable** | [**VideoReplaceSourceRequestResumable**](VideoReplaceSourceRequestResumable.md)| | [optional]
### Return type
void (empty response body)
### Authorization
[OAuth2](../README.md#OAuth2)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: Not defined
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | file already exists, send a [`resume`](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) request instead | - |
**201** | created | * Location -
* Content-Length -
|
**413** | Disambiguate via `type`: - `max_file_size_reached` for the absolute file size limit - `quota_reached` for quota limits whether daily or global | - |
**415** | video type unsupported | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **upload_legacy**
> VideoUploadResponse upload_legacy(name, videofile, channel_id=channel_id, privacy=privacy, category=category, licence=licence, language=language, description=description, wait_transcoding=wait_transcoding, support=support, nsfw=nsfw, tags=tags, comments_enabled=comments_enabled, download_enabled=download_enabled, originally_published_at=originally_published_at, schedule_update=schedule_update, thumbnailfile=thumbnailfile, previewfile=previewfile, video_passwords=video_passwords)
Upload a video
Uses a single request to upload a video.
### Example
* OAuth Authentication (OAuth2):
```python
import peertube
from peertube.models.video_privacy_set import VideoPrivacySet
from peertube.models.video_scheduled_update import VideoScheduledUpdate
from peertube.models.video_upload_response import VideoUploadResponse
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.VideoUploadApi(api_client)
name = 'name_example' # str | Video name
videofile = None # bytearray | Video file
channel_id = 56 # int | Channel id that will contain this video (optional)
privacy = peertube.VideoPrivacySet() # VideoPrivacySet | (optional)
category = 56 # int | category id of the video (see [/videos/categories](#operation/getCategories)) (optional)
licence = 56 # int | licence id of the video (see [/videos/licences](#operation/getLicences)) (optional)
language = 'language_example' # str | language id of the video (see [/videos/languages](#operation/getLanguages)) (optional)
description = 'description_example' # str | Video description (optional)
wait_transcoding = True # bool | Whether or not we wait transcoding before publish the video (optional)
support = 'support_example' # str | A text tell the audience how to support the video creator (optional)
nsfw = True # bool | Whether or not this video contains sensitive content (optional)
tags = ['tags_example'] # List[str] | Video tags (maximum 5 tags each between 2 and 30 characters) (optional)
comments_enabled = True # bool | Enable or disable comments for this video (optional)
download_enabled = True # bool | Enable or disable downloading for this video (optional)
originally_published_at = '2013-10-20T19:20:30+01:00' # datetime | Date when the content was originally published (optional)
schedule_update = peertube.VideoScheduledUpdate() # VideoScheduledUpdate | (optional)
thumbnailfile = None # bytearray | Video thumbnail file (optional)
previewfile = None # bytearray | Video preview file (optional)
video_passwords = ['video_passwords_example'] # List[str] | (optional)
try:
# Upload a video
api_response = api_instance.upload_legacy(name, videofile, channel_id=channel_id, privacy=privacy, category=category, licence=licence, language=language, description=description, wait_transcoding=wait_transcoding, support=support, nsfw=nsfw, tags=tags, comments_enabled=comments_enabled, download_enabled=download_enabled, originally_published_at=originally_published_at, schedule_update=schedule_update, thumbnailfile=thumbnailfile, previewfile=previewfile, video_passwords=video_passwords)
print("The response of VideoUploadApi->upload_legacy:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling VideoUploadApi->upload_legacy: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**name** | **str**| Video name |
**videofile** | **bytearray**| Video file |
**channel_id** | **int**| Channel id that will contain this video | [optional]
**privacy** | [**VideoPrivacySet**](VideoPrivacySet.md)| | [optional]
**category** | **int**| category id of the video (see [/videos/categories](#operation/getCategories)) | [optional]
**licence** | **int**| licence id of the video (see [/videos/licences](#operation/getLicences)) | [optional]
**language** | **str**| language id of the video (see [/videos/languages](#operation/getLanguages)) | [optional]
**description** | **str**| Video description | [optional]
**wait_transcoding** | **bool**| Whether or not we wait transcoding before publish the video | [optional]
**support** | **str**| A text tell the audience how to support the video creator | [optional]
**nsfw** | **bool**| Whether or not this video contains sensitive content | [optional]
**tags** | [**List[str]**](str.md)| Video tags (maximum 5 tags each between 2 and 30 characters) | [optional]
**comments_enabled** | **bool**| Enable or disable comments for this video | [optional]
**download_enabled** | **bool**| Enable or disable downloading for this video | [optional]
**originally_published_at** | **datetime**| Date when the content was originally published | [optional]
**schedule_update** | [**VideoScheduledUpdate**](VideoScheduledUpdate.md)| | [optional]
**thumbnailfile** | **bytearray**| Video thumbnail file | [optional]
**previewfile** | **bytearray**| Video preview file | [optional]
**video_passwords** | [**List[str]**](str.md)| | [optional]
### Return type
[**VideoUploadResponse**](VideoUploadResponse.md)
### Authorization
[OAuth2](../README.md#OAuth2)
### HTTP request headers
- **Content-Type**: multipart/form-data
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | successful operation | - |
**403** | video didn't pass upload filter | - |
**408** | upload has timed out | - |
**413** | If the response has no body, it means the reverse-proxy didn't let it through. Otherwise disambiguate via `type`: - `quota_reached` for quota limits whether daily or global | * X-File-Maximum-Size - Maximum file size for the banner
|
**415** | video type unsupported | - |
**422** | video unreadable | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **upload_resumable**
> VideoUploadResponse upload_resumable(upload_id, content_range, content_length, body=body)
Send chunk for the resumable upload of a video
Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to continue, pause or resume the upload of a video
### Example
* OAuth Authentication (OAuth2):
```python
import peertube
from peertube.models.video_upload_response import VideoUploadResponse
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.VideoUploadApi(api_client)
upload_id = 'upload_id_example' # str | Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload.
content_range = 'bytes 0-262143/2469036' # str | Specifies the bytes in the file that the request is uploading. For example, a value of `bytes 0-262143/1000000` shows that the request is sending the first 262144 bytes (256 x 1024) in a 2,469,036 byte file.
content_length = 262144 # float | Size of the chunk that the request is sending. Remember that larger chunks are more efficient. PeerTube's web client uses chunks varying from 1048576 bytes (~1MB) and increases or reduces size depending on connection health.
body = None # bytearray | (optional)
try:
# Send chunk for the resumable upload of a video
api_response = api_instance.upload_resumable(upload_id, content_range, content_length, body=body)
print("The response of VideoUploadApi->upload_resumable:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling VideoUploadApi->upload_resumable: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**upload_id** | **str**| Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. |
**content_range** | **str**| Specifies the bytes in the file that the request is uploading. For example, a value of `bytes 0-262143/1000000` shows that the request is sending the first 262144 bytes (256 x 1024) in a 2,469,036 byte file. |
**content_length** | **float**| Size of the chunk that the request is sending. Remember that larger chunks are more efficient. PeerTube's web client uses chunks varying from 1048576 bytes (~1MB) and increases or reduces size depending on connection health. |
**body** | **bytearray**| | [optional]
### Return type
[**VideoUploadResponse**](VideoUploadResponse.md)
### Authorization
[OAuth2](../README.md#OAuth2)
### HTTP request headers
- **Content-Type**: application/octet-stream
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | last chunk received | * Content-Length -
|
**308** | resume incomplete | * Range -
* Content-Length -
|
**403** | video didn't pass upload filter | - |
**404** | upload not found | - |
**409** | chunk doesn't match range | - |
**422** | video unreadable | - |
**429** | too many concurrent requests | - |
**503** | upload is already being processed | * Retry-After -
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **upload_resumable_cancel**
> upload_resumable_cancel(upload_id, content_length)
Cancel the resumable upload of a video, deleting any data uploaded so far
Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to cancel the upload of a video
### Example
* OAuth Authentication (OAuth2):
```python
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.VideoUploadApi(api_client)
upload_id = 'upload_id_example' # str | Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload.
content_length = 0 # float |
try:
# Cancel the resumable upload of a video, deleting any data uploaded so far
api_instance.upload_resumable_cancel(upload_id, content_length)
except Exception as e:
print("Exception when calling VideoUploadApi->upload_resumable_cancel: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**upload_id** | **str**| Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. |
**content_length** | **float**| |
### Return type
void (empty response body)
### Authorization
[OAuth2](../README.md#OAuth2)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | upload cancelled | * Content-Length -
|
**404** | upload not found | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **upload_resumable_init**
> upload_resumable_init(x_upload_content_length, x_upload_content_type, video_upload_request_resumable=video_upload_request_resumable)
Initialize the resumable upload of a video
Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to initialize the upload of a video
### Example
* OAuth Authentication (OAuth2):
```python
import peertube
from peertube.models.video_upload_request_resumable import VideoUploadRequestResumable
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.VideoUploadApi(api_client)
x_upload_content_length = 2469036 # float | Number of bytes that will be uploaded in subsequent requests. Set this value to the size of the file you are uploading.
x_upload_content_type = 'video/mp4' # str | MIME type of the file that you are uploading. Depending on your instance settings, acceptable values might vary.
video_upload_request_resumable = peertube.VideoUploadRequestResumable() # VideoUploadRequestResumable | (optional)
try:
# Initialize the resumable upload of a video
api_instance.upload_resumable_init(x_upload_content_length, x_upload_content_type, video_upload_request_resumable=video_upload_request_resumable)
except Exception as e:
print("Exception when calling VideoUploadApi->upload_resumable_init: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**x_upload_content_length** | **float**| Number of bytes that will be uploaded in subsequent requests. Set this value to the size of the file you are uploading. |
**x_upload_content_type** | **str**| MIME type of the file that you are uploading. Depending on your instance settings, acceptable values might vary. |
**video_upload_request_resumable** | [**VideoUploadRequestResumable**](VideoUploadRequestResumable.md)| | [optional]
### Return type
void (empty response body)
### Authorization
[OAuth2](../README.md#OAuth2)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: Not defined
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | file already exists, send a [`resume`](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) request instead | - |
**201** | created | * Location -
* Content-Length -
|
**413** | Disambiguate via `type`: - `max_file_size_reached` for the absolute file size limit - `quota_reached` for quota limits whether daily or global | - |
**415** | video type unsupported | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)