changes_needed or rejected. Here’s how to read the feedback and get your campaign approved.
Campaign status lifecycle
The diagram shows the typical review lifecycle.deactivated and canceled are administrative states reachable from active (and earlier states for canceled); see the list below.
created: you’ve saved the campaign fields, but it hasn’t been submitted to Surge yetpending: submitted, waiting for Surge to review it before sending it to the carriersin_review: waiting for the carriers to review itactive: approved; you can attach phone numbers and send production trafficchanges_needed: reviewer flagged issues; you need to update and resubmitrejected: campaign was rejected; see notes on appealing belowdeactivated: previously active campaign that you or Surge canceledcanceled: you or Surge canceled the campaignsuspended: previously active campaign suspended by carriers
API status values. The campaign
status field in API responses uses a condensed set of public values: created, in_review, active, rejected, canceled, deactivated. Both the pending and in_review internal states surface as "in_review" in the API. Both the changes_needed and rejected internal states surface as "rejected". Keep this in mind when polling for status or using the update table below.Understanding “changes needed” feedback
Common patterns and what they mean:Updating a campaign
To address feedback, update the relevant campaign fields and resubmit. Campaigns can only be updated in certain statuses:
If you try to update while
in_review, wait for the review to complete. The reviewer will either approve it, request changes (moving it to changes_needed), or reject it. Only then can you update.
changes_needed, rejected, or canceled campaign, the campaign moves back to pending and then in_review.
Checking campaign status
Poll the campaign endpoint to track the current status:campaign.approved webhook event to get notified the moment a campaign goes active. This avoids polling. See Webhook Events.
Rejected campaigns
If your campaign is rejected:1
Read the rejection notice carefully
Reviewers include the specific reason. Don’t guess.
2
Address every listed issue before doing anything else
Partial fixes typically lead to another rejection.
3
Contact Surge support
Confirm whether to resubmit the existing campaign or start a new one — the right move depends on the reason.