Current user (/me)
The end-user behind the presented end-user JWT. The user's own call
history is at GET /v1/me/calls.
A user cannot change their profile (display_name, avatar_url,
custom_data) through this API. Your backend sets those with
POST /v1/users.
Get the current user
GET
/v1/me200: the user object plus read_receipts.
{
"id": "11111111-2222-3333-4444-555555555555",
"tenant_id": "65787825-3152-4c1e-9b8a-0d6f4e2a7c11",
"external_id": "acme-alice",
"display_name": "Alice",
"avatar_url": null,
"custom_data": {},
"last_seen_at": null,
"is_blocked": false,
"inserted_at": "2026-04-12T09:00:00.000000Z",
"updated_at": "2026-06-02T08:14:00.000000Z",
"read_receipts": {
"mode": "user",
"shared": true,
"can_change": true,
"visible": true
}
}
read_receipts tells your app how to show read state. See
Read receipts & unread.
| Field | Type | Description |
|---|---|---|
mode | "on" | "off" | "user" | The workspace setting, chosen on the dashboard's Messaging page. on: everyone sees everyone's read state. off: nobody does. user: each user decides. |
shared | boolean | Whether others can see when this user reads. |
can_change | boolean | true only in user mode. |
visible | boolean | Whether this user sees other people's read state at all. When false, show no read marks. |
In user mode the choice works both ways: a user who stops sharing
also stops seeing other people's read state.
curl https://api.poolse.dev/v1/me -H "Authorization: Bearer $USER_JWT"
Change read-receipt sharing
PATCH
/v1/meOnly allowed while the workspace's mode is user.
| Field | Type | Required | Description |
|---|---|---|---|
read_receipts | boolean | yes | true to share read state, false to stop. |
200: the same object as GET /v1/me, updated.
curl -X PATCH https://api.poolse.dev/v1/me \
-H "Authorization: Bearer $USER_JWT" \
-H "Content-Type: application/json" \
-d '{"read_receipts":false}'
| Code | Status | When |
|---|---|---|
read_receipts_fixed | 409 | The workspace mode is on or off, so users cannot choose. |
validation_failed | 422 | read_receipts missing or not a boolean, or it could not be saved. |