POST /campaign/save, then start it with POST /campaign/start.
For CSVs with 5,000 or more rows, use the beta large-campaign flow after it is enabled for your workspace. That path uploads and validates the CSV asynchronously before starting calls.
Prerequisites
- A workspace API key
- An outbound assistant ID
- One or more workspace number IDs
- A CSV file with a
Mobile Numbercolumn and any assistant variables
Choose the campaign flow
Step 1: Prepare the CSV
Use the exact template from the Ringg dashboard when possible. At minimum, include the recipient number and every variable your assistant prompt uses.Standard flow
Step 2: Upload the campaign contact list
POST /campaign/save accepts multipart/form-data. Do not set Content-Type manually in browser or Node FormData clients; let the client set the multipart boundary.
list_id; it is required to start the campaign.
Step 3: Choose caller numbers
from_numbers.
Step 4: Start the campaign
Step 5: Monitor campaign calls
Use campaign and history endpoints together:Step 6: Stop calls if needed
Use termination endpoints for emergency stops or selective campaign cleanup.Beta large-campaign flow
Use this path for CSVs with 5,000 or more rows. It separates upload, validation, balance checking, and call scheduling so long CSV imports do not block one request.Beta step 1: Upload the CSV
POST /campaign/upload-csv accepts the large CSV and campaign metadata. Use the same CSV headers, variable mapping, assistant ID, campaign window, country code, and call configuration you would send to POST /campaign/save.
bulk_list_id. Use it for every following beta step.
Beta step 2: Poll upload status
Beta step 3: Check balance
Beta step 4: Start calls asynchronously
GET /campaign/all and call history filtered by the same bulk_list_id.
Upload large campaign CSV
Start the beta 5k+ row import.
Check upload status
Poll CSV processing before starting calls.
Check campaign balance
Confirm available balance for the validated contacts.
Start async campaign calls
Queue the large campaign for outbound calling.
Production checklist
- Start with a small CSV before uploading a large campaign.
- Set campaign windows in the audience’s timezone.
- Validate CSV headers before upload.
- Store
list_idand selectedfrom_numbers. - Store
bulk_list_idfor beta large campaigns. - Subscribe to webhooks for post-call results.
- Use
remove_invalid_rows=truewhen you prefer skipping invalid contacts instead of failing the whole upload.
