Skip to content

Connect to remote storage systems and manage backend authentication. These endpoints provide read, list, and write access to files hosted on FTP servers, Git repositories, S3-compatible object stores, and SSH/SFTP servers, plus helpers for checking and clearing browser credential state.

Connect to an FTP or FTPS server and retrieve a file or directory listing at the specified path.

NameInTypeRequiredDescription
pathpathstringYesFile or directory path to access on the remote server
typequerystringYesBackend type. Must be ftp
serverquerystringYesFTP server hostname or IP
userquerystringNoFTP username (default: anonymous)
passquerystringNoFTP password
ftp_securequerybooleanNoUse FTPS (FTP over TLS) (default: false)
ftp_passivequerybooleanNoUse passive mode (default: true)
Terminal window
curl -G "https://api.example.com/files/remote/docs/readme.txt" \
--data-urlencode "type=ftp" \
--data-urlencode "server=ftp.example.com" \
--data-urlencode "user=admin" \
--data-urlencode "pass=secret123" \
--data-urlencode "ftp_secure=true" \
--data-urlencode "ftp_passive=true"

Fetch a file from a Git repository hosted on GitHub, GitLab, Bitbucket, or a custom Git server.

NameInTypeRequiredDescription
pathpathstringYesFile path inside the repository
typequerystringYesBackend type. Must be git
urlquerystringYesFull GitHub/GitLab/Bitbucket URL or repository URL
refquerystringNoBranch, tag, or commit (defaults to HEAD or extracted from URL)
passquerystringNoPersonal Access Token (base64 encoded) for private repos
Terminal window
curl -G "https://api.example.com/files/remote/src/index.js" \
--data-urlencode "type=git" \
--data-urlencode "url=https://github.com/hoodyhq/hoody" \
--data-urlencode "ref=main" \
--data-urlencode "pass=ghp_base64EncodedToken"

Access an object or bucket listing from AWS S3 or any S3-compatible storage service (MinIO, DigitalOcean Spaces, etc.).

NameInTypeRequiredDescription
pathpathstringYesObject key path inside the bucket
typequerystringYesBackend type. Must be s3
serverquerystringYesS3 endpoint hostname
s3_bucketquerystringYesS3 bucket name
s3_regionquerystringYesAWS region (e.g. us-east-1)
userquerystringNoAWS Access Key ID
passquerystringNoAWS Secret Key (base64 encoded)
s3_endpointquerystringNoCustom S3 endpoint for MinIO, etc.
Terminal window
curl -G "https://api.example.com/files/remote/reports/2024-q1.pdf" \
--data-urlencode "type=s3" \
--data-urlencode "server=s3.amazonaws.com" \
--data-urlencode "s3_bucket=company-reports" \
--data-urlencode "s3_region=us-east-1" \
--data-urlencode "user=AKIAIOSFODNN7EXAMPLE" \
--data-urlencode "pass=dGVzdHNlY3JldA=="

Connect to a remote SSH server and download a file or list a directory via SFTP.

NameInTypeRequiredDescription
pathpathstringYesFile or directory path on the remote server
typequerystringYesBackend type. Must be ssh
serverquerystringYesServer hostname:port
userquerystringYesSSH username
passquerystringNoPassword (base64 encoded)
keyquerystringNoPrivate key PEM (base64 encoded)
passphrasequerystringNoKey passphrase (base64 encoded)
Terminal window
curl -G "https://api.example.com/files/remote/var/log/app.log" \
--data-urlencode "type=ssh" \
--data-urlencode "server=ssh.example.com:22" \
--data-urlencode "user=deploy" \
--data-urlencode "key=LS0tLS1CRUdJTi..." \
--data-urlencode "passphrase=cGFzc3dvcmQ="

Upload a file to a remote SSH server via SFTP. The request body is the raw file content sent as application/octet-stream. This endpoint uses the same type=ssh backend and authentication parameters established by the active SSH session; no additional query parameters are required for the upload itself.

NameInTypeRequiredDescription
pathpathstringYesDestination file path on the remote server
Terminal window
curl -X PUT "https://api.example.com/files/remote/var/www/app.tar.gz?type=ssh" \
--data-binary "@./app.tar.gz" \
-H "Content-Type: application/octet-stream"

Verify the current authentication status for a backend connection. Returns the authenticated username in the response body, or an empty string if the client is not authenticated.

NameInTypeRequiredDescription
pathpathstringYesPath identifying the backend connection to check
Terminal window
curl -X CHECKAUTH "https://api.example.com/files/remote/docs/"

Request authentication rejection for a backend connection. The server responds with a WWW-Authenticate header that forces the browser client to clear cached credentials.

NameInTypeRequiredDescription
pathpathstringYesPath identifying the backend connection to log out from
Terminal window
curl -X LOGOUT "https://api.example.com/files/remote/docs/"