Realtime · Socket.IO
Org & project
Listen while connected — you are already in org:<orgId>.
project:created
json
{
"project": {
"_id": "6958511e8397f2dfa88090d8",
"name": "New App",
"org": "69566c4ef0bdc3ae3e81b10a",
"slug": "new-app",
"settings": {},
"createdAt": "2026-03-18T10:00:00.000Z",
"updatedAt": "2026-03-18T10:00:00.000Z"
},
"timestamp": "2026-03-18T10:00:00.500Z"
}{
"project": {
"_id": "6958511e8397f2dfa88090d8",
"name": "New App",
"org": "69566c4ef0bdc3ae3e81b10a",
"slug": "new-app",
"settings": {},
"createdAt": "2026-03-18T10:00:00.000Z",
"updatedAt": "2026-03-18T10:00:00.000Z"
},
"timestamp": "2026-03-18T10:00:00.500Z"
}project:updated
json
{
"project": { "_id": "6958511e8397f2dfa88090d8", "name": "Renamed", "updatedAt": "..." },
"timestamp": "2026-03-18T10:05:00.000Z"
}{
"project": { "_id": "6958511e8397f2dfa88090d8", "name": "Renamed", "updatedAt": "..." },
"timestamp": "2026-03-18T10:05:00.000Z"
}Some code paths add extra keys (e.g. partial update info); always merge project by _id.
project:deleted
json
{
"projectId": "6958511e8397f2dfa88090d8",
"timestamp": "2026-03-18T10:10:00.000Z"
}{
"projectId": "6958511e8397f2dfa88090d8",
"timestamp": "2026-03-18T10:10:00.000Z"
}Subscribe to a single project
javascript
socket.emit("subscribe:project", "6958511e8397f2dfa88090d8")socket.emit("subscribe:project", "6958511e8397f2dfa88090d8")