Two API clients generated from the same OpenAPI document, plus a browser layer for calls and chats. The API clients hold a personal access token and belong on a server. A browser gets only a short-lived call or chat token minted by your server.

Install and make a call

Conventions both clients share

  • Same operations, same names. talqing.agents.versions.rollback is the same call in both. TypeScript spells namespaces in camelCase, Python in snake_case.
  • Argument style. TypeScript takes one object: path and query parameters flat, the body keyed by its schema name ({ agent_id, createAgentRequest: {…} }). Python takes path parameters positionally and everything else as keyword arguments.
  • The base URL is required and has no default; both clients refuse to start without it.
  • One error type. Every non-2xx raises TalqingApiError (TypeScript) or TalqingAPIError (Python), carrying the API’s one error envelope. See errors.
  • One paging helper, paginate, for every list endpoint. See pagination.
  • Typed streams for the four event-stream methods: conversations.events and copilot.{agents,tools,tasks}.stream. See streaming.
  • Types use the API’s names: AgentConfig, AgentResponse, CallOutcome, OperationRequest. TypeScript types; Python TypedDicts over plain dicts.

Resource namespaces

Each method maps to one endpoint in the API reference: telephony.phoneNumbers.assign is POST /v1/telephony/phone-numbers/{number_id}/assign. Python renames one method, telephony.phone_numbers.import_(), because import is a keyword. Workspaces, members, roles and tokens are dashboard-only and not in either client.

TypeScript

Client options, call shape, streams and types.

Python

Sync and async clients, the omit rule, streams.

React and browser

Every hook and helper for web calls and chats.