A store can notify many customers about the same event while personalizing each text. Every recipient still needs permission and a valid delivery path.
What changes when I send to many recipients?
You coordinate many independent sends instead of treating one request as the complete campaign.
Each recipient can have a different destination, sender requirement or consent state. A successful delivery to one person says nothing about another person's phone.
Personalization also changes the actual text. A longer name or an emoji can change its encoding and segment count. Count the completed bodies when estimating billable volume.
Should I use a broadcast or API batches?
Use a broadcast to coordinate a campaign around an audience, shared content and a sending schedule. Use batches to submit independent messages from your application.
The SMS campaign workflow connects audience preparation, personalization, launch review and recipient outcomes. The batch endpoint provides a narrower operation: accepting individual requests together.
A batch identifier does not replace campaign ownership, consent records or a schedule.
How does Bird accept a batch?
You submit between 1 and 100 independent messages through POST /v1/sms/batches.
Put each message object in the messages array. A campaign with 250 recipients needs at least three requests because each batch holds at most 100 items.
Bird validates every item before queuing any. One invalid message makes the entire request fail with 422. Repair the invalid item before resubmitting the batch.
On success, data contains the accepted messages in submission order. summary.accepted_count reports the accepted count. The batch reference documents that response.
Keep each returned message identifier associated with its recipient. Later delivery events belong to those individual messages, not one shared batch outcome.
Does a successful batch mean everyone received the text?
A 202 response means Bird accepted the messages for processing.
Charging, carrier submission and delivery happen afterward. One accepted message can fail while others reach their recipients. Update the campaign from each message's delivery events.
Do not resend an entire accepted batch because one recipient failed. Investigate that message's error. Decide whether a separate attempt is appropriate.
How should I estimate the sending time?
Estimate each destination separately using the limits and capacity that apply to its sending path.
An API request limit controls how quickly you submit work. Delivery throughput controls a later stage. Raising submission concurrency cannot remove a carrier's limit.
Check the unit before calculating capacity. A segment-based limit counts a multipart text more than once. A request-based limit counts the batch call instead.
Bird assigns batch requests to sms_batch, separately from single sends under sms_send. The rate-limit guide explains those request policies. SMS throughput explains the separate delivery question.
What should I check before releasing the campaign?
Check consent, sender eligibility and the completed message for every recipient.
Use recent opt-out state when releasing queued work. A list exported earlier can include someone who has since withdrawn permission.
Check the destination's sender requirements before batching its recipients. One invalid item can otherwise reject a batch containing many valid messages.
Start with a limited group. Inspect the returned outcomes before expanding the send. That makes a mistaken sender or message easier to catch before it reaches the whole list.
- Apply the destination's rules and each recipient's permission.
- Validate completed bodies.
- Count their segments.
- Submit batches within the request limits.
- Track delivery outcomes per message. Investigate each failure separately.
In short
Each recipient still has an independent message.
Batch acceptance does not make every recipient share one delivery outcome.
A Bird batch contains at most 100 messages.
Use batches for independent API sends. An audience broadcast owns the coordinated campaign workflow.
Validation applies to the whole batch.
One invalid item causes Bird to reject the request before any item is queued.
Consent and sender eligibility remain individual checks.
Recheck permission and destination requirements when releasing each part of a campaign.