AssetUploadService
Chatto exposes this service below /api/connect.
Shared message and enum definitions are documented in Shared Types And Enums.
AssetUploadService
Section titled “AssetUploadService”Creates room-scoped attachment assets through chunked ConnectRPC uploads.
CreateUpload
Section titled “CreateUpload”Starts a room-scoped attachment upload for the authenticated user.
POST /api/connect/chatto.api.v1.AssetUploadService/CreateUploadInput: CreateUploadRequest
Section titled “Input: CreateUploadRequest”Request to start a room-scoped attachment upload.
| Field | Type | Description |
|---|---|---|
room_id | string | Required room ID. |
filename | string | Original filename supplied by the client. |
content_type | string | MIME content type. Empty values are treated as application/octet-stream. |
size | int64 | Required total file size in bytes. |
sha256 | string | Required SHA-256 digest of the complete file, lowercase hexadecimal. |
Result: CreateUploadResponse
Section titled “Result: CreateUploadResponse”Response after creating an upload.
| Field | Type | Description |
|---|---|---|
upload | AssetUpload | Created upload session. |
UploadChunk
Section titled “UploadChunk”Appends one chunk at the upload’s current committed offset.
POST /api/connect/chatto.api.v1.AssetUploadService/UploadChunkInput: UploadChunkRequest
Section titled “Input: UploadChunkRequest”Request to append one chunk to an upload.
| Field | Type | Description |
|---|---|---|
upload_id | string | Required upload session ID. |
offset | int64 | Byte offset where this chunk starts. |
content | bytes | Chunk bytes. The server enforces a per-RPC size limit. |
chunk_sha256 | string | SHA-256 digest of this chunk, lowercase hexadecimal. |
Result: UploadChunkResponse
Section titled “Result: UploadChunkResponse”Response after committing an upload chunk.
| Field | Type | Description |
|---|---|---|
upload | AssetUpload | Updated upload session. |
GetUpload
Section titled “GetUpload”Reads current upload state for retry or resume.
POST /api/connect/chatto.api.v1.AssetUploadService/GetUploadInput: GetUploadRequest
Section titled “Input: GetUploadRequest”Request to fetch upload state.
| Field | Type | Description |
|---|---|---|
upload_id | string | Required upload session ID. |
Result: GetUploadResponse
Section titled “Result: GetUploadResponse”Response containing upload state.
| Field | Type | Description |
|---|---|---|
upload | AssetUpload | Current upload session. |
CompleteUpload
Section titled “CompleteUpload”Verifies the completed upload and creates the attachment asset.
POST /api/connect/chatto.api.v1.AssetUploadService/CompleteUploadInput: CompleteUploadRequest
Section titled “Input: CompleteUploadRequest”Request to complete an upload and create its attachment asset.
| Field | Type | Description |
|---|---|---|
upload_id | string | Required upload session ID. |
Result: CompleteUploadResponse
Section titled “Result: CompleteUploadResponse”Response after an upload completes.
| Field | Type | Description |
|---|---|---|
upload | AssetUpload | Completed upload session. |
asset | Asset | Attachment asset produced by this upload. |
CancelUpload
Section titled “CancelUpload”Cancels an incomplete upload and releases temporary storage.
POST /api/connect/chatto.api.v1.AssetUploadService/CancelUploadInput: CancelUploadRequest
Section titled “Input: CancelUploadRequest”Request to cancel an upload.
| Field | Type | Description |
|---|---|---|
upload_id | string | Required upload session ID. |
Result: CancelUploadResponse
Section titled “Result: CancelUploadResponse”Response after cancelling an upload.
| Field | Type | Description |
|---|---|---|
upload | AssetUpload | Updated upload session. |