Skip to content
Hoody.com

Connect remote storage backends over standard file transfer and network protocols. Each endpoint registers a backend that can later be mounted to a filesystem path inside the container. Use these endpoints to integrate FTP, SFTP, SMB, HDFS, HTTP, and WebDAV sources with Hoody.

All backends accept protocol-specific options in the request body and return a backend identifier on success. Newly created backends have an empty mount_paths array — mount them with the Mounts API to expose them on a local path.

Connect to an FTP or FTPS backend. Supports both implicit and explicit TLS modes via the tls and explicit_tls flags.

This endpoint takes no parameters.

NameTypeRequiredDescription
hoststringYesFTP host to connect to (e.g. ftp.example.com)
ask_passwordbooleanNoAllow asking for FTP password when needed. Default: false
close_timeoutintegerNoMaximum time to wait for a response to close, in seconds. Default: 60
concurrencyintegerNoMaximum number of FTP simultaneous connections; 0 for unlimited. Default: 0
descriptionstringNoDescription of the remote. Default: ""
disable_epsvbooleanNoDisable using EPSV even if the server advertises support. Default: false
disable_mlsdbooleanNoDisable using MLSD even if the server advertises support. Default: false
disable_tls13booleanNoDisable TLS 1.3 (workaround for buggy FTP servers). Default: false
disable_utf8booleanNoDisable using UTF-8 even if the server advertises support. Default: false
encodingstringNoBackend encoding. One of Asterisk,Ctl,Dot,Slash, BackSlash,Ctl,Del,Dot,RightSpace,Slash,SquareBracket, Ctl,LeftPeriod,Slash. Default: "35749890"
explicit_tlsbooleanNoUse Explicit FTPS. Default: false
force_list_hiddenbooleanNoUse LIST -a to force listing of hidden files. Disables MLSD. Default: false
idle_timeoutintegerNoMax idle time before closing connections, in seconds. Default: 60
no_check_certificatebooleanNoSkip TLS certificate verification. Default: false
no_check_uploadbooleanNoSkip post-upload verification. Default: false
passstringNoFTP password. Default: ""
portintegerNoFTP port number. Default: 21
shut_timeoutintegerNoMaximum time to wait for data connection closing status. Default: 60
socks_proxystringNoSOCKS5 proxy host. Default: ""
tlsbooleanNoUse Implicit FTPS. Default: false
tls_cache_sizeintegerNoSize of TLS session cache. Default: 32
userstringNoFTP username. Default: user
writing_mdtmbooleanNoUse MDTM to set modification time. Default: false
Terminal window
curl -X POST https://{projectId}-{containerId}-files-1.{server}.containers.hoody.com/api/v1/backends/ftp \
-H "Authorization: Bearer $HOODY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"host": "ftp.example.com",
"user": "alice",
"pass": "s3cret",
"port": 21,
"tls": false
}'

Connect to an SSH/SFTP backend. Supports password, key file, and SSH agent authentication, plus a wide range of SSH cipher and key exchange options.

This endpoint takes no parameters.

NameTypeRequiredDescription
hoststringYesSSH host to connect to (e.g. example.com)
ask_passwordbooleanNoAllow asking for SFTP password when needed. Default: false
chunk_sizestringNoUpload and download chunk size in bytes. Default: "32768"
ciphersstringNoSpace separated list of ciphers, ordered by preference. Default: []
concurrencyintegerNoMaximum outstanding requests per file. Default: 64
connectionsintegerNoMaximum simultaneous SFTP connections; 0 for unlimited. Default: 0
copy_is_hardlinkbooleanNoEnable server-side copies via hardlinks. Default: false
descriptionstringNoDescription of the remote. Default: ""
disable_concurrent_readsbooleanNoDisable concurrent reads. Default: false
disable_concurrent_writesbooleanNoDisable concurrent writes. Default: false
disable_hashcheckbooleanNoDisable SSH hash check commands. Default: false
host_key_algorithmsstringNoSpace separated list of host key algorithms. Default: []
idle_timeoutintegerNoMax idle time before closing connections, in seconds. Default: 60
key_exchangestringNoSpace separated list of key exchange algorithms. Default: []
key_filestringNoPath to PEM-encoded private key file. Default: ""
key_file_passstringNoPassphrase for the PEM-encoded private key file. Default: ""
key_pemstringNoRaw PEM-encoded private key. Overrides key_file. Default: ""
key_use_agentbooleanNoForce usage of the SSH agent. Default: false
known_hosts_filestringNoPath to known_hosts file. Set to ~/.ssh/known_hosts to enable host key validation. Default: ""
macsstringNoSpace separated list of MAC algorithms. Default: []
md5sum_commandstringNoCommand used to read md5 hashes. Default: ""
passstringNoSSH password. Leave blank to use ssh-agent. Default: ""
path_overridestringNoOverride path used by SSH shell commands. Default: ""
portintegerNoSSH port number. Default: 22
pubkeystringNoSSH public certificate. Overrides pubkey_file. Default: ""
pubkey_filestringNoPath to public key file. Default: ""
server_commandstringNoPath or command to run the sftp server on the remote host. Ignores subsystem. Default: ""
set_envstringNoEnvironment variables to pass to sftp and commands. Default: []
set_modtimebooleanNoSet the modified time on the remote. Default: true
sha1sum_commandstringNoCommand used to read sha1 hashes. Default: ""
shell_typestringNoType of SSH shell on the remote server. One of none, unix, powershell, cmd. Default: ""
skip_linksbooleanNoSkip symlinks and other non-regular files. Default: false
socks_proxystringNoSOCKS5 proxy host. Default: ""
sshstringNoPath and arguments to an external ssh binary. Default: []
subsystemstringNoSSH2 subsystem on the remote host. Default: "sftp"
use_fstatbooleanNoUse fstat instead of stat. Default: false
use_insecure_cipherbooleanNoEnable insecure ciphers and key exchange methods. One of false, true. Default: false
userstringNoSSH username. Default: user
Terminal window
curl -X POST https://{projectId}-{containerId}-files-1.{server}.containers.hoody.com/api/v1/backends/sftp \
-H "Authorization: Bearer $HOODY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"host": "sftp.example.com",
"user": "deploy",
"pass": "s3cret",
"port": 22,
"key_file": "/home/deploy/.ssh/id_ed25519"
}'

Connect to an SMB / CIFS server. Configure the Windows domain, port, and optional service principal name for Kerberos-aware clusters.

This endpoint takes no parameters.

NameTypeRequiredDescription
hoststringYesSMB server hostname to connect to (e.g. example.com)
case_insensitivebooleanNoWhether the server is configured to be case-insensitive. Always true on Windows shares. Default: true
descriptionstringNoDescription of the remote. Default: ""
domainstringNoDomain name for NTLM authentication. Default: "WORKGROUP"
encodingstringNoBackend encoding. Default: "56698766"
hide_special_sharebooleanNoHide special shares such as print$. Default: true
idle_timeoutintegerNoMax idle time before closing connections, in seconds. Default: 60
passstringNoSMB password. Default: ""
portintegerNoSMB port number. Default: 445
spnstringNoService principal name (e.g. cifs/remotehost:1020). Default: ""
userstringNoSMB username. Default: user
Terminal window
curl -X POST https://{projectId}-{containerId}-files-1.{server}.containers.hoody.com/api/v1/backends/smb \
-H "Authorization: Bearer $HOODY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"host": "files.corp.example.com",
"user": "alice",
"pass": "s3cret",
"domain": "CORP",
"port": 445
}'

Connect to a Hadoop Distributed File System backend. Configure one or more namenodes and optional Kerberos authentication settings.

This endpoint takes no parameters.

NameTypeRequiredDescription
namenodestringYesHadoop name nodes and ports (e.g. namenode-1:8020,namenode-2:8020). Default: []
data_transfer_protectionstringNoKerberos data transfer protection. One of privacy. Default: ""
descriptionstringNoDescription of the remote. Default: ""
encodingstringNoBackend encoding. Default: "50430082"
service_principal_namestringNoKerberos service principal name for the namenode (e.g. hdfs/namenode.hadoop.docker). Default: ""
usernamestringNoHadoop user name. One of root. Default: ""
Terminal window
curl -X POST https://{projectId}-{containerId}-files-1.{server}.containers.hoody.com/api/v1/backends/hdfs \
-H "Authorization: Bearer $HOODY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"namenode": "namenode-1:8020,namenode-2:8020",
"username": "root",
"service_principal_name": "hdfs/namenode.hadoop.docker"
}'

Connect to a plain HTTP or HTTPS host for read-only access to files served by a web server.

This endpoint takes no parameters.

NameTypeRequiredDescription
urlstringYesURL of HTTP host to connect to (e.g. https://example.com). Default: ""
descriptionstringNoDescription of the remote. Default: ""
headersstringNoCSV-encoded list of HTTP headers to set on all transactions. Default: []
no_escapebooleanNoDo not escape URL metacharacters in path names. Default: false
no_headbooleanNoSkip HEAD requests when listing directories. Default: false
no_slashbooleanNoSite does not end directories with /. Treats Content-Type: text/html files as directories. Default: false
Terminal window
curl -X POST https://{projectId}-{containerId}-files-1.{server}.containers.hoody.com/api/v1/backends/http \
-H "Authorization: Bearer $HOODY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://downloads.example.com/public",
"description": "Public download mirror"
}'

Connect to a WebDAV server. Supports vendor-specific presets for Nextcloud, ownCloud, SharePoint, Fastmail, and Hoody VFS itself.

This endpoint takes no parameters.

NameTypeRequiredDescription
urlstringYesURL of HTTP host to connect to (e.g. https://example.com). Default: ""
auth_redirectbooleanNoPreserve authentication on HTTP redirects. Default: false
bearer_tokenstringNoBearer token instead of user/pass (e.g. a Macaroon). Default: ""
bearer_token_commandstringNoCommand to run to obtain a bearer token. Default: ""
descriptionstringNoDescription of the remote. Default: ""
encodingstringNoBackend encoding. Default: ""
headersstringNoCSV-encoded list of HTTP headers. Default: []
nextcloud_chunk_sizestringNoNextcloud upload chunk size in bytes. 0 disables chunked uploads. Default: "10485760"
owncloud_exclude_mountsbooleanNoExclude ownCloud mounted storages. Default: false
owncloud_exclude_sharesbooleanNoExclude ownCloud shares. Default: false
pacer_min_sleepintegerNoMinimum time to sleep between API calls, in seconds. Default: 0
passstringNoPassword. For NTLM, the user must use the Domain\User format. Default: ""
unix_socketstringNoPath to a unix domain socket to dial instead of opening a TCP connection. Default: ""
userstringNoUser name. Default: ""
vendorstringNoWebDAV vendor preset. One of fastmail, nextcloud, owncloud, sharepoint, sharepoint-ntlm, hoody-vfs, other. Default: ""
Terminal window
curl -X POST https://{projectId}-{containerId}-files-1.{server}.containers.hoody.com/api/v1/backends/webdav \
-H "Authorization: Bearer $HOODY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://cloud.example.com/remote.php/webdav",
"user": "alice",
"pass": "s3cret",
"vendor": "nextcloud"
}'