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}