Skip to main content
POST
Runs the same eligibility gates a live send runs, but delivers nothing and bills nothing. Use it to validate a recipient, preview segment count and cost, and surface any blocker before you send. Works with live and sandbox keys.

Body Parameters

string
required
Recipient phone number (E.164).
string
required
Sending list phone number (E.164). Must belong to your account.
string
required
Message body text.

Response Fields

boolean
Whether the message would be accepted for sending. Equals the AND of all binding checks: sender_ready, byoc_webhook_ready, not_suppressed, billing_ok, and byoc_required_ok. within_tcpa_hours is advisory only and does not affect eligible.
object
Per-gate results.
integer
Number of SMS segments the body would use.
string
GSM-7 or UCS-2.
number
Marginal cost of the send at the account’s current tier and cycle position. null for a child pooled to its parent’s billing.
string
Currency of estimated_cost (e.g. usd).
string
How the estimate was derived — or, for a pooled child, that cost is managed by the parent.
boolean
Whether the recipient is already a contact on the list.

Examples

Error Codes

Warm-up is not evaluated by preflight (its check would claim a ramp slot). A warm-up-gated list may pass preflight but still defer a live send.