campaign_outcome_unknown
- HTTP status
- 409
- Retry
- After Retry-After
- Execution
- Work may have started
- Admin needed
- No
- Charges
- May have been charged
Campaign start or resume not confirmed. A start or resume of this campaign was sent and its confirmation did not arrive, or it failed after it was sent. Dialling may have begun. The API never sends it again on a guess. If you sent an Idempotency-Key, this answer is stored under it and a retry with the same key returns it again; without a key, a retry is a new start or resume request, so check the campaign first.
What it means
The API returns HTTP 409 with error.code set to campaign_outcome_unknown. The default message is: "The request was sent but its outcome is not confirmed yet. Check the campaign before trying again."
Common causes
- A start or resume timed out or failed after it was sent.
How to identify it
Check the response status (409) and error.code (campaign_outcome_unknown). Branch on error.code, not on the message text: messages can be reworded, codes do not change within v1. Log error.request_id (also sent as the X-Request-Id header) so support can find the request.
How to fix it
- Wait
Retry-Afterseconds, then retrieve the campaign: arunningstatus means it started. Do not start or resume it again before you have checked. - If it is not running and you want to try again, send the action again (with a NEW Idempotency-Key if you use keys): the campaign refuses a second dial of the same run, so recipients are not dialled twice.
- If
details.needs_supportis true, the outcome cannot be resolved automatically; contact support before acting.
Retry guidance
Wait for the number of seconds in the Retry-After header. For a write, read the resource first to find out whether the change was applied before you send anything again.
Did anything happen?
The work may have started before this error was returned. Do not assume nothing happened: read the resource (for a call, list calls filtered by to and created_after; for a campaign, retrieve it) before you send anything again. A charge may have been recorded for work that started; check the call or campaign before you act.
Idempotency
With a key: stored under it, so a retry with the same key returns this answer again and sends nothing. Without a key nothing is stored and a retry is a new attempt. Either way, read the campaign state first; a new attempt is refused by the campaign if the run already dialled.
Who can fix it
The developer who sends the request can fix it; no administrator action is normally needed.
When to contact support
When details.needs_support is true, write to support@relationsai.com with the request_id. See Support for what to include (the request_id, the time in UTC, the operation, and whether you used a test or live key) and what never to send (API keys, Authorization headers, webhook signing secrets, recording links, transcripts or customer data).
Example error response
JSON
Operations that can return this error
POST /campaigns/{campaign_id}/start: Start a campaignPOST /campaigns/{campaign_id}/resume: Resume a campaign
See all codes in the error-code reference.