Skip to content
Hoody.com

Object storage backends let you connect Hoody to remote cloud and on-premise storage providers. Once connected, a backend can be mounted to a path inside your container so its objects appear as files. Use the endpoints on this page to register a new backend with the credentials and settings required to reach each provider. Each backend has its own dedicated endpoint; successful connections return 201 Created and credential or configuration failures return 400 Bad Request.

All endpoints on this page share the same base URL pattern: https://{projectId}-{containerId}-files-1.{server}.containers.hoody.icu.

Amazon S3 compliant storage providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Outscale, Petabox, RackCorp, Hoody-VFS, Scaleway, SeaweedFS, Selectel, StackPath, Storj, Synology, TencentCOS, Wasabi, Qiniu and others.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
access_key_idstringNo""AWS Access Key ID. Leave blank for anonymous access or runtime credentials.
aclstringNo""Canned ACL used when creating buckets and storing or copying objects.
bucket_aclstringNo""Canned ACL used when creating buckets.
chunk_sizestringNo"5242880"Chunk size to use for uploading.
copy_cutoffstringNo"4999610368"Cutoff for switching to multipart copy.
decompressbooleanNofalseIf set this will decompress gzip encoded objects.
descriptionstringNo""Description of the remote.
directory_bucketbooleanNofalseSet to use AWS Directory Buckets.
directory_markersbooleanNofalseUpload an empty object with a trailing slash when a new directory is created.
disable_checksumbooleanNofalseDon’t store MD5 checksum with object metadata.
disable_http2booleanNofalseDisable usage of http2 for S3 backends.
download_urlstringNo""Custom endpoint for downloads.
encodingstringNo"50331650"The encoding for the backend.
endpointstringYes""Endpoint for S3 API. Required when using an S3 clone.
env_authbooleanNofalseGet AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
force_path_stylebooleanNotrueIf true use path style access if false use virtual hosted style.
leave_parts_on_errorbooleanNofalseIf true avoid calling abort upload on a failure.
list_chunkintegerNo1000Size of listing chunk (response list for each ListObject S3 request).
list_url_encodestringNo{"Valid":false,"Value":false}Whether to url encode listings.
list_versionintegerNo0Version of ListObjects to use: 1, 2 or 0 for auto.
location_constraintstringNo""Location constraint — must be set to match the Region.
max_upload_partsintegerNo10000Maximum number of parts in a multipart upload.
memory_pool_flush_timeintegerNo60How often internal memory buffer pools will be flushed. (no longer used) (in seconds)
memory_pool_use_mmapbooleanNofalseWhether to use mmap buffers in internal memory pool. (no longer used)
might_gzipstringNo{"Valid":false,"Value":false}Set this if the backend might gzip objects.
no_check_bucketbooleanNofalseIf set, don’t attempt to check the bucket exists or create it.
no_headbooleanNofalseIf set, don’t HEAD uploaded objects to check integrity.
no_head_objectbooleanNofalseIf set, do not do HEAD before GET when getting objects.
no_system_metadatabooleanNofalseSuppress setting and reading of system metadata.
profilestringNo""Profile to use in the shared credentials file.
providerstringNo""Choose your S3 provider.
regionstringNo""Region to connect to.
requester_paysbooleanNofalseEnables requester pays option when interacting with S3 bucket.
sdk_log_modestringNo"0"Set to debug the SDK.
secret_access_keystringNo""AWS Secret Access Key (password). Leave blank for anonymous access or runtime credentials.
server_side_encryptionstringNo""The server-side encryption algorithm used when storing this object in S3.
session_tokenstringNo""An AWS session token.
shared_credentials_filestringNo""Path to the shared credentials file.
sse_customer_algorithmstringNo""If using SSE-C, the server-side encryption algorithm used when storing this object in S3.
sse_customer_keystringNo""To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data.
sse_customer_key_base64stringNo""If using SSE-C you must provide the secret encryption key encoded in base64 format.
sse_customer_key_md5stringNo""If using SSE-C you may provide the secret encryption key MD5 checksum (optional).
sse_kms_key_idstringNo""If using KMS ID you must provide the ARN of Key.
storage_classstringNo""The storage class to use when storing new objects in Qiniu.
sts_endpointstringNo""Endpoint for STS (deprecated).
upload_concurrencyintegerNo4Concurrency for multipart uploads and copies.
upload_cutoffstringNo"209715200"Cutoff for switching to chunked upload.
use_accelerate_endpointbooleanNofalseIf true use the AWS S3 accelerated endpoint.
use_accept_encoding_gzipstringNo{"Valid":false,"Value":false}Whether to send Accept-Encoding: gzip header.
use_already_existsstringNo{"Valid":false,"Value":false}Set if Hoody should report BucketAlreadyExists errors on bucket creation.
use_dual_stackbooleanNofalseIf true use AWS S3 dual-stack endpoint (IPv6 support).
use_multipart_etagstringNo{"Valid":false,"Value":false}Whether to use ETag in multipart uploads for verification.
use_multipart_uploadsstringNo{"Valid":false,"Value":false}Set if Hoody should use multipart uploads.
use_presigned_requestbooleanNofalseWhether to use a presigned request or PutObject for single part uploads.
use_unsigned_payloadstringNo{"Valid":false,"Value":false}Whether to use an unsigned payload in PutObject.
v2_authbooleanNofalseIf true use v2 authentication.
version_atstringNo"0001-01-01T00:00:00Z"Show file versions as they were at the specified time.
version_deletedbooleanNofalseShow deleted file markers when using versions.
versionsbooleanNofalseInclude old versions in directory listings.
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZABCDEFG",
"backend_type": "s3",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectS3({
endpoint: "s3.eu-west-1.amazonaws.com",
provider: "AWS",
access_key_id: "AKIAIOSFODNN7EXAMPLE",
secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
region: "eu-west-1"
});

Microsoft Azure Blob Storage.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
access_tierstringNo""Access tier of blob: hot, cool, cold or archive.
accountstringNo""Azure Storage Account Name.
archive_tier_deletebooleanNofalseDelete archive tier blobs before overwriting.
chunk_sizestringNo"4194304"Upload chunk size.
client_certificate_passwordstringNo""Password for the certificate file (optional).
client_certificate_pathstringNo""Path to a PEM or PKCS12 certificate file including the private key.
client_idstringNo""The ID of the client in use.
client_secretstringNo""One of the service principal’s client secrets.
client_send_certificate_chainbooleanNofalseSend the certificate chain when using certificate auth.
delete_snapshotsstringNo""Set to specify how to deal with snapshots on blob deletion. Allowed values: "", include, only.
descriptionstringNo""Description of the remote.
directory_markersbooleanNofalseUpload an empty object with a trailing slash when a new directory is created.
disable_checksumbooleanNofalseDon’t store MD5 checksum with object metadata.
disable_instance_discoverybooleanNofalseSkip requesting Microsoft Entra instance metadata.
encodingstringNo"21078018"The encoding for the backend.
endpointstringNo""Endpoint for the service. Leave blank normally.
env_authbooleanNofalseRead credentials from runtime (environment variables, CLI or MSI).
keystringNo""Storage Account Shared Key.
list_chunkintegerNo5000Size of blob list.
memory_pool_flush_timeintegerNo60How often internal memory buffer pools will be flushed. (no longer used) (in seconds)
memory_pool_use_mmapbooleanNofalseWhether to use mmap buffers in internal memory pool. (no longer used)
msi_client_idstringNo""Object ID of the user-assigned MSI to use, if any.
msi_mi_res_idstringNo""Azure resource ID of the user-assigned MSI to use, if any.
msi_object_idstringNo""Object ID of the user-assigned MSI to use, if any.
no_check_containerbooleanNofalseIf set, don’t attempt to check the container exists or create it.
no_head_objectbooleanNofalseIf set, do not do HEAD before GET when getting objects.
passwordstringNo""The user’s password.
public_accessstringNo""Public access level of a container: blob or container. Allowed values: "", blob, container.
sas_urlstringNo""SAS URL for container level access only.
service_principal_filestringNo""Path to file containing credentials for use with a service principal.
tenantstringNo""ID of the service principal’s tenant. Also called its directory ID.
upload_concurrencyintegerNo16Concurrency for multipart uploads.
upload_cutoffstringNo""Cutoff for switching to chunked upload (at most 256 MiB) (deprecated).
use_azbooleanNofalseUse Azure CLI tool az for authentication.
use_emulatorbooleanNofalseUses local storage emulator if provided as ‘true’.
use_msibooleanNofalseUse a managed service identity to authenticate (only works in Azure).
usernamestringNo""User name (usually an email address).
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZBLOB123",
"backend_type": "azureblob",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectAzureblob({
account: "myazurestorageaccount",
key: "base64EncodedStorageKey=="
});

Microsoft Azure Files.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
accountstringNo""Azure Storage Account Name.
chunk_sizestringNo"4194304"Upload chunk size.
client_certificate_passwordstringNo""Password for the certificate file (optional).
client_certificate_pathstringNo""Path to a PEM or PKCS12 certificate file including the private key.
client_idstringNo""The ID of the client in use.
client_secretstringNo""One of the service principal’s client secrets.
client_send_certificate_chainbooleanNofalseSend the certificate chain when using certificate auth.
connection_stringstringNo""Azure Files Connection String.
descriptionstringNo""Description of the remote.
encodingstringNo"54634382"The encoding for the backend.
endpointstringNo""Endpoint for the service. Leave blank normally.
env_authbooleanNofalseRead credentials from runtime (environment variables, CLI or MSI).
keystringNo""Storage Account Shared Key.
max_stream_sizestringNo"10737418240"Max size for streamed files.
msi_client_idstringNo""Object ID of the user-assigned MSI to use, if any.
msi_mi_res_idstringNo""Azure resource ID of the user-assigned MSI to use, if any.
msi_object_idstringNo""Object ID of the user-assigned MSI to use, if any.
passwordstringNo""The user’s password.
sas_urlstringNo""SAS URL.
service_principal_filestringNo""Path to file containing credentials for use with a service principal.
share_namestringNo""Azure Files Share Name. This is required and is the name of the share to access.
tenantstringNo""ID of the service principal’s tenant. Also called its directory ID.
upload_concurrencyintegerNo16Concurrency for multipart uploads.
use_msibooleanNofalseUse a managed service identity to authenticate (only works in Azure).
usernamestringNo""User name (usually an email address).
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZFILES123",
"backend_type": "azurefiles",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectAzurefiles({
account: "myazurestorageaccount",
share_name: "myshare",
key: "base64EncodedStorageKey=="
});

POST /api/v1/backends/google-cloud-storage

Section titled “POST /api/v1/backends/google-cloud-storage”

Google Cloud Storage (this is not Google Drive).

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
access_tokenstringNo""Short-lived access token.
anonymousbooleanNofalseAccess public buckets and objects without credentials.
auth_urlstringNo""Auth server URL.
bucket_aclstringNo""Access Control List for new buckets. Allowed values: authenticatedRead, private, projectPrivate, publicRead, publicReadWrite.
bucket_policy_onlybooleanNofalseAccess checks should use bucket-level IAM policies.
client_credentialsbooleanNofalseUse client credentials OAuth flow.
client_idstringNo""OAuth Client Id.
client_secretstringNo""OAuth Client Secret.
decompressbooleanNofalseIf set this will decompress gzip encoded objects.
descriptionstringNo""Description of the remote.
directory_markersbooleanNofalseUpload an empty object with a trailing slash when a new directory is created.
encodingstringNo"50348034"The encoding for the backend.
endpointstringNo""Endpoint for the service. Leave blank normally.
env_authbooleanNofalseGet GCP IAM credentials from runtime.
locationstringNo""Location for the newly created buckets.
no_check_bucketbooleanNofalseIf set, don’t attempt to check the bucket exists or create it.
object_aclstringNo""Access Control List for new objects.
project_numberstringNo""Project number.
service_account_credentialsstringNo""Service Account Credentials JSON blob.
service_account_filestringNo""Service Account Credentials JSON file path.
storage_classstringNo""The storage class to use when storing objects in Google Cloud Storage. Allowed values: "", MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, DURABLE_REDUCED_AVAILABILITY.
tokenstringNo""OAuth Access Token as a JSON blob.
token_urlstringNo""Token server url.
user_projectstringNo""User project.
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZGCS12345",
"backend_type": "google cloud storage",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectGoogleCloudStorage({
service_account_file: "/etc/secrets/gcp-sa.json",
project_number: "123456789012",
location: "us-central1"
});

Oracle Cloud Infrastructure Object Storage.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
attempt_resume_uploadbooleanNofalseIf true attempt to resume previously started multipart upload for the object.
chunk_sizestringNo"5242880"Chunk size to use for uploading.
compartmentstringNo""Specify compartment OCID, if you need to list buckets.
config_filestringNo"~/.oci/config"Path to OCI config file.
config_profilestringNo"Default"Profile name inside the oci config file.
copy_cutoffstringNo"4999610368"Cutoff for switching to multipart copy.
copy_timeoutintegerNo60Timeout for copy. (in seconds)
descriptionstringNo""Description of the remote.
disable_checksumbooleanNofalseDon’t store MD5 checksum with object metadata.
encodingstringNo"50331650"The encoding for the backend.
endpointstringNo""Endpoint for Object storage API.
leave_parts_on_errorbooleanNofalseIf true avoid calling abort upload on a failure.
max_upload_partsintegerNo10000Maximum number of parts in a multipart upload.
namespacestringYes""Object storage namespace.
no_check_bucketbooleanNofalseIf set, don’t attempt to check the bucket exists or create it.
providerstringYes"env_auth"Choose your Auth Provider. Allowed values: env_auth, user_principal_auth, instance_principal_auth, workload_identity_auth, resource_principal_auth, no_auth.
regionstringYes""Object storage Region.
sse_customer_algorithmstringNo""If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm.
sse_customer_keystringNo""To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key.
sse_customer_key_filestringNo""To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key.
sse_customer_key_sha256stringNo""If using SSE-C, the optional header that specifies the base64-encoded SHA256 hash of the encryption key.
sse_kms_key_idstringNo""If using your own master key in vault, this header specifies the OCID.
storage_tierstringNo"Standard"The storage class to use when storing new objects. Allowed values: Standard, InfrequentAccess, Archive.
upload_concurrencyintegerNo10Concurrency for multipart uploads.
upload_cutoffstringNo"209715200"Cutoff for switching to chunked upload.
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZOC123456",
"backend_type": "oracleobjectstorage",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectOracleobjectstorage({
provider: "user_principal_auth",
namespace: "axxxxxxxxx",
region: "us-ashburn-1",
compartment: "ocid1.compartment.oc1..xxxxx"
});

Backblaze B2.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
accountstringYes""Account ID or Application Key ID.
chunk_sizestringNo"100663296"Upload chunk size.
copy_cutoffstringNo"4294967296"Cutoff for switching to multipart copy.
descriptionstringNo""Description of the remote.
disable_checksumbooleanNofalseDisable checksums for large (greater than upload cutoff) files.
download_auth_durationintegerNo604800Time before the public link authorization token will expire (in seconds).
download_urlstringNo""Custom endpoint for downloads.
encodingstringNo"50438146"The encoding for the backend.
endpointstringNo""Endpoint for the service. Leave blank normally.
hard_deletebooleanNofalsePermanently delete files on remote removal, otherwise hide files.
keystringYes""Application Key.
lifecycleintegerNo0Number of days deleted files should be kept when creating a bucket.
memory_pool_flush_timeintegerNo60How often internal memory buffer pools will be flushed. (no longer used) (in seconds)
memory_pool_use_mmapbooleanNofalseWhether to use mmap buffers in internal memory pool. (no longer used)
test_modestringNo""A flag string for X-Bz-Test-Mode header for debugging.
upload_concurrencyintegerNo4Concurrency for multipart uploads.
upload_cutoffstringNo"209715200"Cutoff for switching to chunked upload.
version_atstringNo"0001-01-01T00:00:00Z"Show file versions as they were at the specified time.
versionsbooleanNofalseInclude old versions in directory listings.
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZB2123456",
"backend_type": "b2",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectB2({
account: "005xxxxxxxxxxxxx",
key: "K005xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
});

Cloudinary.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
api_keystringYes""Cloudinary API Key.
api_secretstringYes""Cloudinary API Secret.
cloud_namestringYes""Cloudinary Environment Name.
descriptionstringNo""Description of the remote.
encodingstringNo"52543246"The encoding for the backend.
eventually_consistent_delayintegerNo0Wait N seconds for eventual consistency of the databases that support the backend operation.
upload_prefixstringNo""Specify the API endpoint for environments out of the US.
upload_presetstringNo""Upload Preset to select asset manipulation on upload.
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZCLOUD123",
"backend_type": "cloudinary",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectCloudinary({
cloud_name: "my-cloud",
api_key: "123456789012345",
api_secret: "abcdefghijklmnopqrstuvwx"
});

ImageKit.io.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
descriptionstringNo""Description of the remote.
encodingstringNo"117553486"The encoding for the backend.
endpointstringYes""ImageKit.io URL endpoint.
only_signedbooleanNofalseIf you have configured “Restrict unsigned image URLs” in your dashboard, set this to true.
private_keystringYes""ImageKit.io private key.
public_keystringYes""ImageKit.io public key.
upload_tagsstringNo""Tags to add to the uploaded files, e.g. "tag1,tag2".
versionsbooleanNofalseInclude old versions in directory listings.
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZIMAGE123",
"backend_type": "imagekit",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectImagekit({
endpoint: "https://ik.imagekit.io/myimagekitid",
public_key: "public_xxxxxxxxxxxx",
private_key: "private_xxxxxxxxxxxx"
});

Internet Archive.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
access_key_idstringNo""IAS3 Access Key. Leave blank for anonymous access.
descriptionstringNo""Description of the remote.
disable_checksumbooleanNotrueDon’t ask the server to test against MD5 checksum calculated by Hoody.
encodingstringNo"50446342"The encoding for the backend.
endpointstringNo"https://s3.us.archive.org"IAS3 Endpoint. Leave blank for default value.
front_endpointstringNo"https://archive.org"Host of InternetArchive Frontend. Leave blank for default value.
secret_access_keystringNo""IAS3 Secret Key (password). Leave blank for anonymous access.
wait_archiveintegerNo0Timeout for waiting the server’s processing tasks (in seconds).
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZARCH12345",
"backend_type": "internetarchive",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectInternetarchive({
access_key_id: "xxxxxxxxxxxx",
secret_access_key: "xxxxxxxxxxxx"
});

Akamai NetStorage.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
accountstringYes""Set the NetStorage account name.
descriptionstringNo""Description of the remote.
hoststringYes""Domain+path of NetStorage host to connect to. Format should be &lt;domain&gt;/<internal folders>.
protocolstringNo"https"Select between HTTP or HTTPS protocol. Allowed values: http, https.
secretstringYes""Set the NetStorage account secret/G2O key for authentication.
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZNETS12345",
"backend_type": "netstorage",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectNetstorage({
account: "myaccount",
host: "myaccount.akamaihd.net",
secret: "G2O-secret-key"
});

QingCloud Object Storage.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
access_key_idstringNo""QingStor Access Key ID. Leave blank for anonymous access or runtime credentials.
chunk_sizestringNo"4194304"Chunk size to use for uploading.
connection_retriesintegerNo3Number of connection retries.
descriptionstringNo""Description of the remote.
encodingstringNo"16842754"The encoding for the backend.
endpointstringNo""Enter an endpoint URL to connect QingStor API.
env_authbooleanNofalseGet QingStor credentials from runtime.
secret_access_keystringNo""QingStor Secret Access Key (password). Leave blank for anonymous access or runtime credentials.
upload_concurrencyintegerNo1Concurrency for multipart uploads.
upload_cutoffstringNo"209715200"Cutoff for switching to chunked upload.
zonestringNo""Zone to connect to. Allowed values: pek3a, sh1a, gd2a.
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZQSTO12345",
"backend_type": "qingstor",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectQingstor({
access_key_id: "QINGSTOR_ACCESS_KEY",
secret_access_key: "QINGSTOR_SECRET_KEY",
zone: "pek3a"
});

OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH).

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
application_credential_idstringNo""Application Credential ID (OS_APPLICATION_CREDENTIAL_ID).
application_credential_namestringNo""Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME).
application_credential_secretstringNo""Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET).
authstringNo""Authentication URL for server (OS_AUTH_URL).
auth_tokenstringNo""Auth Token from alternate authentication — optional (OS_AUTH_TOKEN).
auth_versionintegerNo0AuthVersion — optional — set to (1, 2, 3) if your auth URL has no version (ST_AUTH_VERSION).
chunk_sizestringNo"5368709120"Above this size files will be chunked.
descriptionstringNo""Description of the remote.
domainstringNo""User domain — optional (v3 auth) (OS_USER_DOMAIN_NAME).
encodingstringNo"16777218"The encoding for the backend.
endpoint_typestringNo"public"Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE). Allowed values: public, internal, admin.
env_authbooleanNofalseGet swift credentials from environment variables in standard OpenStack form.
fetch_until_empty_pagebooleanNofalseWhen paginating, always fetch unless we received an empty page.
keystringNo""API key or password (OS_PASSWORD).
leave_parts_on_errorbooleanNofalseIf true avoid calling abort upload on a failure.
no_chunkbooleanNofalseDon’t chunk files during streaming upload.
no_large_objectsbooleanNofalseDisable support for static and dynamic large objects.
partial_page_fetch_thresholdintegerNo0When paginating, fetch if the current page is within this percentage of the limit.
regionstringNo""Region name — optional (OS_REGION_NAME).
storage_policystringNo""The storage policy to use when creating a new container. Allowed values: "", pcs, pca.
storage_urlstringNo""Storage URL — optional (OS_STORAGE_URL).
tenantstringNo""Tenant name — optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME).
tenant_domainstringNo""Tenant domain — optional (v3 auth) (OS_PROJECT_DOMAIN_NAME).
tenant_idstringNo""Tenant ID — optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID).
use_segments_containerstringNo{"Valid":false,"Value":false}Choose destination for large object segments.
userstringNo""User name to log in (OS_USERNAME).
user_idstringNo""User ID to log in — optional (OS_USER_ID).
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZSWIFT1234",
"backend_type": "swift",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectSwift({
auth: "https://auth.cloud.ovh.net/v3",
user: "username",
key: "password",
tenant: "tenantname",
region: "GRA1"
});

Sia Decentralized Cloud.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
api_passwordstringNo""Sia Daemon API Password.
api_urlstringNo"http://127.0.0.1:9980"Sia daemon API URL, like http://sia.daemon.host:9980.
descriptionstringNo""Description of the remote.
encodingstringNo"50436354"The encoding for the backend.
user_agentstringNo"Sia-Agent"Siad User Agent. Sia daemon requires the Sia-Agent user agent by default for security.
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZSIA123456",
"backend_type": "sia",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectSia({
api_url: "http://sia.daemon.host:9980",
api_password: "sia-api-password"
});

Storj Decentralized Cloud Storage.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
access_grantstringNo""Access grant.
api_keystringNo""API key.
descriptionstringNo""Description of the remote.
passphrasestringNo""Encryption passphrase. To access existing objects enter passphrase used for uploading.
providerstringNo"existing"Choose an authentication method. Allowed values: existing, new.
satellite_addressstringNo"us1.storj.io"Satellite address. Allowed values: us1.storj.io, eu1.storj.io, ap1.storj.io.
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZSTORJ12345",
"backend_type": "storj",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectStorj({
access_grant: "1x...long-access-grant-string...",
satellite_address: "us1.storj.io"
});

Storj Decentralized Cloud Storage.

This endpoint takes no parameters.

NameTypeRequiredDefaultDescription
access_grantstringNo""Access grant.
api_keystringNo""API key.
descriptionstringNo""Description of the remote.
passphrasestringNo""Encryption passphrase. To access existing objects enter passphrase used for uploading.
providerstringNo"existing"Choose an authentication method. Allowed values: existing, new.
satellite_addressstringNo"us1.storj.io"Satellite address. Allowed values: us1.storj.io, eu1.storj.io, ap1.storj.io.
{
"success": true,
"message": "Backend connected successfully",
"data": {
"id": "backend_01HXYZTARD123456",
"backend_type": "tardigrade",
"type": "object-storage",
"mount_paths": []
}
}
await client.files.backends.connectTardigrade({
api_key: "storj-api-key",
passphrase: "encryption-passphrase",
provider: "new"
});