Upload a blob
Uploads binary content and returns its sha256:<hex> content-addressed hash. Accepts multipart/form-data (typical for browser file inputs) or application/octet-stream (raw bytes for SDK / CLI uploads).
Uploads are idempotent: re-uploading identical bytes returns the existing hash without re-storing — the storage backend deduplicates by hash. MAX_BLOB_SIZE (default 50 MB) caps individual uploads; over-size returns 413 blob_too_large. Tenant blob count and storage-byte quotas (blobs, storage_bytes) gate uploads.
Reference the returned hash from item properties (blob_ref on core.file.* types) or attachment entries. See Blobs.