Get an upload
Poll an upload’s status before you reference it, or re-fetch its signed URL to retry the PUT.
Poll for COMPLETE before referencing
If your create and your reference are decoupled, this is the endpoint you poll. A resource rejects an upload until its bytes are in, so wait for UPLOAD_STATUS_COMPLETE:
The signed URL is not returned here. Capture it at create.
info.uploadUrl is a field on the read, but its value is empty. The signed URL, and uploadUrlExpiresAt, come back only on the create response. Measured: create returns a 1,018-character URL; a later GET returns the same field blank.
So there is no re-fetch. Hold the URL from create until the PUT succeeds. Lose it, or let it expire, and your only move is a new upload, not a GET. This endpoint tells you the status of an upload, never how to write to it.
There is no download
The response carriesspec (filename, contentType, sizeBytes), info.status, info.createdBy, and the empty info.uploadUrl. It does not carry a download URL. An upload is a way to get bytes into Cadenya and reference them by upload_id; it is not a file store you read back out. The resource that consumed the upload is what serves the content (a memory entry through get_memory, a tool result through its own read path).
A missing or wrong ID is a 404.
Related
Create an upload
Create a memory entry
upload_id gets referenced.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Workspace ID.
"workspace_01HXKD2E5NQM3T9AYWCF133E3Q"
"upload_01HXKD2E5NQM3T9AYWCFZ05DNK"
Response
OK
A handle representing a single file upload flow. Clients call CreateUpload to receive a short-lived presigned URL, PUT the file directly to object storage, then reference the upload by id when creating or updating resources that accept binary content.
Uploads are one-shot: once consumed by a creating or updating resource the upload transitions to UPLOAD_STATUS_CONSUMED and cannot be reused. Unused uploads expire and are garbage-collected.