List Approvals

Database and access

These endpoints use the AgentOS-level database. Configure AgentOS(db=...) with an adapter that implements approvals; unsupported approval operations return 503. See Approvals.

Scoped callers can read only requester-owned records. Non-admin JWT callers are scoped with user isolation enabled; non-admin service-account PAT callers are scoped even without it. A caller-supplied user_id does not override this identity.

Pagination and status filters apply to the visible stored records. Pending rows with a past expires_at remain pending until their status is transitioned; listing does not expire them automatically.

GET/approvals

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Query Parameters

status?|null
source_type?string|null
approval_type?|null
pause_type?string|null
agent_id?string|null
team_id?string|null
workflow_id?string|null
user_id?string|null
schedule_id?string|null
run_id?string|null
limit?Limit
Range1 <= value <= 1000
Default100
page?Page
Range1 <= value
Default1

Response Body

application/json

application/json

curl --request GET 'https://example.com/approvals'
{  "data": [    {      "id": "string",      "run_id": "string",      "session_id": "string",      "status": "string",      "source_type": "string",      "approval_type": "string",      "pause_type": "string",      "tool_name": "string",      "tool_args": {},      "expires_at": 0,      "agent_id": "string",      "team_id": "string",      "workflow_id": "string",      "user_id": "string",      "schedule_id": "string",      "schedule_run_id": "string",      "source_name": "string",      "requirements": [        {}      ],      "context": {},      "resolution_data": {},      "resolved_by": "string",      "resolved_at": 0,      "created_at": 0,      "updated_at": 0,      "run_status": "PENDING"    }  ],  "meta": {    "page": 0,    "limit": 20,    "total_pages": 0,    "total_count": 0,    "search_time_ms": 0  }}