Skip to main content
POST
Campaign contacts and results API
Upload contacts after you create a campaign. A valid upload moves the campaign from draft to ready.
account_id
string
required
Your Vobiz account ID. Use the same value in X-Auth-ID.
campaign_id
string
required
The campaign that receives the contacts.
X-Auth-ID
string
required
Your Vobiz account ID, for example MA_XXXXXXXX.

Endpoints

All paths start with /api/v1/account/{account_id}.

Upload contacts

Send multipart/form-data with the CSV in a field named file.
cURL

CSV columns

Fixed strategy
Per-contact strategy
The streaming parser handles BOM and CRLF line endings. There is no hard row limit, but uploads above 500,000 rows produce an advisory warning.
Re-uploading on a ready campaign replaces every existing contact. Upload is blocked with 409 while a campaign is running, paused, or queued.
200 OK

Browse contacts

Use limit and offset for pagination. Add status to filter by contact state or search to find a number.
The response is { objects, total }.

List call attempts

Attempts use 1-based page pagination. per_page has a maximum of 200. You can filter with status or search both the to and from numbers.
Campaign-side attempt data is returned even when the CDR service has no matching row. Save a returned call_uuid to correlate the attempt with CDRs or call-lookup endpoints.

Download results

Results are available while the campaign is running, so partial exports are supported.
cURL
The CSV columns are:
Contact statuses are pending, dialling, answered, no_answer, busy, failed, retry_pending, and expired.