Replace a message payload
Operation boundary
- Caller: Trusted backend only
- Scope: The backend owns editing permissions and time windows; message ID, sequence, original timestamp, unread and ordering stay unchanged.
- Success: 200 means the edit and idempotency result were quorum committed and applied by the Slot; it does not wait for devices.
- Recovery: Retry uncertain outcomes with identical request_id, version, content epoch and payload. After a version or epoch conflict, reload and make a new editing decision.
/message/updateReplaces an ordinary retained payload with version and restore-epoch checks. CMD, stream and nonpersistent messages cannot be edited.
Request Body
application/json
Replaces an ordinary retained payload with version and restore-epoch checks. CMD, stream and nonpersistent messages cannot be edited.
TypeScript Definitions
Use the request body type in TypeScript.
Replace an ordinary retained message; the backend owns editing permission.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
{ "status": 200, "data": { "message_id": "string", "message_seq": "string", "version": "string", "updated_at_ms": 0 }}Look up exact committed messages
Looks up exact committed messages within membership visibility; selector, result and scan limits fail without partial results.
Pull edits for one channel
Bootstrap with an empty cursor before loading history. Drain more pages and merge versions with the cursor atomically; this feed returns latest states.