REST API

All REST endpoints expect a bearer JWT. /v1/chat/* routes proxy to the messaging service. /auth/* routes live on the main API gateway. Request and response bodies are JSON with snake_case keys.

Auth

MethodPathDescription
POST/auth/signupCreate an account + tenant.
POST/auth/loginExchange credentials for a JWT + refresh token.
POST/auth/refreshRotate the access token.
POST/auth/logoutRevoke the current refresh token.
GET/auth/meReturn the authenticated user + tenant.
PATCH/auth/profileUpdate display name, avatar, timezone.
POST/auth/change-passwordChange the account password.

Conversations

MethodPathDescription
GET/v1/chat/conversationsList conversations the caller participates in.
POST/v1/chat/conversationsCreate a conversation.
PATCH/v1/chat/conversations/:idUpdate name or description.
DELETE/v1/chat/conversations/:idDelete (for_me or for_everyone).
GET/v1/chat/conversations/:id/participantsList participants.
POST/v1/chat/conversations/:id/participantsAdd participants.
DELETE/v1/chat/conversations/:id/participants/:userIdRemove a participant.
POST/v1/chat/conversations/:id/readMark conversation as read up to a seq.
POST/v1/chat/conversations/:id/typingBroadcast a typing indicator.
POST/v1/chat/conversations/:id/muteMute the conversation for the caller.
DELETE/v1/chat/conversations/:id/muteUnmute.
POST/v1/chat/conversations/:id/archiveArchive for the caller.
DELETE/v1/chat/conversations/:id/archiveUnarchive.
GET/v1/chat/conversations/unreadPer-conversation unread counts.

Messages

MethodPathDescription
POST/v1/chat/messages/sendSend a message.
GET/v1/chat/conversations/:id/messagesFetch messages with pagination.
POST/v1/chat/messages/syncSync multiple conversations by last_seq.
PATCH/v1/chat/messages/:idEdit a message you sent.
POST/v1/chat/messages/:id/reactionsToggle a reaction.
POST/v1/chat/messages/forwardForward a message to other conversations.
GET/v1/chat/messages/searchFull-text search across accessible messages.

Users & blocks

MethodPathDescription
GET/v1/chat/usersList users visible to the caller.
GET/v1/chat/users/searchSearch users by name or phone.
GET/v1/chat/agentsList agents in the workspace.
POST/v1/chat/users/:id/blockSoft-block a user.
DELETE/v1/chat/users/:id/blockUnblock a user.
GET/v1/chat/blocksList users the caller has blocked.

Media

MethodPathDescription
POST/v1/chat/media/upload-urlIssue a presigned upload URL.
POST/v1/chat/media/:id/confirmConfirm upload complete + attach to a message.
GET/v1/chat/media/:idFetch media metadata (cdn_url, thumbnail_url).

Messaging token

MethodPathDescription
GET/v1/messaging/tokenExchange a Vero JWT for a msgsrv WebSocket token.