SecureAgentMail

List approvals

Returns a paginated list of human-in-the-loop approval requests. Approvals are created automatically when a message is sent from a `full_lockdown` inbox. Results can be filtered by status and inbox.

GET
/approvals

Authorization

BearerAuth
AuthorizationBearer <token>

API key passed as a Bearer token. Production keys start with am_live_ and sandbox keys start with am_test_.

In: header

Query Parameters

status?string

Filter approvals by status.

Value in"pending" | "approved" | "rejected" | "expired"
inbox_id?string

Filter approvals by inbox ID.

limit?integer

Maximum number of items to return per page.

Default25
Range1 <= value <= 100
cursor?string

Opaque pagination cursor returned as next_cursor from a previous request.

Response Body

application/json

application/json

application/json

curl -X GET "https://secureagentmail.com/api/v1/approvals"
{
  "approvals": [
    {
      "id": "apr_n3m8k1",
      "inbox_id": "inb_abc123",
      "message_id": "msg_x7k9m2",
      "status": "pending",
      "message_preview": {
        "to": "[email protected]",
        "subject": "Re: Your support request #4521",
        "body_preview": "Hello, thank you for contacting us. Your issue has been..."
      },
      "expires_at": "2026-02-26T10:15:00Z",
      "created_at": "2026-02-25T10:15:00Z"
    }
  ],
  "has_more": true,
  "next_cursor": "string"
}
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or missing API key.",
    "status": 401
  }
}
{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded. Please retry after 30 seconds.",
    "status": 429
  }
}