Phone Numbers API enhancements

New endpoints have been added and existing endpoints have been updated for managing phone numbers.

New endpoints:

EndpointTitle
GET /numbers/{phone_number_slug}Get a phone number
POST /custom-numbersImport phone number
PATCH /numbers/{phone_number_slug}Update a phone number
DELETE /numbers/{phone_number_slug}Delete a phone number
  • Get a phone number: Retrieve detailed information about a specific phone number, including SIP configuration, capabilities, and attached assistants.
  • Import phone number: Import custom phone numbers for direct SIP dialing scenarios.
  • Update a phone number: Modify phone number configuration including friendly name and SIP settings.
  • Delete a phone number: Remove a phone number from your workspace. For purchased phone numbers, this also cancels the monthly subscription.

Updated endpoints:

EndpointTitle
GET /numbersList phone numbers
  • List phone numbers: Now includes pagination information (total_records, limit, offset) in the response.

GPT-5.2 is now supported

Added GPT-5.2 support for agents.

EndpointTitle
POST /assistantsCreate an agent
PUT /assistants/:model_idUpdate an agent
1"agent": {
2 "llm": "gpt-5.2"
3 }

New parameter: message_before_action_starts for custom actions

Custom actions now support an optional message_before_action_starts parameter that allows you to specify a message the agent will speak before the action is triggered.

What is it? This optional string parameter lets you set a custom message that the agent will say before executing a custom action, providing better user experience and context during action execution.

EndpointTitle
POST /actionsCreate an action
PUT /actions/{action_id}Update an action
1"CUSTOM_ACTION": {
2 "http_mode": "GET",
3 "url": "https://example.com/api",
4 "message_before_action_starts": "Let me check that for you"
5 }

New parameter: telephony_ringing_duration

The Get a Call API now includes a new response parameter: telephony_ringing_duration.

What is it? This parameter represents the total time (in seconds) that the call spent ringing on the telephony network before being answered or disconnected.



Simulations Updates

Based on user feedback, we have made changes to Simulations with a comprehensive set of new endpoints to manage Test Cases, Test Suites, and Simulation Sessions programmatically.

Key changes:

  • Test suites are attached to specific agents and can only run on the agent they were designed for
  • Test case generation now supports flow builder agents
  • All of your previously created Agent-based tests will now be grouped into a Test Suite.
  • Your Custom test cases will also be grouped, based on the most recently updated agent on your workspace. These changes are designed to make your test management clearer and more organised.
  • Scenarios are separate entities used when generating test cases to ensure coverage of specific situations

Simulation cases

Simulation suites

Simulation runs and sessions

EndpointTitle
POST /simulationsStart a simulation
GET /simulationsList simulations
GET /simulations/{simulation_id}Get a simulation
GET /simulations/sessionsList simulation sessions
GET /simulations/session/{simulation_session_id}Get a simulation session

Upcoming Changes

The following changes are planned for simulation case CRUD endpoints:

Field Deprecation:

  • The type field in simulation case payloads is deprecated and will be removed in a future version. Please remove this field from your API requests.

New Required Fields: In upcoming releases, the following fields will become mandatory:

  • suite_id — Test suite identifier. All simulation cases must be associated with a suite.
  • base_agent_id — The agent ID the test case is based on. This ensures proper association between test cases and agents.

Please update your integrations to include these fields to ensure compatibility with future API versions.

Read more about the feature here.

Analytics Export: Date-Time Parameters

The from_date and to_date parameters in the analytics export endpoint now accept datetime values instead of date-only values, allowing for more precise time-based filtering.

Changes:

  • from_date and to_date parameters now use date-time format instead of date format
  • Both parameters accept ISO 8601 datetime strings (e.g., 2025-11-25T14:30:00Z)
EndpointTitle
GET /analyticsAnalytics export

GPT-5.1 is now supported

Added GPT-5.1 support for agents.

EndpointTitle
POST /assistantsCreate an agent
PUT /assistants/:model_idUpdate an agent
1"agent": {
2 "llm": "gpt-5.1"
3 }

Knowledge Base Sources: Content field added

Added a new content field to the knowledge base sources endpoint to provide text content directly when adding text sources.

  • PDF/Web sources: Use url field with a link to the hosted file or webpage
  • Text sources: Use content field to provide text directly
EndpointTitle
POST /knowledge_base/:knowledge_base_id/sourcesAttach document to source

List Calls Response Update

The GET /v2/calls endpoint now returns additional call metadata and pagination information to provide more comprehensive call details.

EndpointTitle
GET /v2/callsList calls

New Fields:

  • pagination object with total_records, limit, and offset for paginated responses
  • judge_results — Call quality judging results
  • agents_used — Array of agents used during the call
  • executed_actions — Actions executed during the call
  • type_of_call — Call direction (inbound/outbound)
  • error_message — Error details if call failed
  • call_status — Current status of the call
  • labels — Array of labels associated with the call
  • agent_phone_number — Phone number used by the agent
  • deployment_type — Type of deployment
  • name — Name of the call recipient

Removed Fields:

  • timeline, recording_sid, and voice_engine_type are no longer returned

New Webhook Logs Endpoints

We’ve added two endpoints to manage Webhook Logs programmatically.

EndpointTitle
GET /logsList webhook logs
GET /logs/{webhook_log_id}Retrieve a webhook log by ID

New Simulations Endpoints

We’ve added a comprehensive set of new endpoints to manage Simulation Cases, Simulation Suites, and Simulation Sessions programmatically.

  • Case Management: Create, list, retrieve, update, delete, and generate simulation cases.
  • Suite Management: Create, execute, and maintain suites that group related cases.
  • Simulation Runs & Sessions: Start simulations and review run/session data.

Simulation cases

EndpointTitle
POST /simulation_casesCreate a simulation case
GET /simulation_casesList simulation cases
GET /simulation_cases/{simulation_case_id}Get a simulation case
PUT /simulation_cases/{simulation_case_id}Update a simulation case
DELETE /simulation_cases/{simulation_case_id}Delete a simulation case
POST /simulation_cases/generateGenerate simulation cases
GET /simulation_cases/by_agentList simulation cases by agent

Simulation suites

EndpointTitle
POST /simulation_suitesCreate a simulation suite
GET /simulation_suitesList simulation suites
GET /simulation_suites/{suite_id}Get a simulation suite
PUT /simulation_suites/{suite_id}Update a simulation suite
DELETE /simulation_suites/{suite_id}Delete a simulation suite
POST /simulation_suites/{suite_id}/executeExecute a simulation suite

Simulation runs and sessions

EndpointTitle
POST /simulationsStart a simulation
GET /simulationsList simulations
GET /simulations/{simulation_id}Get a simulation
GET /simulations/sessionsList simulation sessions
GET /simulations/session/{simulation_session_id}Get a simulation session

Read more about the feature here.