Messages (v2)
Preflight a Send
Check whether a message would be eligible to send, plus its segment count and estimated cost — without sending or billing.
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.