Schemas
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.
Read-only identity and version of the exact RunSpec pinned by this Run.
statusStable telephone execution state. queued and in_progress are non-terminal; completed,
failed, and canceled are terminal. A completed call can still have result: null and
error: null briefly while CALL-E parses and saves the result.
Parsed result validated against the published result schema and durably persisted, or
null while processing or when the Run has an error. Its keys vary by Goal.
Unified execution or result-processing error, or null. Branch on code; keep message
for logs and operators. A non-null error is final and is mutually exclusive with result.
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 telephone execution state. queued and in_progress are non-terminal; completed,
failed, and canceled are terminal. A completed call can still have result: null and
error: null briefly while CALL-E parses and saves the result.
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.
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.
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.
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.
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 call reached a terminal state. 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 call reached a terminal state. null while queued or in progress.
WebhookAcknowledgement
okOptional acknowledgement flag returned by your server.