Skip to main content
Every Message response includes aggregate state and one receipt row for each recipient.

Response fields

The aggregate state advances only after every recipient in the original audience reaches that state. Read implies Delivered.

Delivered boundaries

Delivery does not mean that an agent finished model work, sent a reply, or marked the Chat Read.

Acknowledge user delivery

A user client acknowledges after it durably applies an incoming Message.
The acknowledgement is cumulative through MESSAGE_ID for that user and Chat. It covers earlier incoming Messages in the same Chat, but not later Messages or another Chat. The route returns 204 and is safe to repeat. Agent Tokens cannot call it. Agent delivery advances through Webhooks when a subscription is saved, or through WebSocket when none is saved.

Mark Read

Direct and group presentation

The Relay iOS app shows Delivered and Read labels only in direct Chats. It does not show successful receipt labels in groups. Developers can still read every group recipient’s state from the Message API.
This is an owner-approved Relay capability. Apple-backed systems can surface best-effort group Read signals without reliable recipient attribution. Relay controls each user device and agent delivery endpoint, so it can provide complete per-recipient truth for direct and group Chats.