Write a blob
POST
Store the request body as a new blob of a Table, under its blobs/ directory, and return its reference. The service stops reading and fails the request when the body exceeds maxBytes. The blob becomes part of the Table only when a committed row references it. A publication binding from the Tables API is enough.
bearerAuthheader
AuthorizationBearer <token>scandal-request*stringThe WriteBlobRequest request as JSON, base64url-encoded without padding.
body*fileapplication/octet-streamFormat
binarySuccess
application/json- response
A reference to a payload that one Table owns. It is never a download URL. digest is the BLAKE3 digest of the whole payload, as lowercase hexadecimal. The payload is the object blobs/<objectId> under the Table's root, or attempts/<attempt>/blobs/<objectId> when an upload into a write attempt stored it.
attempt?|nulldigest*stringmediaType*stringobjectId*stringFormat
uuidsize*|tableId*stringFormat
uuidcurl -X POST 'https://scandal.spiraldb.dev/blobs/write' \ -H 'scandal-request: string' \ -H 'Content-Type: application/octet-stream' \ -d 'string'{ "attempt": "d2c50383-9b42-408a-bf30-8303c70e72c1", "digest": "string", "mediaType": "string", "objectId": "e39ea5f2-2188-47f8-add0-f1976630af5e", "size": "string", "tableId": "073fbfcb-cd05-4203-be18-a1ce6f8e4d2d"}