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"The maximum number of items to return per page
int32int32Opaque cursor token from an external system (e.g. RAG API). When set, M:Fruxon.Common.Collections.PageToken.AsString returns this value directly instead of encoding Fruxon.Common.Collections.PageToken.Skip.
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
Each item represents one parked execution waiting on a human gate, including the prompt text shown to the approver, the tool call arguments under review, and the inbound channel (web, Telegram, Slack, …) the request was dispatched on. The default `Pending` filter is what an inbox UI wants; pass `Approved`, `Rejected`, or `Cancelled` to see history. Pair items in this list with `POST .../pendingApprovals/{pendingApproval}:respond` to resume them.
Cancels a pending request without resuming the execution
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. The execution is finalized as Failed with the supplied reason recorded on the trace, so downstream metrics and alerts treat it as a non-completion rather than a rejection. Returns 409 if the request has already been responded to or cancelled; in that case the existing terminal state is authoritative.