Logs
Every change to a room is written to its activity log. Use these endpoints to read the log and to undo a change.
The log entry object
A room keeps its latest 500 entries.
- Name
_id- Type
- string
- Description
Unique id.
- Name
_model- Type
- string
- Description
The type of this object. Always
log_entry.
- Name
_timestamp- Type
- timestamp
- Description
When it happened.
- Name
actor- Type
- object
- Description
Who made the change.
- Name
action- Type
- string
- Description
What happened, as a key such as
timer.start.
- Name
target- Type
- object or null
- Description
What the change was made to.
- Name
detail- Type
- object or null
- Description
More about the change. Its contents depend on
action.
- Name
formatted- Type
- string
- Description
The change as a sentence in English.
List log entries
Returns the room's activity, newest first.
Path parameters
- Name
room_id- Type
- string
- Required
- Description
The room's id, from its address:
/o/ROOM_ID/….
Query parameters
- Name
limit- Type
- integer
- Description
How many entries to return. From 1 to 200. Defaults to
20.
- Name
offset- Type
- integer
- Description
How many entries to skip. Defaults to
0.
Request
curl https://app.kloksi.com/api/v1/rooms/ROOM_ID/logs \
-H "Authorization: Bearer YOUR_API_KEY"
Response 200
{
"ok": true,
"message": "Logs loaded",
"data": {
"list": [
{
"_id": "Q6rS7tU8vW9x",
"_model": "log_entry",
"_timestamp": "2026-11-05T09:30:00.000Z",
"actor": {
"kind": "device",
"id": "",
"label": ""
},
"action": "timer.start",
"target": null,
"detail": null,
"formatted": "Started timer `Opening keynote`"
}
]
}
}
Undo a logged change
Undoes an edit or a delete recorded in the log, and logs that too. If the item has changed since, you get a 409 with current_after in the body. Send force: true to overwrite it anyway.
Path parameters
- Name
room_id- Type
- string
- Required
- Description
The room's id, from its address:
/o/ROOM_ID/….
- Name
log_id- Type
- string
- Required
- Description
The log entry's id.
Body
- Name
force- Type
- boolean
- Description
Overwrite the item even if it has changed since. Defaults to
false.
Request
curl -X POST https://app.kloksi.com/api/v1/rooms/ROOM_ID/logs/LOG_ID/restore \
-H "Authorization: Bearer YOUR_API_KEY"
Response 200
{
"ok": true,
"message": "Restored",
"data": {
"restored_log_id": "Q6rS7tU8vW9x"
}
}