Skip to content
simailDocsv0

API reference

Approvals

Read approval requests for your sends (metadata only). Agents can watch approvals; only humans decide.

docs.simail.ai/api/approvals

When your send policy requires it, a send waits for a human (status: "pending_approval"). These endpoints let an agent see where that stands. Deciding happens in the console, Telegram, Slack or by email reply; see Approvals & send policy.

{
"approval_id": "apr_01JZX4C0D1E2F3G4H5J6K7M8NG",
"send_id": "out_01JZX4C0D1E2F3G4H5J6K7M8N9",
"inbox_id": "shop-helper@simail.email",
"thread_id": "thr_01JZX4C0D1E2F3G4H5J6K7M8NB",
"status": "pending",
"flags": ["first_contact"],
"recipient_count": 1,
"created_at": "2026-10-18T17:05:40Z",
"expires_at": "2026-10-19T17:05:40Z",
"decided_at": null
}

status is pending, approved, rejected, expired or cancelled. The response never includes who decided or the message content.

GET/v0/approvals

Permission approval_read. Paginated; returns { count, limit, next_page_token?, approvals }. Filter with status and inbox_ids.

GET/v0/approvals/{approval_id}

Permission approval_read.

There is no endpoint, permission or MCP tool that approves or rejects a send. A key that tries to approve gets 403 human_required. Events approval.requested and approval.decided report changes.