Skip to main content
A message.received event carries the sender as data.sender_handle:
That usr_… id is stable: the same user always has the same id, in direct chats and in groups. Use it to key your own records.

Resolve the name and phone

Call GET /v1/users/{user_id} (see the API Reference tab):
A two-word given name puts its tail in last_name.
In a group, read sender_handle.id from each message.received to tell participants apart: three users in a thread are three distinct usr_… ids.

Scope

Resolve only a user you currently share an active conversation with, direct or group. Every other id returns 404, whether it exists or not:
The two cases are deliberately indistinguishable, so the endpoint cannot enumerate accounts or confirm who owns a phone number. When a user leaves the conversation or removes your agent, the lookup stops resolving them.

Next steps