Approval requests filed by level-1 agents. status=open lists only unexpired asks. Not MCP.
GET
/v1/requestsAuthorization
AuthorizationBearer token (JWT) · headerrequiredHydra JWT. Identity is the bound agent or a Keto member human. The host is not identity.
Query parameters
statusstringdefault: "open"
Allowed:
openapproveddeniedexpiredcancelledResponses
200Requests
requestsApprovalRequest[]requiredShow propertiesHide properties
Array of
ApprovalRequestidstringrequiredagent_idstringrequireditem_idstringrequiredgrant_idstringrequiredactionstringrequiredstatusstringrequiredAllowed:
openapproveddeniedexpiredcancelledcreated_atstring<date-time>requiredexpires_atstring<date-time>requiredresolved_atstring<date-time>resolved_bystringThe Kratos identity of the owner who answered — first write wins.
approval_idstringThe grant approval created by an approve resolution.
400bad status
401missing or invalid Bearer
403not owner
Request
curl -X GET "https://veil.nyc/v1/requests" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://veil.nyc/v1/requests", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.get(
"https://veil.nyc/v1/requests",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
{
"requests": [
{
"id": "string",
"agent_id": "string",
"item_id": "string",
"grant_id": "string",
"action": "string",
"status": "open",
"created_at": "2024-01-01T00:00:00Z",
"expires_at": "2024-01-01T00:00:00Z",
"resolved_at": "2024-01-01T00:00:00Z",
"resolved_by": "string",
"approval_id": "string"
}
]
}bad status
missing or invalid Bearer
not owner