Skip to content

Object Storage backends let you mount remote storage systems — cloud object stores, S3-compatible providers, OpenStack Swift, and decentralized networks — as filesystems inside Hoody. Each provider has a dedicated POST /api/v1/backends/{provider} endpoint that accepts a provider-specific configuration object. On success, the API returns a backend identifier and the empty mount_paths array; the backend can then be mounted to a filesystem path. All endpoints return 201 on success and 400 on connection failure.

Microsoft Azure Blob Storage. Supports multiple authentication methods (account key, SAS, service principal, managed identity, Azure CLI) and configurable access tiers (hot, cool, cold, archive).

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
access_tierstringNo""Access tier for blobs: hot, cool, cold, or archive. Leave blank to use the account default.
accountstringNo""Azure Storage Account Name. Required unless using SAS URL or Emulator.
archive_tier_deletebooleanNofalseDelete archive tier blobs before overwriting (required because archive blobs cannot be updated in place).
chunk_sizestringNo"4194304"Upload chunk size in bytes.
client_certificate_passwordstringNo""Password for the certificate file (service principal with certificate).
client_certificate_pathstringNo""Path to a PEM or PKCS12 certificate file.
client_idstringNo""Client ID for service principal or user authentication.
client_secretstringNo""Service principal client secret.
client_send_certificate_chainbooleanNofalseSend the x5c certificate chain header on certificate-based auth.
delete_snapshotsstringNo""How to deal with snapshots on blob deletion. One of "", "include", "only".
descriptionstringNo""Description of the remote.
directory_markersbooleanNofalseUpload empty objects ending in / to persist empty folders.
disable_checksumbooleanNofalseSkip MD5 checksum calculation before upload.
disable_instance_discoverybooleanNofalseSkip Microsoft Entra instance metadata lookup (use for disconnected clouds).
encodingstringNo"21078018"Backend encoding.
endpointstringNo""Endpoint for the service. Leave blank normally.
env_authbooleanNofalseRead credentials from environment variables, CLI, or MSI.
keystringNo""Storage Account Shared Key. Leave blank to use SAS URL or Emulator.
list_chunkintegerNo5000Maximum number of blobs per listing request.
memory_pool_flush_timeintegerNo60Internal memory buffer pool flush time in seconds (deprecated).
memory_pool_use_mmapbooleanNofalseUse mmap buffers in internal memory pool (deprecated).
msi_client_idstringNo""Client ID of the user-assigned MSI.
msi_mi_res_idstringNo""Azure resource ID of the user-assigned MSI.
msi_object_idstringNo""Object ID of the user-assigned MSI.
no_check_containerbooleanNofalseDon’t check or create the container.
no_head_objectbooleanNofalseSkip HEAD before GET on object reads.
passwordstringNo""User password (user/password auth).
public_accessstringNo""Public access level for the container. One of "", "blob", "container".
sas_urlstringNo""SAS URL for container-level access.
service_principal_filestringNo""Path to a service principal credentials JSON file.
tenantstringNo""Service principal tenant ID.
upload_concurrencyintegerNo16Number of chunks uploaded concurrently per file.
upload_cutoffstringNo""Cutoff for switching to chunked upload (deprecated).
use_azbooleanNofalseAuthenticate using the Azure CLI az tool.
use_emulatorbooleanNofalseUse the local Azure Storage Emulator.
use_msibooleanNofalseUse a managed service identity to authenticate.
usernamestringNo""Username (usually an email) for user/password auth.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/azureblob \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"account": "mystorageaccount",
"key": "EXAMPLEKEY==",
"description": "Production blob storage"
}'

Microsoft Azure Files. SMB-compatible file shares with the same authentication options as Azure Blob.

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
accountstringNo""Azure Storage Account Name.
chunk_sizestringNo"4194304"Upload chunk size in bytes.
client_certificate_passwordstringNo""Password for the certificate file.
client_certificate_pathstringNo""Path to a PEM or PKCS12 certificate file.
client_idstringNo""Client ID for service principal or user authentication.
client_secretstringNo""Service principal client secret.
client_send_certificate_chainbooleanNofalseSend the x5c certificate chain header.
connection_stringstringNo""Azure Files connection string.
descriptionstringNo""Description of the remote.
encodingstringNo"54634382"Backend encoding.
endpointstringNo""Endpoint for the service.
env_authbooleanNofalseRead credentials from the environment.
keystringNo""Storage Account Shared Key.
max_stream_sizestringNo"10737418240"Max size for streamed files (10 GiB).
msi_client_idstringNo""Client ID of the user-assigned MSI.
msi_mi_res_idstringNo""Azure resource ID of the user-assigned MSI.
msi_object_idstringNo""Object ID of the user-assigned MSI.
passwordstringNo""User password for user/password auth.
sas_urlstringNo""SAS URL.
service_principal_filestringNo""Path to a service principal credentials JSON file.
share_namestringNo""Azure Files share name (required to access the share).
tenantstringNo""Service principal tenant ID.
upload_concurrencyintegerNo16Number of chunks uploaded concurrently per file.
use_msibooleanNofalseUse a managed service identity to authenticate.
usernamestringNo""Username for user/password auth.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/azurefiles \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"account": "mystorageaccount",
"share_name": "myshare",
"key": "EXAMPLEKEY=="
}'

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

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

Google Cloud Storage. Supports service account credentials, OAuth, and anonymous public-bucket access. This is not Google Drive.

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
access_tokenstringNo""Short-lived access token.
anonymousbooleanNofalseAccess public buckets and objects without credentials.
auth_urlstringNo""Auth server URL override.
bucket_aclstringNo""ACL for new buckets. One of authenticatedRead, private, projectPrivate, publicRead, publicReadWrite.
bucket_policy_onlybooleanNofalseUse bucket-level IAM policies only.
client_credentialsbooleanNofalseUse OAuth2 client credentials flow.
client_idstringNo""OAuth client ID.
client_secretstringNo""OAuth client secret.
decompressbooleanNofalseDecompress gzip-encoded objects on download.
descriptionstringNo""Description of the remote.
directory_markersbooleanNofalsePersist empty folders with marker objects.
encodingstringNo"50348034"Backend encoding.
endpointstringNo""Endpoint for the service.
env_authbooleanNofalseGet IAM credentials from the environment.
locationstringNo""Location for newly created buckets. One of the supported GCS regions (e.g. us, eu, asia, us-central1, europe-west1, etc.).
no_check_bucketbooleanNofalseSkip checking or creating the bucket.
object_aclstringNo""ACL for new objects. One of authenticatedRead, bucketOwnerFullControl, bucketOwnerRead, private, projectPrivate, publicRead.
project_numberstringNo""GCP project number (for bucket list/create/delete).
service_account_credentialsstringNo""Service account credentials JSON blob.
service_account_filestringNo""Path to a service account credentials JSON file.
storage_classstringNo""Storage class for new objects. One of "", MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, DURABLE_REDUCED_AVAILABILITY.
tokenstringNo""OAuth access token as a JSON blob.
token_urlstringNo""Token server URL override.
user_projectstringNo""User project (for requester-pays buckets).
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/google-cloud-storage \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"service_account_file": "/etc/hoody/gcs-sa.json",
"project_number": "123456789012",
"location": "us-central1"
}'

Oracle Cloud Infrastructure Object Storage. Supports instance principals, user principals, workload identity, and resource principals.

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
attempt_resume_uploadbooleanNofalseAttempt to resume previously started multipart uploads.
chunk_sizestringNo"5242880"Upload chunk size in bytes.
compartmentstringNo""Compartment OCID (required only to list buckets).
config_filestringNo"~/.oci/config"Path to the OCI config file.
config_profilestringNo"Default"Profile name inside the OCI config file.
copy_cutoffstringNo"4999610368"Cutoff (in bytes) for switching to multipart copy.
copy_timeoutintegerNo60Timeout for async copy operations in seconds.
descriptionstringNo""Description of the remote.
disable_checksumbooleanNofalseSkip MD5 checksum calculation before upload.
encodingstringNo"50331650"Backend encoding.
endpointstringNo""Object storage API endpoint.
leave_parts_on_errorbooleanNofalseLeave successfully uploaded parts on error for manual recovery.
max_upload_partsintegerNo10000Maximum number of parts in a multipart upload.
namespacestringYes""Object storage namespace.
no_check_bucketbooleanNofalseSkip checking or creating the bucket.
providerstringYes"env_auth"Authentication provider. One of env_auth, user_principal_auth, instance_principal_auth, workload_identity_auth, resource_principal_auth, no_auth.
regionstringYes""Object storage region.
sse_customer_algorithmstringNo""SSE-C algorithm. One of "", AES256.
sse_customer_keystringNo""SSE-C base64-encoded 256-bit key.
sse_customer_key_filestringNo""Path to a file containing the SSE-C key.
sse_customer_key_sha256stringNo""Base64-encoded SHA256 hash of the SSE-C key.
sse_kms_key_idstringNo""OCID of a KMS master encryption key.
storage_tierstringNo"Standard"Storage class. One of Standard, InfrequentAccess, Archive.
upload_concurrencyintegerNo10Number of chunks uploaded concurrently per file.
upload_cutoffstringNo"209715200"Cutoff (in bytes) for switching to chunked upload.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/oracleobjectstorage \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"provider": "user_principal_auth",
"namespace": "id3nxb4ktwxa",
"region": "us-phoenix-1",
"compartment": "ocid1.compartment.oc1..aaaaaaaabcdefghijk"
}'

Amazon S3 and S3-compatible storage. Supports AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS (S3 interop), 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.

FieldTypeRequiredDefaultDescription
access_key_idstringNo""AWS Access Key ID.
aclstringNo""Canned ACL for new objects. One of default, private, public-read, public-read-write, authenticated-read, bucket-owner-read, bucket-owner-full-control.
bucket_aclstringNo""Canned ACL for new buckets. One of private, public-read, public-read-write, authenticated-read.
chunk_sizestringNo"5242880"Upload chunk size in bytes.
copy_cutoffstringNo"4999610368"Cutoff (in bytes) for switching to multipart copy.
decompressbooleanNofalseDecompress gzip-encoded objects on download.
descriptionstringNo""Description of the remote.
directory_bucketbooleanNofalseUse AWS Directory Buckets.
directory_markersbooleanNofalsePersist empty folders with marker objects.
disable_checksumbooleanNofalseSkip MD5 checksum calculation.
disable_http2booleanNofalseDisable HTTP/2 for the S3 backend.
download_urlstringNo""Custom CDN endpoint for downloads.
encodingstringNo"50331650"Backend encoding.
endpointstringYes""S3 API endpoint. One of the preset provider endpoints (e.g. s3.us-east-1.amazonaws.com, nyc3.digitaloceanspaces.com, localhost:8333) or a custom value.
env_authbooleanNofalseGet AWS credentials from the environment.
force_path_stylebooleanNotrueUse path-style access (vs virtual hosted style).
leave_parts_on_errorbooleanNofalseLeave uploaded parts on error for manual recovery.
list_chunkintegerNo1000Listing chunk size (MaxKeys).
list_url_encodestringNounsetURL-encode listings: true, false, or unset.
list_versionintegerNo0ListObjects version: 1, 2, or 0 for auto.
location_constraintstringNo""Location constraint matching the region (for bucket creation).
max_upload_partsintegerNo10000Maximum number of multipart upload parts.
memory_pool_flush_timeintegerNo60Internal memory pool flush time in seconds (deprecated).
memory_pool_use_mmapbooleanNofalseUse mmap buffers in internal memory pool (deprecated).
might_gzipstringNounsetBackend may gzip objects: true, false, or unset.
no_check_bucketbooleanNofalseSkip checking or creating the bucket.
no_headbooleanNofalseSkip HEAD verification after upload.
no_head_objectbooleanNofalseSkip HEAD before GET on object reads.
no_system_metadatabooleanNofalseSuppress setting and reading of system metadata.
profilestringNo""Profile to use in the shared credentials file.
providerstringNo""S3 provider preset. One of 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, Other.
regionstringNo""Region to connect to. One of "", other-v2-signature.
requester_paysbooleanNofalseEnable the requester-pays option for the bucket.
sdk_log_modestringNo"0"SDK debug log mode (e.g. Signing, Request, All, Off).
secret_access_keystringNo""AWS Secret Access Key.
server_side_encryptionstringNo""SSE algorithm. One of "", AES256, aws:kms.
session_tokenstringNo""AWS session token.
shared_credentials_filestringNo""Path to the shared credentials file.
sse_customer_algorithmstringNo""SSE-C algorithm. One of "", AES256.
sse_customer_keystringNo""SSE-C encryption key.
sse_customer_key_base64stringNo""SSE-C base64-encoded key.
sse_customer_key_md5stringNo""SSE-C key MD5 checksum.
sse_kms_key_idstringNo""KMS key ARN.
storage_classstringNo""Storage class. One of STANDARD, LINE, GLACIER, DEEP_ARCHIVE.
sts_endpointstringNo""STS endpoint (deprecated).
upload_concurrencyintegerNo4Number of chunks uploaded concurrently per file.
upload_cutoffstringNo"209715200"Cutoff (in bytes) for switching to chunked upload.
use_accelerate_endpointbooleanNofalseUse the AWS S3 Transfer Acceleration endpoint.
use_accept_encoding_gzipstringNounsetSend Accept-Encoding: gzip header: true, false, or unset.
use_already_existsstringNounsetReport BucketAlreadyExists on bucket creation: true, false, or unset.
use_dual_stackbooleanNofalseUse the AWS S3 dual-stack endpoint (IPv6).
use_multipart_etagstringNounsetUse ETag verification in multipart uploads: true, false, or unset.
use_multipart_uploadsstringNounsetUse multipart uploads: true, false, or unset.
use_presigned_requestbooleanNofalseUse a presigned URL for single-part uploads.
use_unsigned_payloadstringNounsetUse an unsigned payload for PutObject: true, false, or unset.
v2_authbooleanNofalseUse v2 authentication (legacy).
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.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/s3 \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"provider": "AWS",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"region": "us-east-1",
"endpoint": "s3.us-east-1.amazonaws.com"
}'

Backblaze B2 cloud storage. Requires an Account ID/Application Key ID and Application Key.

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
accountstringYes""Account ID or Application Key ID.
keystringYes""Application Key.
chunk_sizestringNo"100663296"Upload chunk size in bytes (minimum 5,000,000).
copy_cutoffstringNo"4294967296"Cutoff (in bytes) for multipart copy.
descriptionstringNo""Description of the remote.
disable_checksumbooleanNofalseSkip SHA1 checksum calculation for large files.
download_auth_durationintegerNo604800Public link authorization token lifetime in seconds (max one week).
download_urlstringNo""Custom endpoint for downloads (e.g. Cloudflare CDN).
encodingstringNo"50438146"Backend encoding.
endpointstringNo""Endpoint for the service.
hard_deletebooleanNofalsePermanently delete files on remote removal.
lifecycleintegerNo0Days deleted files are retained when creating a bucket.
memory_pool_flush_timeintegerNo60Internal memory pool flush time in seconds (deprecated).
memory_pool_use_mmapbooleanNofalseUse mmap buffers in internal memory pool (deprecated).
test_modestringNo""X-Bz-Test-Mode flag for debugging (fail_some_uploads, expire_some_account_authorization_tokens, force_cap_exceeded).
upload_concurrencyintegerNo4Number of chunks uploaded concurrently per file.
upload_cutoffstringNo"209715200"Cutoff (in bytes) for chunked upload (max 4.657 GiB).
version_atstringNo"0001-01-01T00:00:00Z"Show file versions as they were at the specified time.
versionsbooleanNofalseInclude old versions in directory listings.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/b2 \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"account": "005a0b6c0b0a1b2c3d4e5f60",
"key": "K005aAbCdEfGhIjKlMnOpQrStUvWxYz",
"description": "Backblaze backup bucket"
}'

QingCloud Object Storage. Supports zones pek3a, sh1a, and gd2a.

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
access_key_idstringNo""QingStor Access Key ID.
secret_access_keystringNo""QingStor Secret Access Key.
endpointstringNo""QingStor API endpoint.
zonestringNo""Zone to connect to. One of pek3a, sh1a, gd2a.
chunk_sizestringNo"4194304"Upload chunk size in bytes.
upload_concurrencyintegerNo1Multipart upload concurrency (values > 1 corrupt multipart checksums).
upload_cutoffstringNo"209715200"Cutoff (in bytes) for chunked upload (max 5 GiB).
connection_retriesintegerNo3Number of connection retries.
env_authbooleanNofalseRead credentials from the environment.
descriptionstringNo""Description of the remote.
encodingstringNo"16842754"Backend encoding.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/qingstor \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"access_key_id": "QINGSTOR_ACCESS_KEY",
"secret_access_key": "QINGSTOR_SECRET_KEY",
"zone": "pek3a"
}'

Cloudinary media management platform. Provides three required fields: cloud_name, api_key, and api_secret.

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
cloud_namestringYes""Cloudinary environment name.
api_keystringYes""Cloudinary API key.
api_secretstringYes""Cloudinary API secret.
upload_presetstringNo""Upload preset for asset manipulation on upload.
upload_prefixstringNo""API endpoint override for non-US environments.
eventually_consistent_delayintegerNo0Wait this many seconds for eventual consistency.
descriptionstringNo""Description of the remote.
encodingstringNo"52543246"Backend encoding.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/cloudinary \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"cloud_name": "my-cloud",
"api_key": "123456789012345",
"api_secret": "abcdefghijklmnopqrstuvwxyz12"
}'

ImageKit.io media management platform. Requires endpoint URL, public key, and private key from your ImageKit dashboard.

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
endpointstringYes""ImageKit.io URL endpoint.
public_keystringYes""ImageKit.io public key.
private_keystringYes""ImageKit.io private key.
only_signedbooleanNofalseSet to true if Restrict unsigned image URLs is enabled in the dashboard.
upload_tagsstringNo""Tags applied to uploaded files (comma-separated).
versionsbooleanNofalseInclude old versions in directory listings.
descriptionstringNo""Description of the remote.
encodingstringNo"117553486"Backend encoding.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/imagekit \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"endpoint": "https://ik.imagekit.io/myid",
"public_key": "public_xxx",
"private_key": "private_yyy"
}'

OpenStack Swift, including Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, and OVH.

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
userstringNo""Username (OS_USERNAME).
keystringNo""API key or password (OS_PASSWORD).
authstringNo""Auth URL. One of the preset provider URLs (e.g. https://auth.api.rackspacecloud.com/v1.0, https://auth.cloud.ovh.net/v3).
auth_versionintegerNo0Auth version (1, 2, or 3) if the auth URL has none.
auth_tokenstringNo""Auth token from alternate authentication (OS_AUTH_TOKEN).
tenantstringNo""Tenant name (OS_TENANT_NAME or OS_PROJECT_NAME).
tenant_idstringNo""Tenant ID (OS_TENANT_ID).
tenant_domainstringNo""Tenant domain (OS_PROJECT_DOMAIN_NAME) for v3 auth.
domainstringNo""User domain (OS_USER_DOMAIN_NAME) for v3 auth.
user_idstringNo""User ID for v3 auth (OS_USER_ID).
application_credential_idstringNo""Application credential ID.
application_credential_namestringNo""Application credential name.
application_credential_secretstringNo""Application credential secret.
storage_urlstringNo""Storage URL (OS_STORAGE_URL).
regionstringNo""Region name (OS_REGION_NAME).
endpoint_typestringNo"public"Endpoint type. One of public, internal, admin.
storage_policystringNo""Storage policy for new containers. One of "", pcs, pca.
chunk_sizestringNo"5368709120"Files above this size (in bytes) will be chunked.
no_chunkbooleanNofalseDon’t chunk files during streaming upload.
no_large_objectsbooleanNofalseDisable static and dynamic large object support.
leave_parts_on_errorbooleanNofalseLeave successfully uploaded parts on error.
use_segments_containerstringNounsetStore segment chunks in a _segments container (true/false/unset).
fetch_until_empty_pagebooleanNofalseAlways fetch additional pagination pages.
partial_page_fetch_thresholdintegerNo0Fetch if the current page is within this percentage of the limit.
env_authbooleanNofalseRead Swift credentials from environment variables.
descriptionstringNo""Description of the remote.
encodingstringNo"16777218"Backend encoding.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/swift \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"user": "admin",
"key": "secret-password",
"auth": "https://auth.cloud.ovh.net/v3",
"tenant": "1234567890123456",
"region": "GRA1"
}'

Akamai NetStorage. Requires the host, account, and secret (G2O key).

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
hoststringYes""NetStorage host in &lt;domain&gt;/<internal folders> format.
accountstringYes""NetStorage account name.
secretstringYes""NetStorage account secret / G2O key.
protocolstringNo"https"Protocol: http or https.
descriptionstringNo""Description of the remote.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/netstorage \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"host": "example.akamaihd.net/1234/cpcode",
"account": "myaccount",
"secret": "G2O-SECRET-KEY"
}'

Storj Decentralized Cloud Storage. Supports authentication via access grant or via API key + passphrase.

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
providerstringNo"existing"Authentication method. One of existing, new.
satellite_addressstringNo"us1.storj.io"Satellite address. One of us1.storj.io, eu1.storj.io, ap1.storj.io (or a custom <nodeid>@&lt;host&gt;:&lt;port&gt;).
api_keystringNo""API key (used with the new provider).
passphrasestringNo""Encryption passphrase (used with the new provider).
access_grantstringNo""Pre-existing access grant.
descriptionstringNo""Description of the remote.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/storj \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"satellite_address": "us1.storj.io",
"api_key": "jq1tj...",
"passphrase": "my-strong-passphrase"
}'

Tardigrade (legacy Storj Decentralized Cloud Storage). Identical configuration surface to Storj; kept for compatibility with older Storj credentials.

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
providerstringNo"existing"Authentication method. One of existing, new.
satellite_addressstringNo"us1.storj.io"Satellite address. One of us1.storj.io, eu1.storj.io, ap1.storj.io (or a custom <nodeid>@&lt;host&gt;:&lt;port&gt;).
api_keystringNo""API key (used with the new provider).
passphrasestringNo""Encryption passphrase (used with the new provider).
access_grantstringNo""Pre-existing access grant.
descriptionstringNo""Description of the remote.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/tardigrade \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"access_grant": "1xCjj5c...long-access-grant-string..."
}'

Sia Decentralized Cloud. Connects to a local or remote siad daemon over its HTTP API.

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
api_urlstringNo"http://127.0.0.1:9980"Sia daemon API URL.
api_passwordstringNo""Sia daemon API password.
user_agentstringNo"Sia-Agent"User agent string (Sia requires Sia-Agent by default).
descriptionstringNo""Description of the remote.
encodingstringNo"50436354"Backend encoding.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/sia \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"api_url": "http://sia.daemon.host:9980",
"api_password": "sia-api-password"
}'

Internet Archive. Uses the S3-compatible IAS3 API; works with anonymous access (no credentials required for public items).

This endpoint takes no parameters.

FieldTypeRequiredDefaultDescription
endpointstringNo"https://s3.us.archive.org"IAS3 endpoint.
front_endpointstringNo"https://archive.org"Internet Archive frontend host.
access_key_idstringNo""IAS3 Access Key (leave blank for anonymous access).
secret_access_keystringNo""IAS3 Secret Key (leave blank for anonymous access).
wait_archiveintegerNo0Timeout in seconds for server-side archive processing.
disable_checksumbooleanNotrueSkip server-side MD5 checksum verification.
descriptionstringNo""Description of the remote.
encodingstringNo"50446342"Backend encoding.
Terminal window
curl -X POST https://api.hoody.com/api/v1/backends/internetarchive \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"access_key_id": "ia-access-key",
"secret_access_key": "ia-secret-key"
}'