Abort a direct multipart upload session
Claims the abort in the database before discarding the object store's multipart state, so it can never race a completion that has already begun, and returns the session id. Requires a workspace member with the `files:write` permission. Naturally idempotent: a session that is no longer uploading is left untouched.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Path Parameters
Response Body
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/workspaces/string/assets/uploads/string"{ "data": { "id": "string" }}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Complete a direct multipart upload
Finalizes the multipart upload, verifies the stored object's size against what the session declared, and returns the resulting asset with its capability URL. Requires a workspace member with the `files:write` permission. A session that has expired, been aborted, or is completed with the wrong number of parts is rejected; completing a session that already finished returns the existing asset. Send an `Idempotency-Key` header to make retries safe; a replay within the window returns the original response.
List the assets in a workspace
Returns a page of workspace files newest first, each with its capability URL, name, size, and MIME type. Requires a workspace member with the `files:read` permission; a file that is itself a workspace item can be restricted further by item-level grants and is dropped from the page when the caller cannot view it. Paginated: pass `limit` and the `cursor` from the previous response.