zoxaAI
Homepage
API ReferenceCampaigns

Resume a campaign

POST /api/v1/campaign/{id}/resume — resume a paused or failed campaign, revalidating wallet and telephony first.

POST /api/v1/campaign/{campaign_id}/resume

Resume dispatching. Both paused and failed campaigns are recoverable — resume revalidates the account (wallet balance + telephony configured) and then continues from the remaining queued contacts. The circuit-breaker window is reset on resume, so the campaign gets a clean start.

Failed campaigns are recoverable

A campaign lands in failed only on an unrecoverable setup error (e.g. a CSV sync failure). Once the underlying problem is fixed, resume it like a paused campaign. Transient trouble during dialing (repeated batch errors, drained phone-number pool) pauses the campaign rather than failing it — see the platform guide.

Pre-resume checks

Resume runs the same gate as starting:

CheckError if failed
At least one telephony configuration exists400
Wallet balance is above the start threshold402 (insufficient balance) or 403
Campaign is not archived409
Campaign is paused or failed400 (enforced by the runner)

Response

200 OK with state="running".

Examples

curl -X POST https://dashboard.zoxa.ai/api/v1/campaign/7/resume \
  -H "X-API-Key: zsk_..."

Errors

StatusdetailWhen
400"You must configure telephony first..."No telephony configuration on the org.
400runner messageCampaign is not in a resumable (paused / failed) state.
402 / 403wallet detail objectWallet balance below the start threshold.
409"Unarchive the campaign first"Campaign is archived.
404"Campaign not found"Id not in your org.

On this page