schedulePlan can be combined with the customers array to schedule a whole batch of calls for the same future time in a single request:
{
"assistantId": "assistant-id",
"phoneNumberId": "phone-number-id",
"customers": [
{ "number": "+11231231234" },
{ "number": "+12342342345" }
],
"schedulePlan": {
"earliestAt": "2026-08-15T14:00:00Z"
}
}
Every call in the batch shares the same schedulePlan window and the same assistantId/assistant resolution behavior described above — if you used assistantId, every call in the batch picks up the assistant's most current version at its scheduled time.
In summary: schedulePlan.earliestAt (required) and latestAt (optional) let you delay a call to a future time window instead of dialing immediately; the platform refetches your referenced resources at call time, so assistantId tracks live edits (and fails if deleted) while a transient assistant object locks in a static snapshot; and pairing schedulePlan with the customers array lets you schedule an entire batch in one request.