curl --request GET \
--url https://prod-api.ringg.ai/ca/api/v0/campaign/upload-status/{bulk_list_id} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://prod-api.ringg.ai/ca/api/v0/campaign/upload-status/{bulk_list_id}"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://prod-api.ringg.ai/ca/api/v0/campaign/upload-status/{bulk_list_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"bulk_list_id": "123e4567-e89b-12d3-a456-426614174000",
"status": "draft",
"campaign_name": "Renewal reminders - large upload",
"total_callees": 4988,
"invalidated_rows_count": 12
}{
"message": "Invalid credentials"
}{
"message": "Campaign not found or you don't have access to it."
}Get large campaign upload status (Beta)
Poll the validation status of a large campaign CSV by bulk_list_id until it is draft and ready to start, or fails, has no valid rows or lacks balance.
curl --request GET \
--url https://prod-api.ringg.ai/ca/api/v0/campaign/upload-status/{bulk_list_id} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://prod-api.ringg.ai/ca/api/v0/campaign/upload-status/{bulk_list_id}"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://prod-api.ringg.ai/ca/api/v0/campaign/upload-status/{bulk_list_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"bulk_list_id": "123e4567-e89b-12d3-a456-426614174000",
"status": "draft",
"campaign_name": "Renewal reminders - large upload",
"total_callees": 4988,
"invalidated_rows_count": 12
}{
"message": "Invalid credentials"
}{
"message": "Campaign not found or you don't have access to it."
}status stops changing.
Statuses
status | Meaning | Next |
|---|---|---|
verifying | Rows are still being validated | Keep polling |
draft | The list is valid and ready | Start calls |
no_valid_contacts | Every row was invalid | Fix the CSV and upload it again |
insufficient_balance | The workspace balance does not cover the list | Add balance, then re-check the balance |
failed | Validation could not finish | Upload again |
total_callees, the valid contacts loaded, and invalidated_rows_count, the rows that failed validation. After launch, status follows the campaign: preparing, in_db, scheduled, ongoing, completed or terminated.
Authorizations
Headers
(Required) Your Ringg AI API key.
"rg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Path Parameters
Bulk list ID returned by /campaign/upload-csv.
Response
Upload status returned successfully.
"123e4567-e89b-12d3-a456-426614174000"
verifying: still being checked, keep polling. draft: valid and ready to start with /campaign/make-call-async. no_valid_contacts: every row was invalid. insufficient_balance: add balance, then call /campaign/check-balance/{bulk_list_id}. failed: processing failed; upload again. After launch the campaign's own status is returned: preparing, in_db, scheduled, ongoing, completed or terminated.
verifying, draft, no_valid_contacts, insufficient_balance, failed, preparing, in_db, scheduled, ongoing, completed, terminated "draft"
"Renewal reminders - large upload"
Valid contacts loaded
4988
Rows dropped as invalid
12
Was this page helpful?