Skip to main content
POST
Checks current sending eligibility without submitting a message or charging message usage. Billing checks may repair account state or contact the billing provider. Use it to validate a recipient, preview segment count and cost, and inspect blockers. Works with live and sandbox keys; warm-up and later execution checks can still refuse a send. For a confirmation-required key, confirmation_required: true makes direct-send eligible false. This is expected: resolve other blockers, then hold the SMS for human approval. Do not disable confirmation to make preflight eligible.

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, byoc_required_ok, list_allowed_for_key, and daily_send_cap_ok, and send_policy_available, with confirmation_required false. 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 | null
Whether the recipient is an active contact on the list. false means the recipient is on the list but their membership is inactive; null means the recipient has no membership on that list, or the sending list could not be resolved.

Examples

Error Codes

Warm-up is not evaluated by preflight. A warm-up-gated list may pass preflight but still defer a live send.