Skip to content

Who changed what, newest first

GET
/v1/audit
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.

entity
string
Allowed values: test_case suite run review_item project
actorType
string
Allowed values: user token agent
since
string

ISO timestamp; entries at or after it.

limit
integer
default: 50 >= 1 <= 200
cursor
string

NextCursor from the previous page.

groupBySession
string
Allowed values: true

A page of entries, or the session groups

Media type application/json
object
entries
Array<object>
object
id
required
string
projectId
string
entity
required
string
Allowed values: test_case suite run review_item project
entityId
required
string
action
required
string
Allowed values: create update delete state_change event restore
actorType
required

A bearer token WITH a session header is an agent; without one it is a token; a session cookie is a user.

string
Allowed values: user token agent
actorId
required

For a token this is the TOKEN id — when one leaks, the question is what that credential did.

string
sessionHash

Keyed with the deployment secret, so one client cannot compute another’s.

string
nullable
diff
required

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
key
additional properties
object
before
after
meta
required
object
restorable
required

False when the diff was truncated — the previous values were not kept in full.

boolean
truncated
boolean
restoredFrom

On a restore entry: the entry it undid.

string
reason
string
createdAt
required
string
nextCursor
string
nullable
sessions
Array<object>
object
sessionHash
required
string
actorId
required
string
actorType
required
string
Allowed values: user token agent
count
required
integer
from
required
string
to
required
string
entities
required
Array<string>
Example
{
"entries": [
{
"entity": "test_case",
"action": "create",
"actorType": "user"
}
],
"sessions": [
{
"actorType": "user"
}
]
}

No / invalid token or session