SDKs
The official server SDKs support single-target Calls and published Goal Runs. Use SDK 1.0.1 with the production API. Legacy call-task integrations must migrate their inputs and result handling before upgrading.
Install
Terminal
Python requires 3.11 or later. Keep API keys in trusted server environments. Source: TypeScript and Python.
Configuration
Terminal
For the test environment, set CALLE_BASE_URL=https://test-api.heycall-e.com
and use a test-compatible key. These examples make a real call. Omitted region
and locale are inferred from the phone and task; conflicting or ambiguous input
returns 422 input_incomplete for correction.
TypeScript
TypeScript
Python
Python
The client defaults to production. Wait helpers stop when result_status is
not pending (resultStatus in TypeScript), including unavailable results with
both result and error null. A timeout does not cancel or replace the Call.
Python exposes the Billing identifier as call_id; TypeScript uses callId.
Use the separate resource id for API requests.
For a runnable Python or Ruby example that saves the request and resumes the same Call, see Run a complete example.
Retry safely
Persist one key and the original request before calling create. Retrying the
same logical call uses both unchanged. Do not generate a new key inside a retry
loop or copy resolved region/locale from the response into an originally
omitted input. A replay returns the original Call even after failure or completion;
it does not initiate another phone call. Follow Call retry decisions
to distinguish 409 idempotency_conflict with reason creation_in_progress
from changed-input conflicts.
Existing integrations
Keep a legacy client for historical call-task IDs. The current SDK's Calls
methods use the single-target interface; Goal endpoints and request shapes remain unchanged, but the result readiness
rule has changed. SDK 0.7.x Goal wait helpers can time out on unavailable results;
upgrade to 1.0 or poll REST using result_status.
HTTP/Python use result_schema and error.detail_code; TypeScript uses
resultSchema and error.detailCode. See the migration guide.
Community SDKs
Android / Wear OS is community-maintained. Check its documented API compatibility independently of the server SDK releases.