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
/approvalsAuthorization
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
Range
1 <= value <= 1000Default
100page?Page
Range
1 <= valueDefault
1Response 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 }}{ "detail": [ { "loc": [ "string" ], "msg": "string", "type": "string", "input": null, "ctx": {} } ]}