campaigns scope.
Read the queue
GET /business/campaigns/{campaignId}/scheduled-sends lists what is waiting. status is required, so you always ask for a specific slice.
Edit before it goes
PATCH /business/scheduled-sends/{sendId} changes the subject, body or send time of a message that has not gone out.
An edit creates a new send and marks the old one
overwritten. The id in the response is the one that will actually go out, and replacedSendId is the one you edited — so store the new id if you intend to approve or skip it afterwards.409 SCHEDULED_SEND_NOT_EDITABLE.
Approve or decline
Both take a list of ids and report back per id, so a partial batch tells you exactly what happened.POST /business/scheduled-sends/decline has the same shape and stops the message instead of sending it, reporting declined where approve reports approved.
Skip one
POST /business/scheduled-sends/{sendId}/skip passes over a single message and moves that contact to the next step of the sequence.
A review loop
1
Pull the queue
GET /business/campaigns/{campaignId}/scheduled-sends?status=approval_required2
Fix what needs fixing
PATCH /business/scheduled-sends/{sendId} — and keep the returned id, not the one you sent.3
Approve the rest in one call
POST /business/scheduled-sends/approve with every id you are happy with.4
Check the report
Anything in
ignored changed status while you were reviewing; anything in notFound is not yours.