List hitl audit log
Reads the append-only hitl audit log, oldest first: one row per event (see AuditEntry for the list), with the actor, its source, the key id, the remote address and the time. Rows point at an intervention by id and never hold its content; the question, answer and reason stay on the encrypted intervention row.
Each row carries prev_hash, the hash of the row before it
(32 zero bytes for the first row), so editing, removing or
reordering a row breaks the chain from that point. hash is
SHA-256 over the row’s length-prefixed fields and prev_hash.
fuse hitl audit --verify reads every row and recomputes the
chain client-side.
Requires hitl:read. A key scoped to an environment sees only
that environment’s rows and its forks’; naming any other env is
404.
/v1/hitl/auditAuthorizationBearer token · headerrequiredfuse_sessionAPI key · cookierequiredenvstringactorstringsincestringlimitintegercursorstringFuse-ActorstringFuse-Actor-NamestringentriesAuditEntry[]requiredShow propertiesHide properties
AuditEntryseqinteger<int64>requiredeventstringrequiredraiseddecidedexpiredcancelledinvite_mintedinvite_usedgrant_createdgrant_usedsecret_answeredtakeover_startedtakeover_endedtakeover_sessionintervention_idstringenv_idstringactorActorrequiredShow propertiesHide properties
idstringrequirednamestringsourcestringrequiredpinnedassertedkeysystemdeciderkey_idstringremote_addrstringrecording_idstringatstring<date-time>requiredprev_hashstringrequiredhashstringrequirednext_cursorstringerrorobjectrequiredShow propertiesHide properties
codestringrequirednot_foundroute_not_foundconflictinvalid_argumentunauthorizedforbiddenunavailableinternalunimplementedlockedmessagestringrequireddetailsobjecterrorobjectrequiredShow propertiesHide properties
codestringrequirednot_foundroute_not_foundconflictinvalid_argumentunauthorizedforbiddenunavailableinternalunimplementedlockedmessagestringrequireddetailsobjecterrorobjectrequiredShow propertiesHide properties
codestringrequirednot_foundroute_not_foundconflictinvalid_argumentunauthorizedforbiddenunavailableinternalunimplementedlockedmessagestringrequireddetailsobjectcurl -X GET "http://localhost:8080/v1/hitl/audit" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("http://localhost:8080/v1/hitl/audit", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.get(
"http://localhost:8080/v1/hitl/audit",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
){
"entries": [
{
"seq": 0,
"event": "raised",
"intervention_id": "string",
"env_id": "string",
"actor": {
"id": "string",
"name": "string",
"source": "pinned",
"key_id": "string"
},
"remote_addr": "string",
"recording_id": "string",
"at": "2024-01-01T00:00:00Z",
"prev_hash": "string",
"hash": "string"
}
],
"next_cursor": "string"
}{
"error": {
"code": "not_found",
"message": "string",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "string",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "string",
"details": {}
}
}