Skip to content

Everything that ever happened to one record

GET
/v1/audit/{entity}/{entityId}
curl --request GET \
--url https://beta-api.plune.ai/v1/audit/test_case/example \
--header 'Authorization: Bearer <token>'

The “History” of a case, a suite or a run on its own page (api.ts → the detail screens): every entry that names this record, newest first, each with before/after and who did it. The entity kind is in the path because ids are not unique across tables; an unknown kind is refused with the five that exist. A record that was deleted still has its history — that is where the deletion is.

entity
required
string
Allowed values: test_case suite run review_item project snippet plan ai_settings storage_settings
entityId
required
string

The record’s history, newest first

Media type application/json
object
entries
required
Array<object>
object
id
required
string
projectId
string
entity
required
string
Allowed values: test_case suite run review_item project snippet plan ai_settings storage_settings
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 format: date-time
Example
{
"entries": [
{
"entity": "test_case",
"action": "create",
"actorType": "user"
}
]
}

No / invalid token or session

Unknown entity kind

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}