Lists immutable human-approval audit events for an agent, newest-first.
This is the operator/compliance review surface for HITL decisions on a single agent. It returns request, response, cancellation, and expiry events across approval requests. Use `eventType` to narrow the ledger to one lifecycle transition.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The unique identifier of the agent.
The tenant identifier
Query Parameters
Optional lifecycle-event filter.
"UNSPECIFIED" | "REQUESTED" | "RESPONDED" | "CANCELLED" | "EXPIRED" | "CLAIMED"The maximum number of items to return per page
int32int32Opaque pagination token returned by an external service. Pass it back unchanged rather than interpreting it as an offset.
Response Body
curl -X GET "https://api.fruxon.com/v1/tenants/string/agents/string/pendingApprovals/auditEvents"{
"items": [
{
"id": "00000000-0000-0000-0000-000000000000",
"approvalRequestId": "00000000-0000-0000-0000-000000000000",
"agentId": "string",
"sessionId": "string",
"taskQueueId": 0,
"toolKey": "string",
"gateType": "TOOL_FLOW_STEP",
"eventType": "REQUESTED",
"channel": "WEB",
"actor": "string",
"decision": "APPROVE",
"responseText": "string",
"proposedParameters": {},
"detail": "string",
"correlationId": "string",
"createdAt": 0
}
],
"nextPageToken": "string",
"totalCount": 0
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Lists approval requests for the given agent, newest first
Kept as an alias of the tenant-wide list narrowed to one agent, because released SDKs still call it. It runs the same query, so both URLs return the same rows. Each item represents one parked execution waiting on a human gate, including the prompt text shown to the approver and the tool call arguments under review. Pass `Responded`, `Cancelled` or `Expired` to see history. Pair items in this list with `POST .../pendingApprovals/{pendingApproval}:respond` to resume them.
Cancels a pending request and ends the execution that was waiting on it, without resuming it.
Use this when an operator wants to abandon a parked execution rather than approve or reject — for example, when the request has gone stale or was triggered by a bad input. Everything the execution is parked on is cancelled and the execution is finalized as Cancelled, so it never resumes and downstream metrics and alerts treat it as a non-completion rather than a rejection. The reason is recorded on the request and in the audit log. Returns 409 if the request has already been responded to or cancelled; in that case the existing terminal state is authoritative.