agent
transfer

ZERO-INSTALL delivery: ensure session + register file + return a public relay download URL

Primary entry point for AI agents. If no session is active, creates one, then registers the file for public HTTP download. Returns a downloadUrl like https://srift.app/d/<token> the recipient can fetch with any HTTP client (browser, srift get, wget, curl) — SRIFT install on the recipient side is NOT required. This is a relay link: when it is opened, this daemon streams the bytes on demand through the srift.app relay (pass-through, Cache-Control: no-store). Nothing is stored on any server, so the link works only while this daemon (or the process hosting it) runs. encrypt: true (or a password) makes it end-to-end encrypted with AES-256-GCM; the key is returned in the URL's #k= fragment, which is never sent to a server. Without it the link is protected by TLS in transit only. Optional maxDownloads and ttlMs enforce sharing limits; failed/cancelled downloads do not count against the cap. Tokens survive transient signaler reconnects. Note: requires the local SRIFT daemon (http://127.0.0.1:3822) — filesystem access to filePath is not available on the public https://srift.app host. Several files: pass filePaths for one .tar.gz bundle link (default) or bundle:false for one link per path, created in parallel; the response then has links[] and errors[].

post/quick-share

Request

  • Base URL: http://127.0.0.1:3822
  • URL: http://127.0.0.1:3822/quick-share
  • Auth: none required

Request body

filePathstring

Absolute path to a file or folder (folders are sent as .tar.gz). Use this OR filePaths.

sessionNamestring

Optional label

maxDownloadsinteger

Cap after N completed downloads. 0 = unlimited.

ttlMsinteger

Auto-expire the link after N milliseconds. 0 = never.

encryptboolean

End-to-end encrypt (AES-256-GCM). The key is carried in the returned URL's #k= fragment and never sent to a server. Default false (TLS in transit only).

passwordstring

Optional password the recipient must supply (PBKDF2-SHA256, 100,000 iterations). Implies encrypt.

filePathsstring[]

Several absolute file/folder paths in one call. Use this OR filePath.

bundleboolean

With filePaths: true = one .tar.gz link containing everything; false = one link per path, created in parallel.

bundleNamestring

With filePaths + bundle: archive name (.tar.gz is added).

excludestring[]

Extra glob patterns skipped when packing folders (.git and node_modules always skipped).

namestring

Recipient-visible file name

mode'relay' | 'auto'

Accepted for older clients. Links are always relay links served by this daemon (nothing is stored on a server).

Response

OK

successboolean
mode'relay'
sessionIdstring
fileIdstring
tokenstring
downloadUrlstring

Give this to the recipient. Encrypted links include the key after #k=

shareUrlstring

Same as downloadUrl (kept for older clients)

fileNamestring
fileSizenumber
maxDownloadsnumber
expiresAtnumber nullable
encryptedboolean
passwordProtectedboolean

Changes

No recorded changes to this operation across all 1 revision of this API.