Schemas
CreateAgenticCallRequest
taskphone^\+[1-9][0-9]{7,14}$ · requiredRequired closed flat JSON Schema using the same calle.result.scalar-object.v1 profile as Goal. At most 32 string, boolean, integer or number properties; additionalProperties must be false. Nested objects, arrays, null values and schema combinators are unsupported.
CALL-E supports a subset of JSON Schema. Property keywords maxLength, minLength, minimum, maximum, and pattern are rejected with HTTP 400 result_schema_invalid before a Call is created.
Use description to guide extraction and enum to list allowed values. Descriptions do not enforce length, range, or pattern constraints; check those business constraints in your application. See Result schema for a supported example and schema errors for corrections.
Optional destination region. Inferred from the phone when omitted. An explicit region conflicting with the phone requires corrected input.
Optional spoken BCP-47 locale. Inferred from task intent and available regional languages when omitted.
AgenticCall
idAPI Call resource ID. Use this ID for API paths and event correlation, not the telephone ID in Billing.
call_idTelephone call ID shown in Billing, using the same identity as Goal Run call_id. Always present; null until recorded, including cancellation before dialing. Independent of business result availability. Does not indicate whether charges have settled. Use id, not this field, for API paths.
objectstatusStable execution state. No-answer, busy and declined calls complete execution normally. Technical execution failures are failed; explicit cancellation is canceled. Completed execution may still have result_status=pending while its business result is being processed.
call_outcomeReported telephone outcome, separate from business success and billing connection evidence. Null before a telephone outcome is known or when execution is canceled or fails technically.
result_statusPending means keep polling. Available includes an empty result object. Unavailable means no schema-valid business result could be produced; inspect error for technical failures. Not applicable is used for cancellation and technical execution failure.
Recorded conversation turns in order, independent of the business result. Always present; empty before terminal execution or when no transcript is available. Never generated from result_schema.
taskphoneregionlocaleResult validated against result_schema and durably persisted. Null while pending, unavailable, not applicable, or on a technical error. Explicit schema-valid task fallbacks are preserved.
Technical execution or result-processing error, or null. No-answer, busy, declined, cancellation and insufficient business evidence do not populate error.
created_atcompleted_atUTC telephone-execution completion time, or null while execution is non-terminal.
TerminalWebhookEvent
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: id, type, created_at +1 more | |
| type = object · requires: id, type, created_at +1 more |
idUnique webhook event id. Use it as an idempotency key when processing webhook side effects.
typeTerminal event type for the call.
created_atISO 8601 timestamp when CALL-E created this webhook event.
Terminal call task snapshot associated with the webhook event.
AgenticWebhookEvent
idtypecreated_atPersisted one-shot snapshot sharing execution, call_outcome and result_status with Goal Run. Poll only while result_status is pending. Completed execution does not imply business success. Terminal webhooks are sent when result_status is no longer pending, including unavailable results.
GoalList
objectAlways list for paginated list responses.
Goal interfaces in stable opaque-id order. Do not assume the first item is the Goal your
workflow should execute; store the intended goal_id when it is published.
next_cursorOpaque cursor for the next page. null means there are no more Goals.
Goal
objectAlways goal for Goal responses.
idOpaque Goal identity. This is distinct from the nested RunSpec identity.
titleShort developer-facing title from the current published RunSpec. It may be null for an untitled Goal.
descriptionDeveloper-facing summary of what the current published Goal does. This is not the execution prompt.
statusAlways active; non-executable Goals are not returned by this surface.
Currently published immutable interface used to validate new variables and interpret
result. New business keys pin this version at acceptance time.
GoalPublishedRunSpec
idOpaque immutable RunSpec identity.
versionMonotonic published version within this Goal. A later publish affects only new Runs.
Normalized JSON Schema for per-Run variables. Respect required, property types, enum
values, defaults, and additionalProperties; invalid input is rejected before execution.
Normalized JSON Schema for result. CALL-E exposes a result only after it is
validated against this exact pinned schema and durably persisted.
CreateGoalRunRequest
phone^\+[1-9]\d{7,14}$ · requiredRecipient phone in canonical E.164 form: +, country code, and subscriber number with
no spaces, punctuation, or extension. The caller must be authorized to contact it.
CALL-E validates it against the published Goal's fixed Voice Target policy.
Per-Run business context validated against the pinned published input_schema. Keys and
required fields vary by Goal. Values must be finite JSON strings, numbers, or booleans;
nested objects, arrays, and null are not supported. Omit for Goals whose schema accepts {}.
GoalScalar
Scalar value supported by published Goal input and result Schema profiles.
GoalVariables
Scalar value supported by published Goal input and result Schema profiles.
GoalRun
objectidPublic Goal Run identity. Persist this value and use it as goal_run_id when polling.
goal_idGoal identity supplied in the create path.
run_idInternal execution member exposed for correlation; do not use it in the Goal Run polling path.
call_idCalling call identifier selected for this Goal Run when that trusted fact is available,
or null before a call identifier is persisted or when no identifier is available. This
is different from the Goal Run id and nested run_id; it does not expose other provider
diagnostics and must not be treated as an independent answered-call boolean.
Read-only identity and version of the exact RunSpec pinned by this Run.
statusStable execution state. No-answer, busy and declined calls complete execution normally. Technical execution failures are failed; explicit cancellation is canceled. Completed execution may still have result_status=pending while its business result is being processed.
call_outcomeReported telephone outcome, separate from business success and billing connection evidence. Null before a telephone outcome is known or when execution is canceled or fails technically.
result_statusPending means keep polling. Available includes an empty result object. Unavailable means no schema-valid business result could be produced; inspect error for technical failures. Not applicable is used for cancellation and technical execution failure.
Recorded conversation turns in order, independent of business result readiness or errors. Always present; empty before terminal execution or when no transcript is available.
Parsed result validated against the published result schema and durably persisted, or
null while pending, unavailable, not applicable, or on a technical error. Its keys vary by Goal.
Technical execution or result-processing error, or null. Ordinary telephone outcomes, cancellation and insufficient business evidence are represented by call_outcome/result_status.
created_atUTC time at which CALL-E durably accepted this Goal Run.
completed_atUTC telephone-execution completion time, or null while execution is non-terminal.
GoalRunSpecSnapshot
idExact immutable RunSpec id pinned when the Goal Run was accepted.
versionPublished RunSpec version pinned for this Goal Run.
GoalRunStatus
Stable execution state. No-answer, busy and declined calls complete execution normally. Technical execution failures are failed; explicit cancellation is canceled. Completed execution may still have result_status=pending while its business result is being processed.
CallOutcome
Reported telephone outcome, separate from business success and billing connection evidence. Null before a telephone outcome is known or when execution is canceled or fails technically.
BusinessResultStatus
Pending means keep polling. Available includes an empty result object. Unavailable means no schema-valid business result could be produced; inspect error for technical failures. Not applicable is used for cancellation and technical execution failure.
GoalRunError
codemessageHuman-readable safe explanation. Do not parse this field for application logic.
detail_codeOptional low-cardinality diagnostic detail safe for logs or narrow application branching.
CreateCallRequest
taskNatural-language instruction for the call task. Include the goal, relevant details the voice agent should know, and the exact information you want collected.
Optional explicit recipients for this call task. Omit it when the task text already contains the phone targets CALL-E should use. The default outbound line permits one phone number in total across all recipients. Multiple targets require an eligible purchased outbound number; this also applies to targets inferred from task text.
Optional JSON Schema object that defines the structured result CALL-E should extract for the whole call task.
CALL-E passes the schema, including field description values, to the extraction model after the call reaches a terminal state. Use descriptions to explain field meaning and enum selection logic, for example: "Use strong when the prospect asks about pricing, demos, or next steps."
Descriptions guide extraction but are not hard validation rules. Hard validation comes from type, required, enum, and additionalProperties.
Supported schema features are type, properties, required, enum, nested object fields, simple array.items, description, and additionalProperties: false. Unsupported features include $ref, oneOf, anyOf, allOf, recursive schemas, complex format validation, and additionalProperties: true.
Length constraints (maxLength, minLength), numeric bounds (minimum, maximum), and pattern are outside the documented validation guarantees. Check these business constraints in your application; successful request acceptance does not prove they are enforced on the result. See legacy structured results.
Prefer string enums over booleans for business decisions that may be unclear, and include an unknown enum value when the call may not provide enough evidence.
Optional JSON Schema object that defines the structured result CALL-E should extract independently for each recipient.
This is useful for batch calls where each recipient needs their own outcome, such as can_attend, confirmed, requested_callback, or interest_level.
Do not use reserved recipient response field names such as summary, status, transcript, call_id, or timing fields as custom result fields. Use names such as customer_summary, notes, or reason instead.
Field description values are passed to the extraction model and should explain how enum values should be selected. Descriptions guide extraction but are not hard validation rules. Hard validation comes from type, required, enum, and additionalProperties.
Supported schema features are type, properties, required, enum, nested object fields, simple array.items, description, and additionalProperties: false. Unsupported features include $ref, oneOf, anyOf, allOf, recursive schemas, complex format validation, and additionalProperties: true.
Length constraints (maxLength, minLength), numeric bounds (minimum, maximum), and pattern are outside the documented validation guarantees. Check these business constraints in your application; successful request acceptance does not prove they are enforced on the result. See legacy structured results.
Object schemas are strict by default. Fields not declared in properties are rejected, and unsupported or invalid recipient results are returned as null.
Optional caller-owned metadata echoed on the call and webhook payloads. Use this for workflow ids, tenant ids, or internal correlation keys.
webhook_urlOptional per-request HTTPS webhook URL. When provided, CALL-E sends terminal call events to this URL in addition to project-level webhook delivery.
CallTaskRecipientRequest
phonesPhone numbers in E.164 format for this recipient. Replace placeholders such as <RECIPIENT_1_E164_PHONE> with phone numbers you own or are authorized to call.
localeBCP 47 locale hint for the conversation, for example en-US.
regionRecipient country or region code used for routing and compliance checks, for example US.
CallStatus
Current lifecycle state of a CALL-E call. in_progress includes post-call result finalization; terminal states are published only after the post-call outcome is available.
CompletionConfidence
scoreConfidence score in the 0 to 1 range for CALL-E's task completion judgment.
labelConfidence label for the task completion judgment, for example low, medium, or high.
RecipientStatus
Current lifecycle state for one recipient in a call task.
AttemptStatus
Current lifecycle state for one outbound dial attempt.
CallTranscriptTurn
offset_secondsSeconds from the start of the attempt. null when the source line did not include a parseable timestamp.
speakerSpeaker for this transcript turn.
textSpoken text for this transcript turn.
CallTaskAttempt
idStable outbound attempt identifier.
phonePhone number dialed by this attempt.
statusCurrent attempt lifecycle state.
started_atISO 8601 timestamp when this attempt started dialing. null before dialing begins.
completed_atISO 8601 timestamp when this attempt reached a terminal state. null while queued, dialing, or in progress.
summaryHuman-readable summary for this attempt. null when no attempt-level summary is available.
Structured transcript turns for this attempt. Empty when no transcript is available.
provider_call_idProvider call identifier for support correlation when available.
failure_codeMachine-readable failure reason when this attempt failed.
failure_messageHuman-readable failure explanation when this attempt failed.
CallTaskRecipient
idStable recipient identifier within the call task.
phonesPhone numbers associated with this recipient.
localeBCP 47 locale hint used for this recipient when available.
regionCountry or region code used for routing and compliance checks when available.
statusCurrent recipient lifecycle state.
Schema-valid structured result object extracted for this recipient using recipient_result_schema.
null means CALL-E could not produce a schema-valid result for this recipient from the terminal call evidence, or no recipient_result_schema was provided.
summaryShort human-readable summary for this recipient. null while the recipient is still running or when no useful summary is available.
Outbound dial attempts made for this recipient.
CallTask
idPublic CALL-E call task identifier. Store this id to fetch state, list events, and correlate webhooks.
objectAlways call_task for call task responses.
statusCurrent call task lifecycle state.
taskOriginal task instruction submitted when the call task was created.
Recipient states for this call task.
Schema-valid structured result object extracted for the whole call task using result_schema.
null means CALL-E could not produce a schema-valid task-level result from the terminal call evidence, or no result_schema was provided. Check recipient-level structured_result when you use recipient_result_schema for batch calls.
summaryShort human-readable summary of the call task outcome. null while the call task is still running or when no useful summary is available.
task_completedPost-summary judgment for whether the task reached a clear end state for the user. null until CALL-E has a terminal post-summary outcome.
Confidence for task_completed. null until CALL-E has a terminal post-summary outcome.
evidenceShort evidence items supporting the post-summary task outcome. Empty until CALL-E has terminal evidence.
Caller-owned metadata submitted on the create call request.
failure_codeMachine-readable failure reason when status is failed; otherwise null.
failure_messageHuman-readable failure explanation when status is failed; otherwise null.
created_atISO 8601 timestamp when CALL-E accepted the call request.
completed_atISO 8601 timestamp when the complete terminal call result was published. null while queued or in progress.
DeveloperEvent
idPublic event identifier.
typeDeveloper-facing event type, for example call.completed.
call_idPublic CALL-E call identifier associated with this event.
created_atISO 8601 timestamp when the event was emitted.
levelEvent severity for log routing and alerting.
statusCall status at the time this event was emitted.
messageShort human-readable event message.
Event-specific structured details. Shape depends on the event type.
EventList
objectAlways list for paginated list responses.
Events in this page, ordered from oldest to newest for the requested cursor window.
next_cursorCursor for the next page. null means there are no more events.
WebhookEventType
Terminal webhook event type.
WebhookEvent
idUnique webhook event id. Use it as an idempotency key when processing webhook side effects.
typeTerminal event type for the call.
created_atISO 8601 timestamp when CALL-E created this webhook event.
Terminal call task snapshot associated with the webhook event.
WebhookCallData
idPublic CALL-E call task identifier. Store this id to fetch state, list events, and correlate webhooks.
objectAlways call_task for call task responses.
statusCurrent call task lifecycle state.
taskOriginal task instruction submitted when the call task was created.
Recipient states for this call task.
Schema-valid structured result object extracted for the whole call task using result_schema.
null means CALL-E could not produce a schema-valid task-level result from the terminal call evidence, or no result_schema was provided. Check recipient-level structured_result when you use recipient_result_schema for batch calls.
summaryShort human-readable summary of the call task outcome. null while the call task is still running or when no useful summary is available.
task_completedPost-summary judgment for whether the task reached a clear end state for the user. null until CALL-E has a terminal post-summary outcome.
Confidence for task_completed. null until CALL-E has a terminal post-summary outcome.
evidenceShort evidence items supporting the post-summary task outcome. Empty until CALL-E has terminal evidence.
Caller-owned metadata submitted on the create call request.
failure_codeMachine-readable failure reason when status is failed; otherwise null.
failure_messageHuman-readable failure explanation when status is failed; otherwise null.
created_atISO 8601 timestamp when CALL-E accepted the call request.
completed_atISO 8601 timestamp when the complete terminal call result was published. null while queued or in progress.
WebhookAcknowledgement
okOptional acknowledgement flag returned by your server.