Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions content/api/rest-api.textile
Original file line number Diff line number Diff line change
Expand Up @@ -675,6 +675,32 @@ bc[json]. [{
extras: <optional extras object>,
}]

h3(#annotations-client-summary). Retrieve annotation summary for a specific clientId

h6. GET rest.ably.io/channels/@<channelId>@/messages/@<messageSerial>@/client-summary
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The base branch likely needs rebasing as well, but I recently updated all endpoints to the new format (main.realtime.ably.net)


Retrieve the annotation summary for a specific clientId for a specific message identified by its serial.

Example request:

bc[sh]. curl https://rest.ably.io/channels/rest-example/messages/01726585978590-001@abcdefghij:001/client-summary?forClientId=client1 \
-u "{{API_KEY}}"

h5. Parameters

- forClientId := _client1_ The clientId to retrieve the annotation summary for. It defaults to the clientId of the authenticated client.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can I ask why we ended up with forClientId on this endpoint? Every other rest endpoint that accepts a client id parameter uses clientId

Copy link
Contributor Author

@vladvelici vladvelici Oct 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought clientId is used for authentication, to act on behalf of the given clientId. This endpoint should allow you to fetch the summary of any client, not just yours.

I mean if you don't have access to act on behalf of another clientId you can still fetch a sliced summary for that clientId.


h5. Options

- Accept := @application/json@ by default, or @application/x-msgpack@
- Auth required := yes ("basic":#basic-authentication or "token":#token-authentication)

h5. Returns

A successful request returns an object containing the annotation summary for the specified message, clipped to only include the summary for the requested clientId.

The summary is an object whose keys are annotation types, and the values are aggregated summaries for that annotation type.

h2(#push). Push

h3(#post-device-registration). Register a device for receiving push notifications
Expand Down