Legacy SDKs
Legacy API
These examples use the legacy call-task API and SDK 0.7.x. Legacy Calls are planned for retirement at the end of 2026. Use Calls and SDK 1.0 for new integrations; see the migration guide.
Examples on this page target the historical Developer API 0.7.0 contract
and server SDKs @call-e/calle@0.7.0 and calle-ai==0.7.0 where used.
See API versions and migration before
adapting an older example.
Official SDKs
CALL-E provides server SDKs for trusted backend services, workers, and automation systems that create and monitor call tasks.
Packages
TypeScript package name:
Code
Python distribution name:
Code
Python imports the package as calle:
Code
Package status
The legacy examples below use:
- TypeScript:
@call-e/calle@0.7.0 - Python:
calle-ai==0.7.0
These packages support the legacy call-task API. For current Calls and Goal
Runs, use SDK 1.0. Legacy Goal Run wait helpers can time out when a
final unavailable result has both result and error null.
Goal Runs
The Goal-based SDK surface keeps published contracts separate from the one-shot Calls API:
- TypeScript:
client.goals.list(...),get(...),run(...),getRun(...),waitForResult(...), andrunAndWait(...) - Python:
client.goals.list(...),get(...),run(...),get_run(...),wait_for_result(...), andrun_and_wait(...)
Run requests contain Goal identity, one phone number, per-Run variables, and an
idempotency key. They do not accept request-scoped task text, prompts,
input_schema, or result_schema; those fields are owned by the published
RunSpec. See the Goal Runs guide for the API contract and SDK
examples.
Source code
Both SDKs are maintained in public repositories.
| Runtime | Package | Repository |
|---|---|---|
| TypeScript | @call-e/calle | CALLE-AI/server-sdk-typescript |
| Python | calle-ai | CALLE-AI/server-sdk-python |
The TypeScript repository includes public source code, examples, and security guidance:
Local examples
The TypeScript SDK repository includes runnable examples for the server-side one-shot call task flow.
TypeScript
Calls API
The two-recipient examples below require an eligible purchased number selected as the account's default outbound number. See batch calls and account limits.
The SDKs expose context as a reserved input for future SDK-side workflow data. The current SDKs do not send context to the API.
Examples use phone placeholders such as <E164_PHONE> and <RECIPIENT_1_E164_PHONE>. Replace them with phone numbers you own or are authorized to call.
The SDKs accept structured result schemas as plain JSON objects. Use field description values to explain how CALL-E should interpret enum values, and use type, required, enum, and additionalProperties for hard validation. See the Calls guide for structured result design patterns and examples.
TypeScript
Python
Availability
Install the pinned legacy package for your runtime. The Python SDK requires Python 3.11 or later; Python 3.9 and 3.10 are not supported.
Terminal
Use pinned versions when your deployment process requires exact package reproducibility:
Terminal
Supported scope
The official TypeScript and Python SDKs do not include:
- Python async client support
- Project-level webhook management
- Client-initiated cancellation of in-flight calls
- Recurring or scheduled calls
- Zod result schema helpers
- Pydantic result schema helpers
Community SDKs
- Android / Wear OS — calle-android-sdk (community-maintained).