Common Errors
400 scriptId is required
400 scriptId is required
What it means: You sent a trigger or campaign-creation request without a
scriptId, or the value you provided is not a valid number.How to fix it:Include scriptId in your request body and make sure its value is the integer shown in the Scalysis UI for the AI agent script you want to use — not a string.You can find your script IDs by logging into the Scalysis dashboard and navigating to the Scripts section. Each script card displays its ID.
400 customerPhone is required
400 customerPhone is required
What it means: The phone number to dial is missing. This can happen either because you omitted For a campaign using If you are using
customerPhone from the trigger body, or because a contact in your campaign’s contacts[] array is missing a phone field.How to fix it:For a single-call trigger, add customerPhone directly to the request body:contacts[], make sure every contact object includes a phone number:csvText instead, verify the column specified by phoneColumn (default: "phone_number") is present and populated in every row.400 Missing required script variables: brand_name
400 Missing required script variables: brand_name
What it means: The script you selected contains a
brand_name placeholder, but you did not supply a value for it in the request body. The AI agent cannot speak the brand name during the call without it.How to fix it:Add brand_name as a top-level field in your request body:404 Call is still in progress
404 Call is still in progress
What it means: You sent a
GET request for a call outcome, but the call has not finished yet. Scalysis returns a 404 here to signal that a finalized result does not exist yet — not that the order_id is wrong.How to fix it:Wait 10–30 seconds after triggering a call before polling for the outcome, then retry your GET request:Build a short retry loop into your integration rather than firing the outcome request immediately after the trigger response. A simple approach is to wait 15 seconds, then poll every 5 seconds until you receive a successful response.
404 Order not found / Campaign not found
404 Order not found / Campaign not found
What it means: The
order_id or campaign_id you referenced does not exist under the API key you are using. This usually means one of the following:- You used an ID from a different store or a different API key.
- You mistyped or truncated the numeric ID.
- The resource was deleted from the Scalysis dashboard.
order_id or campaign_id value matches exactly what was returned in the original trigger or create response:400 Concurrency / Pool Exhausted
400 Concurrency / Pool Exhausted
What it means: Your account’s calling channel pool is fully occupied by active campaigns. Scalysis cannot start new concurrent calls until capacity is freed up.How to fix it:You have two options:
- Pause or stop a running campaign to release channels, then start the new one.
- Lower
maxConcurrencyon your active campaigns so they each consume fewer channels, leaving room for the new one.
The server may also enforce a hard cap on
maxConcurrency regardless of what you request. If you need a higher concurrency limit, contact Scalysis support to discuss your plan limits.Auth Header Reference
Every request to the Scalysis API must be authenticated. You can use either of the two header formats below — pick one and use it consistently across all your requests. Option A — Bearer token:POST request (triggering a call, creating a campaign, controlling a campaign), include the content-type header as well:
POST example using curl:
GET example for fetching a call outcome: