Download
Get a signed URL for downloading the stored document. The URL expires after 15 minutes and carries its own access, so treat it as a secret and fetch it when the user is ready to download rather than embedding it in a page that gets cached. Returns 404 if the file does not exist or belongs to another company.
Authentication
sf_… API key in the bearerAuth field below.A SaaSFlow API key (format sf_…) or an OAuth bearer token. Paste only the key — the proxy adds the Bearer prefix. Create an API key in Settings → Company settings → API keys — see API keys.
In: header
Path Parameters
1 <= length1 <= lengthResponse Body
application/json
application/json
curl -X GET "https://example.com/companies/string/files/string/download"{ "url": "string"}Upload
Upload a receipt or invoice. The document goes in `fileBase64` as base64, capped at 10 MB by `size`. Pass `transactionIds` to attach it on upload, or leave it out and match it later. PDFs and PNGs are queued for automatic parsing of amount, date, and document type; other extensions are stored as-is and never get `parseData`. Parsing runs in the background, so the file comes back with `parseStatus: "open"` and fills in later. Only the new `fileId` is returned, so read the file back for the rest.
List background tasks
List background tasks for a company. Long-running work such as bank syncs, imports, and bulk edits runs asynchronously and reports progress here. Poll this after kicking off an operation that returns a task id, and read `status` to tell running from finished and failed. Tasks with `visible: false` are high-frequency webhook refreshes that the app hides from its pending indicator; skip them if you are mirroring that behaviour. Type-specific counters (processed, total, new transactions) live in `data`.