Skip to main content

Assistant — public chat

Anonymous citizen-chat endpoints under /public/chat.
Gating: console module ASSIST'O on the city’s cityGroup. Distinct from MCP.

Operator guide: The Assistant.
SDK: client.public.chat.* — Client SDK.

Availability​

GET /public/chat/availability?cityId={uuid}
GET /public/chat/availability?cityGroupId={uuid}

Typical response: { "enabled": true|false, "cityGroupId": "…", "reason": "…" }.

SDK: client.public.chat.getAvailability({ cityId }).

Conversations​

Create​

POST /public/chat/conversations
Content-Type: application/json
{
"deviceId": "device-uuid",
"cityId": "city-uuid",
"cityGroupId": "group-uuid"
}

Set location​

PATCH /public/chat/conversations/:id/location
{ "cityId": "city-uuid", "placeId": "place-uuid" }

List by device​

GET /public/chat/conversations/:deviceId?page=1&pageSize=20

Messages​

GET /public/chat/conversations/:id/messages
POST /public/chat/conversations/:id/messages
{
"content": "When is the next collection?",
"placeId": "optional-place-uuid"
}

Rate limiting​

~20 requests / minute per deviceId (or IP) on create + send → HTTP 429.

Console routes (JWT)​

Prefix /chat — console JWT + CHAT_CONVERSATIONS (not for site integrators): inbox, assign, agent reply, status, create-ticket, LLM usage snapshots.

See also​