Chat
24 Endpunkte. Basis-URL: https://xapi.ambertech.cloud/api/v1
Inbox: my conversations with unread counts and previews#
GET/chat/conversationsToken Antworten
curl -X GET "https://xapi.ambertech.cloud/api/v1/chat/conversations" \
-H "Authorization: Bearer $XISUITE_TOKEN"
Conversation details, my state and members#
GET/chat/conversations/{id}Token Parameter
| Name | Ort | Typ | Beschreibung |
|---|
idPflicht | Pfad | string | – |
Antworten
- 404Unknown or not readable
curl -X GET "https://xapi.ambertech.cloud/api/v1/chat/conversations/{id}" \
-H "Authorization: Bearer $XISUITE_TOKEN"
Rename a group or change its description (owners)#
PATCH/chat/conversations/{id}Token Parameter
| Name | Ort | Typ | Beschreibung |
|---|
idPflicht | Pfad | string | – |
Request-Bodyapplication/jsonUpdateConversationDto
| Name | Typ | Beschreibung |
|---|
title | string | – |
description | string | – |
Antworten
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/chat/conversations/{id}" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"…","description":"…"}'
Leave a group#
POST/chat/conversations/{id}/leaveToken Parameter
| Name | Ort | Typ | Beschreibung |
|---|
idPflicht | Pfad | string | – |
Antworten
curl -X POST "https://xapi.ambertech.cloud/api/v1/chat/conversations/{id}/leave" \
-H "Authorization: Bearer $XISUITE_TOKEN"
My notification level, mute and inbox pin#
PATCH/chat/conversations/{id}/meToken Parameter
| Name | Ort | Typ | Beschreibung |
|---|
idPflicht | Pfad | string | – |
Request-Bodyapplication/jsonUpdateMyConversationStateDto
| Name | Typ | Beschreibung |
|---|
notifyLevel | string | Werte: allmentionsnone |
mutedUntil | object | ISO timestamp; null un-mutes |
pinned | boolean | – |
Antworten
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/chat/conversations/{id}/me" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"notifyLevel":"all","mutedUntil":{},"pinned":true}'
Add people to a group#
POST/chat/conversations/{id}/membersToken Parameter
| Name | Ort | Typ | Beschreibung |
|---|
idPflicht | Pfad | string | – |
Request-Bodyapplication/jsonAddMembersDto
| Name | Typ | Beschreibung |
|---|
user_id | string | Single user ID to add |
user_ids | string[] | Multiple user IDs to add (bulk) |
role_id | object | Role ID to assign to added member(s) |
Antworten
curl -X POST "https://xapi.ambertech.cloud/api/v1/chat/conversations/{id}/members" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"user_id":"…","user_ids":[],"role_id":{}}'
Promote or demote a group member (owners)#
PATCH/chat/conversations/{id}/members/{userId}Token Parameter
| Name | Ort | Typ | Beschreibung |
|---|
idPflicht | Pfad | string | – |
userIdPflicht | Pfad | string | – |
Request-Bodyapplication/jsonSetMemberRoleDto
| Name | Typ | Beschreibung |
|---|
rolePflicht | string | Werte: ownermember |
Antworten
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/chat/conversations/{id}/members/{userId}" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"role":"owner"}'
Remove someone from a group (owners)#
DELETE/chat/conversations/{id}/members/{userId}Token Parameter
| Name | Ort | Typ | Beschreibung |
|---|
idPflicht | Pfad | string | – |
userIdPflicht | Pfad | string | – |
Antworten
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/chat/conversations/{id}/members/{userId}" \
-H "Authorization: Bearer $XISUITE_TOKEN"
A page of the timeline (or of one thread), ordered by seq#
GET/chat/conversations/{id}/messagesToken Parameter
| Name | Ort | Typ | Beschreibung |
|---|
idPflicht | Pfad | string | – |
beforeSeq | Query | number | Older page: messages with seq < beforeSeq |
afterSeq | Query | number | Catch-up: messages with seq > afterSeq, oldest first |
limit | Query | number | – |
threadRootId | Query | string | List the replies of this thread instead of the main timeline |
Antworten
curl -X GET "https://xapi.ambertech.cloud/api/v1/chat/conversations/{id}/messages" \
-H "Authorization: Bearer $XISUITE_TOKEN"
Send a message (resending the same id is idempotent)#
POST/chat/conversations/{id}/messagesToken Parameter
| Name | Ort | Typ | Beschreibung |
|---|
idPflicht | Pfad | string | – |
Request-Bodyapplication/jsonSendMessageDto
| Name | Typ | Beschreibung |
|---|
idPflicht | string | Client-generated message id; resending the same id is idempotent |
bodyHtmlPflicht | string | – |
threadRootId | string | Reply in the thread of this message |
quotedMessageId | string | Quote this message |
objectRefs | ChatObjectRefDto[] | – |
objectRefs[].typePflicht | string | Werte: taskwiki_pageplanboardasset_objectfe_node |
objectRefs[].idPflicht | string | – |
attachmentCount | number | Files the client will upload to this message (entity_type chat_message); > 0 allows an empty body |
Antworten
curl -X POST "https://xapi.ambertech.cloud/api/v1/chat/conversations/{id}/messages" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id":"…","bodyHtml":"…"}'
Set my read position (markUnread moves it back)#
POST/chat/conversations/{id}/readToken Parameter
| Name | Ort | Typ | Beschreibung |
|---|
idPflicht | Pfad | string | – |
Request-Bodyapplication/jsonMarkReadDto
| Name | Typ | Beschreibung |
|---|
seqPflicht | number | Last read message seq |
markUnread | boolean | true = move the read position back ("mark as unread") |
Antworten
curl -X POST "https://xapi.ambertech.cloud/api/v1/chat/conversations/{id}/read" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"seq":0}'
Open (or create) the direct message with a colleague#
Request-Bodyapplication/jsonCreateDmDto
| Name | Typ | Beschreibung |
|---|
userIdPflicht | string | The other person (public.users.id); your own id opens your notes |
Antworten
curl -X POST "https://xapi.ambertech.cloud/api/v1/chat/dms" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"userId":"…"}'
Create a group chat (you become its owner)#
Request-Bodyapplication/jsonCreateGroupDto
| Name | Typ | Beschreibung |
|---|
title | string | – |
memberIdsPflicht | string[] | – |
Antworten
curl -X POST "https://xapi.ambertech.cloud/api/v1/chat/groups" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"memberIds":[]}'
Edit my message (every version is kept)#
PATCH/chat/messages/{messageId}Token Parameter
| Name | Ort | Typ | Beschreibung |
|---|
messageIdPflicht | Pfad | string | – |
Request-Bodyapplication/jsonEditMessageDto
| Name | Typ | Beschreibung |
|---|
bodyHtmlPflicht | string | – |
objectRefs | ChatObjectRefDto[] | – |
objectRefs[].typePflicht | string | Werte: taskwiki_pageplanboardasset_objectfe_node |
objectRefs[].idPflicht | string | – |
Antworten
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/chat/messages/{messageId}" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"bodyHtml":"…"}'
Delete a message (author or organization admin)#
DELETE/chat/messages/{messageId}Token Parameter
| Name | Ort | Typ | Beschreibung |
|---|
messageIdPflicht | Pfad | string | – |
Antworten
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/chat/messages/{messageId}" \
-H "Authorization: Bearer $XISUITE_TOKEN"
Pin a message for everyone in the conversation#
PUT/chat/messages/{messageId}/pinToken Parameter
| Name | Ort | Typ | Beschreibung |
|---|
messageIdPflicht | Pfad | string | – |
Antworten
curl -X PUT "https://xapi.ambertech.cloud/api/v1/chat/messages/{messageId}/pin" \
-H "Authorization: Bearer $XISUITE_TOKEN"
Unpin a message#
DELETE/chat/messages/{messageId}/pinToken Parameter
| Name | Ort | Typ | Beschreibung |
|---|
messageIdPflicht | Pfad | string | – |
Antworten
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/chat/messages/{messageId}/pin" \
-H "Authorization: Bearer $XISUITE_TOKEN"
Add my reaction#
PUT/chat/messages/{messageId}/reactions/{emoji}Token Parameter
| Name | Ort | Typ | Beschreibung |
|---|
messageIdPflicht | Pfad | string | – |
emojiPflicht | Pfad | string | – |
Antworten
curl -X PUT "https://xapi.ambertech.cloud/api/v1/chat/messages/{messageId}/reactions/{emoji}" \
-H "Authorization: Bearer $XISUITE_TOKEN"
Remove my reaction#
DELETE/chat/messages/{messageId}/reactions/{emoji}Token Parameter
| Name | Ort | Typ | Beschreibung |
|---|
messageIdPflicht | Pfad | string | – |
emojiPflicht | Pfad | string | – |
Antworten
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/chat/messages/{messageId}/reactions/{emoji}" \
-H "Authorization: Bearer $XISUITE_TOKEN"
Edit history of a message, oldest first#
GET/chat/messages/{messageId}/versionsToken Parameter
| Name | Ort | Typ | Beschreibung |
|---|
messageIdPflicht | Pfad | string | – |
Antworten
curl -X GET "https://xapi.ambertech.cloud/api/v1/chat/messages/{messageId}/versions" \
-H "Authorization: Bearer $XISUITE_TOKEN"
Short-lived Realtime JWT for my inbox topic and the conversations I can read#
POST/chat/realtime/tokenToken Request-Bodyapplication/jsonChatRealtimeTokenDto
| Name | Typ | Beschreibung |
|---|
conversationIds | string[] | Conversations to subscribe to; ones you cannot read are dropped |
Antworten
curl -X POST "https://xapi.ambertech.cloud/api/v1/chat/realtime/token" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"conversationIds":[]}'
Resolve task / wiki page refs into object cards I may see#
POST/chat/refs/resolveToken Request-Bodyapplication/jsonResolveChatRefsDto
| Name | Typ | Beschreibung |
|---|
refsPflicht | ChatObjectRefDto[] | – |
refs[].typePflicht | string | Werte: taskwiki_pageplanboardasset_objectfe_node |
refs[].idPflicht | string | – |
Antworten
curl -X POST "https://xapi.ambertech.cloud/api/v1/chat/refs/resolve" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"refs":[]}'
Search messages in the conversations I can read#
Parameter
| Name | Ort | Typ | Beschreibung |
|---|
qPflicht | Query | string | – |
conversationId | Query | string | – |
authorId | Query | string | – |
from | Query | string | – |
to | Query | string | – |
limit | Query | number | – |
Antworten
curl -X GET "https://xapi.ambertech.cloud/api/v1/chat/search" \
-H "Authorization: Bearer $XISUITE_TOKEN"
The channel of a space (created on first use)#
GET/chat/spaces/{spaceId}/channelToken Parameter
| Name | Ort | Typ | Beschreibung |
|---|
spaceIdPflicht | Pfad | string | – |
Antworten
curl -X GET "https://xapi.ambertech.cloud/api/v1/chat/spaces/{spaceId}/channel" \
-H "Authorization: Bearer $XISUITE_TOKEN"