Skip to content

chat ​

13 endpoints at a glance
MethodPathSummary
DELETE/chat/attachments/{attachment_id}Delete Attachment
GET/chat/attachments/{attachment_id}/downloadDownload Attachment
GET/chat/conversationsList Conversations
POST/chat/conversationsCreate Conversation
GET/chat/conversations/{conv_id}Get Conversation
POST/chat/conversations/{conv_id}/attachmentsUpload Attachment
POST/chat/conversations/{conv_id}/leaveLeave Conversation
GET/chat/conversations/{conv_id}/messagesList Messages
POST/chat/conversations/{conv_id}/messagesSend Message
POST/chat/conversations/{conv_id}/readMark Read
DELETE/chat/messages/{msg_id}Delete Message
PATCH/chat/messages/{msg_id}Edit Message
GET/chat/unread-countUnread Count

chat​


List Conversations​

GET
/chat/conversations

The viewer's conversations, newest-active first, with an unread flag.

Parameters​

Header Parameters

authorization

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers

Samples​


Create Conversation​

POST
/chat/conversations

Open a DM (1 other user, deduped) or create a group (N others).

Parameters​

Header Parameters

authorization

Request Body​

application/json
JSON
{
  
"participants": [
  
  
"string"
  
],
  
"title": ""
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Get Conversation​

GET
/chat/conversations/{conv_id}

Parameters​

Header Parameters

authorization

Path Parameters

conv_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Mark Read​

POST
/chat/conversations/{conv_id}/read

Parameters​

Header Parameters

authorization

Path Parameters

conv_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Leave Conversation​

POST
/chat/conversations/{conv_id}/leave

Leave a conversation. If it becomes empty, it's destroyed and its
messages, read cursors, and attachments are cascaded away.

Parameters​

Header Parameters

authorization

Path Parameters

conv_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Unread Count​

GET
/chat/unread-count

Number of conversations with unread messages (the nav badge).

Parameters​

Header Parameters

authorization

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers

Samples​


List Messages​

GET
/chat/conversations/{conv_id}/messages

Cursor window of messages as a diff.

  • before → older history (scroll-up); new carries the older page,
    has_more reports whether yet-older messages exist.
  • after → live incremental poll; new carries messages newer than
    the cursor and since (if given) yields the changed set (edits +
    tombstones) so already-rendered bubbles can be patched.
  • neither → initial load; new is the latest page, has_more reports
    whether older history exists.

Parameters​

Header Parameters

authorization

Path Parameters

conv_id*
Type
string
Required

Query Parameters

after
before
since
limit
Type
integer
Default
50

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Send Message​

POST
/chat/conversations/{conv_id}/messages

Parameters​

Header Parameters

authorization

Path Parameters

conv_id*
Type
string
Required

Request Body​

application/json
JSON
{
  
"body_md": "",
  
"attachments": [
  
  
"string"
  
]
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value
Body

Samples​


Delete Message​

DELETE
/chat/messages/{msg_id}

Parameters​

Header Parameters

authorization

Path Parameters

msg_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Edit Message​

PATCH
/chat/messages/{msg_id}

Parameters​

Header Parameters

authorization

Path Parameters

msg_id*
Type
string
Required

Request Body​

application/json
JSON
{
  
"body_md": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value
Body

Samples​


Upload Attachment​

POST
/chat/conversations/{conv_id}/attachments

Parameters​

Header Parameters

authorization

Path Parameters

conv_id*
Type
string
Required

Request Body​

multipart/form-data

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value
Body

Samples​


Download Attachment​

GET
/chat/attachments/{attachment_id}/download

Parameters​

Header Parameters

authorization

Path Parameters

attachment_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
[
]

Playground​

Headers
Variables
Key
Value

Samples​


Delete Attachment​

DELETE
/chat/attachments/{attachment_id}

Remove a chat attachment (uploader-only) — e.g. an uploaded file the
user decides not to send.

Parameters​

Header Parameters

authorization

Path Parameters

attachment_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Kancil — one workspace for contacts, work and money.