Who changed what, newest first
const url = 'https://beta-api.plune.ai/v1/audit?entity=test_case&actorType=user&limit=50&groupBySession=true';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://beta-api.plune.ai/v1/audit?entity=test_case&actorType=user&limit=50&groupBySession=true' \ --header 'Authorization: Bearer <token>'The project feed. Paging is keyset, not offset: an agent session writes dozens of entries inside one second, so a timestamp alone does not order them, and an offset page would shift as new entries arrive at the head. Pass the previous page cursor to continue. With groupBySession=true the answer is one row per session instead — forty changes shown as forty rows is a wall nobody reads.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”ISO timestamp; entries at or after it.
NextCursor from the previous page.
Responses
Section titled “ Responses ”A page of entries, or the session groups
object
object
A bearer token WITH a session header is an agent; without one it is a token; a session cookie is a user.
For a token this is the TOKEN id — when one leaks, the question is what that credential did.
Keyed with the deployment secret, so one client cannot compute another’s.
Only the fields that moved. A field whose NAME says it holds a credential is masked, though the fact that it changed is still recorded.
object
object
object
False when the diff was truncated — the previous values were not kept in full.
On a restore entry: the entry it undid.
object
Example
{ "entries": [ { "entity": "test_case", "action": "create", "actorType": "user" } ], "sessions": [ { "actorType": "user" } ]}No / invalid token or session