api.httpCall() is the egress boundary for outbound HTTP. storage.* owns durable files, folders, ACLs, retention, upload sessions, text statistics, and lifecycle. Together they let a Component move large payloads without turning them into JSON or holding the complete object in the low-code isolate.
HTTP response → Storage
Import reports, statements, archives, or media from an authenticated upstream API.
Storage → HTTP request
Deliver an existing governed object to a scanning, signing, conversion, or partner API.
JSON request
Resolve credentials from Secrets and keep them out of logs, inputs, and source code.Import an HTTP response into Storage
Create the destination folder first, then make it the parent of the streamed target. The runtime writes the response through managed Storage streaming and finalizes the entry automatically.response.data is undefined. The durable result is response.storage.entry, available only after successful finalization. computeStats: 'sync' keeps the call open until text statistics are ready; choose async when latency matters and trigger dependent work from STORAGE_SYNCHRONIZED.
Send Storage as the HTTP body
source streams bytes from an existing Explorer Storage file. The caller must be allowed to read the entry through its effective ACL, including every restricted ancestor folder.
Convert one Storage object into another
Usesource and target together when an external service transforms the payload. The source stays unchanged and the complete response becomes a new governed entry.
Replace an existing Storage entry
Replacement is explicit. Passing onlystorageEntryId is intentionally insufficient.
Multipart with one Storage file
PutformData on the request object. With one Storage-backed binary part, leave its value empty and provide source in options.
Multipart with multiple Storage files
For several binary parts, putstorageEntryId directly on each part.
Small generated objects
When the complete content comfortably fits a runtime call,storage.putObject() is simpler than a session.
Contract rules
requestTypeandresponseTypedescribe HTTP encoding.storageis not a valid value; usesourceandtarget.- HTTP Storage targets use one managed direct stream and are finalized automatically. For explicit part manifests and repair, use
storage.createUploadSession(),uploadPart(), andfinalizeUploadSession(). - A failed Storage write is aborted by the runtime and is not returned as a finalized entry.
- Upload and download URLs are temporary capabilities. Do not log or persist them.
- Storage streaming is not available together with proxy mode or legacy
fileIdmode. - Use
storage.getFileStats()andstorage.getFileData({ batchNumber })for bounded text processing after import.
Legacy
api.*File* helpers are compatibility APIs. All new examples and implementations should use storage.*, Storage source, or Storage target.
