Organisations
Organisations represent a top-level grouping entity. There may be many organisations defined in a single deployment.
Update organisation details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisation/edit |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Organisation ID | N/A | NO |
| name | string | POST | Organisation Name | N/A | YES |
Remove organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisation/remove |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Organisation ID | N/A | YES |
Read organisation details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisation/read |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Organisation ID | N/A | YES |
Search organisations
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisation/search |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search query | N/A | NO |
Archive organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisation/archive |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Organisation ID | N/A | YES |
Update organisation details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisation/edit |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Organisation ID | N/A | NO |
| name | string | POST | Organisation Name | N/A | YES |
Remove organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisation/remove |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Organisation ID | N/A | YES |
Read organisation details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisation/read |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Organisation ID | N/A | YES |
Search organisations
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisation/search |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search query | N/A | NO |
Archive organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisation/archive |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Organisation ID | N/A | YES |
Teams
An organisation may have many teams. Teams may have many channels available. Access to channels may be shared between teams.
Update team details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/edit |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Team ID | N/A | NO |
| name | string | POST | Name of Team | N/A | YES |
| members | []uint64 | POST | Team member IDs | N/A | NO |
Remove team
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/remove |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Organisation ID | N/A | YES |
Read team details and memberships
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/read |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Organisation ID | N/A | YES |
Search teams
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/search |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search query | N/A | NO |
Archive team
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/archive |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Organisation ID | N/A | YES |
Move team to different organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/move |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Organisation ID | N/A | YES |
| organisation_id | uint64 | POST | Organisation ID | N/A | YES |
Update team details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/edit |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Team ID | N/A | NO |
| name | string | POST | Name of Team | N/A | YES |
| members | []uint64 | POST | Team member IDs | N/A | NO |
Remove team
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/remove |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Organisation ID | N/A | YES |
Read team details and memberships
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/read |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Organisation ID | N/A | YES |
Search teams
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/search |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search query | N/A | NO |
Archive team
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/archive |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Organisation ID | N/A | YES |
Move team to different organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/team/move |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Organisation ID | N/A | YES |
| organisation_id | uint64 | POST | Organisation ID | N/A | YES |
Channels
A channel is a representation of a sequence of messages. It has meta data like channel subject. Channels may be public, private or direct (between two users).
Update channel details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/edit |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Channel ID | N/A | NO |
| name | string | POST | Name of Channel | N/A | YES |
| topic | string | POST | Subject of Channel | N/A | YES |
Remove channel
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/remove |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Channel ID | N/A | YES |
Read channel details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/read |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Channel ID | N/A | YES |
Search channels
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/search |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search query | N/A | NO |
Archive channel
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/archive |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Channel ID | N/A | YES |
Move channel to different team or organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/move |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Channel ID | N/A | YES |
Merge one team into another
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/merge |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| destination | uint64 | POST | Destination Channel ID | N/A | YES |
| source | uint64 | POST | Source Channel ID | N/A | YES |
Update channel details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/edit |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Channel ID | N/A | NO |
| name | string | POST | Name of Channel | N/A | YES |
| topic | string | POST | Subject of Channel | N/A | YES |
Remove channel
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/remove |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Channel ID | N/A | YES |
Read channel details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/read |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Channel ID | N/A | YES |
Search channels
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/search |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search query | N/A | NO |
Archive channel
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/archive |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Channel ID | N/A | YES |
Move channel to different team or organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/move |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Channel ID | N/A | YES |
Merge one team into another
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/channel/merge |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| destination | uint64 | POST | Destination Channel ID | N/A | YES |
| source | uint64 | POST | Source Channel ID | N/A | YES |
Messages
Messages represent individual messages in the chat system. Messages are typed, indicating the event which triggered the message.
Currently expected message types are:
| Name | Description |
|---|---|
| CREATE | The first message when the channel is created |
| TOPIC | A member changed the topic of the channel |
| RENAME | A member renamed the channel |
| MESSAGE | A member posted a message to the channel |
| FILE | A member uploaded a file to the channel |
The following event types may be sent with a message event:
| Name | Description |
|---|---|
| CREATED | A message has been created on a channel |
| EDITED | A message has been edited by the sender |
| REMOVED | A message has been removed by the sender |
New message / edit message
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/edit |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Message ID | N/A | NO |
| channel_id | uint64 | POST | Channel ID where to post message | N/A | NO |
| contents | string | POST | Message contents (markdown) | N/A | YES |
Attach file to message
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/attach |
HTTP/S | PUT | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|
Remove message
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/remove |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Message ID | N/A | YES |
Read message details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/read |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| channel_id | uint64 | POST | Channel ID to read messages from | N/A | YES |
Search messages
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/search |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search string to match against messages | N/A | NO |
| message_type | string | GET | Limit results to message type | N/A Values:
|
NO |
Pin message to channel (public bookmark)
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/pin |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Message ID | N/A | YES |
Flag message for user (bookmark)
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/flag |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Message ID | N/A | YES |
New message / edit message
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/edit |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Message ID | N/A | NO |
| channel_id | uint64 | POST | Channel ID where to post message | N/A | NO |
| contents | string | POST | Message contents (markdown) | N/A | YES |
Attach file to message
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/attach |
HTTP/S | PUT | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|
Remove message
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/remove |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Message ID | N/A | YES |
Read message details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/read |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| channel_id | uint64 | POST | Channel ID to read messages from | N/A | YES |
Search messages
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/search |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search string to match against messages | N/A | NO |
| message_type | string | GET | Limit results to message type | N/A Values:
|
NO |
Pin message to channel (public bookmark)
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/pin |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Message ID | N/A | YES |
Flag message for user (bookmark)
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/message/flag |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | POST | Message ID | N/A | YES |
Users
User login
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/user/login |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| username | string | POST | Username or email | N/A | YES |
| password | string | POST | Password for user | N/A | YES |
Search users (Directory)
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/user/search |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search query to match against users | N/A | NO |
User login
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/user/login |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| username | string | POST | Username or email | N/A | YES |
| password | string | POST | Password for user | N/A | YES |
Search users (Directory)
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/user/search |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search query to match against users | N/A | NO |
Websocket
Bidirectional websocket chat connection
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/websocket/client |
WebSockets | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|
Bidirectional websocket chat connection
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/websocket/client |
WebSockets | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|
Description
Languages
Go
57.4%
Vue
22.6%
TypeScript
8.3%
SCSS
3.8%
JavaScript
3.7%
Other
4.1%