Pod cycle send
Distribute outbound messages across every cell in a pod by round-robin, at most one send per second per cell.
Organization
Parent
Pod
This guide
Cycle job
Parent
Modes
| Mode | Body | Use |
|---|---|---|
| single_message | One body (+ media) to every recipient | Same blast copy |
| per_recipient | messages[] with to/body per row | Personalized copy |
await agentcell.pods.cycleSend({
podId: "pod_acme",
clientId: "q1-blast-v1",
mode: "single_message",
body: "Your appointment is tomorrow at 10am.",
recipients: ["+15551111111", "+15552222222"],
});Scheduling
The job assigns each recipient to the next cell in stable cell_id order. Before sending from cell C it waits until C's last send was ≥ 1 second ago. Respects pod TCPA quiet hours and the effective ignore list.
- POST /pods/{id}/messages/cycle — start (idempotent client_id)
- GET /pods/{id}/messages/cycle/{job_id} — status
- POST .../cancel — cancel queued (not in-flight) sends
Common errors
- CYCLE_JOB_NOT_FOUND
Unknown job id.
- TCPA_QUIET_HOURS
Recipient deferred or skipped per pod config.
- IGNORED_RECIPIENT
Logged on the job row, send skipped.
Copy for Cursor / Claude
Start a round-robin blast.
curl -X POST https://api.agentcell.store/v1/pods/pod_acme/messages/cycle \
-H "Authorization: Bearer $AGENTCELL_API_KEY" \
-d '{"client_id":"q1-blast-v1","mode":"single_message","body":"Hello fleet.","recipients":["+15551111111"]}'