Check outbound authorization
authorize_outboundPreflight a call/SMS against the pre-dial gates (allowed|blocked|needs_review) before placing it. For a voice call it asks both questions create_outbound_call meets, in order: the workspace capabilities (destination country -- per-org allowlist plus an always-on high-risk-country hard block -- channel, profile, caps), then the per-call policy (purpose, user_authorization with authorized_by AND reason, caller-number readiness). stage names the gate that answered. Not a full admission: number rules, concurrency and the wallet reserve are not checked. Read-only; no reserve, charge, or review row is written.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| channel | Yes | ||
| country | No | Destination country. Governed by the org's active workspace capabilities, not a fixed platform allowlist. | |
| purpose | No | Required, free-form outbound purpose declaration -- never refused for being novel. Any non-empty token is accepted; the documented advisory catalog is: appointment, booking_confirmation, callback_requested, customer_outreach, delivery_notification, ops_alert, other, payment_reminder, personal_errand, reservation, status_check, support. | |
| metadata | No | ||
| categories | No | ||
| campaign_id | No | ||
| amount_minor | No | ||
| phone_number | No | ||
| relationship | No | ||
| from_number_id | No | ||
| recipient_type | No | Optional, never enforced or required -- outbound is not restricted to business recipients. Persisted verbatim on the call row if sent; SMS has no recipient_type column, so it is accepted but not stored there. | |
| user_requested | No | ||
| organization_id | No | Optional. Defaults to the authenticated workspace; when supplied it must be that workspace's id. | |
| user_authorization | No | Who authorized the call and why ({authorized_by, reason}); for voice, user_requested counts only with one. |