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.
apiKeyAuthorizationBearer <snoze_sk_…>Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
workspaceId*stringsessionId*stringSuccess
application/json- response
data*curl -X DELETE 'https://api.snoze.dev/v1/workspaces/string/assets/uploads/string'{ "data": { "id": "string" }}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.