Skip to main content
Version: v0.16

Chat API Reference

API reference for the Chat module.

Rooms​

Create Room​

POST /chat/rooms
Authorization: Bearer {userToken}

Request Body:

{
"roomName": "Project Discussion",
"users": ["userId1", "userId2"]
}

Response:

{
"roomId": "..."
}

Get Rooms​

GET /chat/rooms
Authorization: Bearer {userToken}

Get Room​

GET /chat/rooms/{roomId}
Authorization: Bearer {userToken}

Add Users to Room​

PUT /chat/rooms/{roomId}/addUsers
Authorization: Bearer {userToken}

Request Body:

{
"users": ["userId3", "userId4"]
}

Leave Room​

PUT /chat/leave/{roomId}
Authorization: Bearer {userToken}

Messages​

Get Room Messages​

GET /chat/rooms/{roomId}/messages
Authorization: Bearer {userToken}

Delete Message​

DELETE /chat/messages/{messageId}
Authorization: Bearer {userToken}

WebSocket Events​

Connect​

const socket = io('http://localhost:3001/chat/', {
path: '/realtime',
auth: { token: userAccessToken }
});

Send Message​

Event: message

socket.emit('message', roomId, 'Hello!');

Receive Message​

socket.on('message', (data) => {
console.log('New message:', data);
});

Join Room​

socket.emit('join', roomId);

Leave Room​

socket.emit('leave', roomId);

Admin API​

Get All Rooms​

GET /admin/chat/rooms
masterkey: {masterKey}

Get Room Messages (Admin)​

GET /admin/chat/rooms/{roomId}/messages
masterkey: {masterKey}

Delete Room​

DELETE /admin/chat/rooms/{roomId}
masterkey: {masterKey}