Skip to main content
Use this guide to send your first real trial SMS and interpret the result. A trial sends real messages using a shared platform number pool. Sandbox sends simulate delivery instead.

Before sending

Staff must review your account and activate a trial with an explicit expiry. In the dashboard, open Settings → API → Trial SMS to see your expiry, free allowance, used, reserved and remaining counts, testing groups and message history. This navigation appears only after trial protection is armed. An account owner can create and close groups; other account members have read-only access. Every group shares the account’s allowance and expiry. Creating another group does not increase the allowance. A multipart SMS uses one logical trial message. Trial traffic is free to the customer. Expiry, staff termination or activating a production sending number ends the trial; none creates a fresh budget. Create a named testing group, then use a live API key with sends.send for sending and messages.read for message lookup. The dashboard never asks you to paste the key. Sandbox, physical-list-restricted and approval-required keys cannot send trial messages. Public trial/group reads use sends.read; public group mutations use sends.write.

Send and inspect one message

Replace the group ID and recipient. Use final, personalized text; trial sends do not expand templates or wrap links.
Keep the same idempotency key and identical payload when retrying that message, including after a timeout. Use a new key only for a new logical message. A changed payload with the same key returns 409 trial_idempotency_conflict. An identical retry returns the original acceptance and message ID without spending allowance again, subject to current caller authorization. A successful 201 response has status: "queued", trial: true, trial_campaign_id and a message_id beginning with trial_. Acceptance reserves allowance; it does not prove carrier submission or delivery.
A busy number or exhausted shared campaign capacity can leave accepted work queued. Numbers are shared and can rotate between recipients. You do not own the physical sending number. An unknown submission outcome means delivery is unconfirmed. Do not automatically send a duplicate with a new idempotency key. Check message readback and signed webhooks; a later carrier receipt may resolve the uncertainty.

End testing safely

Closing a group stops new submissions and recoverably cancels its unsubmitted work. Attempted messages may still arrive. Closure does not restore used allowance, erase history or transfer conversation ownership. Replies retain their original account owner after the trial ends. When new trial work is disabled or its flag is unavailable, the page retains authorized history and group closure while disabling new work. Ordinary authentication, rate limiting and storage must still be healthy. A disabled flag or empty number pool does not establish inactivity. Trial groups support single SMS sends. They do not support MMS, bulk/raw sends, scheduled sends, journeys or automatic reply SMS. Configure your existing account webhook subscriptions for receipts, failures, replies and opt-outs. See trial status and testing groups for public API contracts.