openapi: 3.1.0 info: title: Platform API version: 1.0.0 servers: - url: https://api.synthflow.ai/v2 - url: https://api.us.synthflow.ai/v2 - url: https://api.eu.synthflow.ai/v2 tags: - name: '' paths: /assistants: post: operationId: create-assistant summary: Create an agent description: '' tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/create-assistant_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Create-assistantRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: end_call_reasons: type: array items: type: string description: 'Deprecated: use end_call_reasons_v2 instead. Custom conditions that trigger automatic call termination (simple string array format).' description: type: string description: Agent description. phone_number: type: string description: The phone number attached to the agent. external_webhook_url: type: string description: URL of the webhook that should receive data after the call, such as the transcript. is_recording: type: boolean description: Whether the conversation should be recorded. max_duration: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaMaxDuration' voicemail_message: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessage' description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`. type: $ref: '#/components/schemas/type' name: $ref: '#/components/schemas/name' agent: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgent' inbound_call_webhook_url: type: string description: 'The URL for your inbound webhook. For more details on inbound webhooks, see About inbound call webhooks. ' required: - type - name - agent /assistants/{model_id}: put: operationId: update-assistant summary: Update an agent description: "Use this endpoint to update an agent's name, phone number, or other parameters. \n Only the provided parameters will be updated, and others won't be removed or changed." tags: - '' parameters: - name: model_id in: path required: true schema: $ref: '#/components/schemas/model_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/update-assistant_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Update-assistantRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: end_call_reasons: type: array items: type: string description: 'Deprecated: use end_call_reasons_v2 instead. Custom conditions that trigger automatic call termination (simple string array format).' description: type: string description: Agent description. phone_number: type: string description: The phone number attached to the agent. external_webhook_url: type: string description: URL of the webhook that should receive data after the call, such as the transcript. is_recording: type: boolean description: Whether the conversation should be recorded. max_duration: $ref: '#/components/schemas/AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaMaxDuration' voicemail_message: $ref: '#/components/schemas/AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessage' description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`. name: $ref: '#/components/schemas/name' agent: $ref: '#/components/schemas/Agent' delete: operationId: delete-assistant summary: Delete an agent description: Use this endpoint to delete an agent. tags: - '' parameters: - name: model_id in: path required: true schema: $ref: '#/components/schemas/model_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/delete-assistant_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Delete-assistantRequestBadRequestError' get: operationId: get-assistant summary: Get an agent description: '' tags: - '' parameters: - name: model_id in: path required: true schema: $ref: '#/components/schemas/model_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/get-assistant_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Get-assistantRequestBadRequestError' /assistants/: get: operationId: list-assistant summary: List agents description: Lists all agents you have in your account. tags: - '' parameters: - name: limit in: query description: Agents displayed per page. required: false schema: type: integer default: 20 - name: offset in: query description: Index of the first agent to be returned. required: false schema: type: integer default: 0 - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-assistant_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/List-assistantRequestBadRequestError' /assistants/{model_id}/phone_numbers: put: operationId: attach-phone-numbers-to-assistant summary: Attach phone numbers to an outbound agent description: Attach multiple outbound phone numbers to an agent by phone numbers or by slugs. tags: - '' parameters: - name: model_id in: path required: true schema: $ref: '#/components/schemas/model_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/attach-phone-numbers-to-assistant_Response_200' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Attach-phone-numbers-to-assistantRequestNotFoundError' requestBody: content: application/json: schema: $ref: '#/components/schemas/attach-phone-numbers-to-assistant_Request' /assistants/{model_id}/phone_numbers/{phone_number_slug}: delete: operationId: detach-phone-number-from-assistant summary: Detach phone number from an outbound agent description: Remove one attached outbound phone number from an agent. tags: - '' parameters: - name: model_id in: path required: true schema: $ref: '#/components/schemas/model_id' - name: phone_number_slug in: path description: Phone number slug to remove from the agent. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/detach-phone-number-from-assistant_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Detach-phone-number-from-assistantRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Detach-phone-number-from-assistantRequestNotFoundError' /calls: post: operationId: voice-call summary: Make a call description: Initiates a real-time phone call through the AI agent. tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/voice-call_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Voice-callRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: model_id: $ref: '#/components/schemas/model_id' phone: type: string description: Call recipient's phone number. from_phone_number: type: string description: Optional outbound caller ID. Must match a phone number attached to the outbound agent. name: type: string description: Call recipient's name. custom_variables: type: array items: $ref: '#/components/schemas/CallsPostRequestBodyContentApplicationJsonSchemaCustomVariablesItems' description: Key-Value pairs of custom variables that you can dynamically inject into the prompt. [Learn more](/custom-variables). lead_email: type: string description: The customer's email that can be used to book an appointment. lead_timezone: type: string description: The customer's time zone that can be used to book an appointment. For a list of all available time zones, see [Time zones](/time-zones). prompt: type: string description: The prompt that the agent will use. greeting: type: string description: The greeting the agent will use. required: - model_id - phone - name get: operationId: list-calls summary: List calls description: Returns a paginated list of calls for the specified model. You can optionally filter by time window, status, duration range, or phone number. tags: - '' parameters: - name: model_id in: query description: The calls for the specified model ID will be returned required: true schema: type: string - name: limit in: query description: How many calls will be displayed in every page, default is 20 required: false schema: type: integer - name: offset in: query description: Index of the first call to be returned. required: false schema: type: integer - name: from_date in: query description: 'Begin timestamp (milliseconds since epoch) of the call. Available after the call starts. Example: 1732546200000' required: false schema: type: integer format: int64 - name: to_date in: query description: 'End timestamp (milliseconds since epoch) of the call. Available after the call ends. Example: 1732546200000' required: false schema: type: integer format: int64 - name: call_status in: query description: Status of call. required: false schema: type: string - name: duration_min in: query description: Only retrieve calls with duration greater than or equal to this value (seconds). required: false schema: type: integer - name: duration_max in: query description: Only retrieve calls with duration less than or equal to this value (seconds). required: false schema: type: integer - name: lead_phone_number in: query description: Phone number of the caller or callee (E.164 format preferred) and URL-encode the leading "+" (e.g. %2B14155552671) required: false schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-calls_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/List-callsRequestBadRequestError' /calls/{call_id}: get: operationId: get-phone-call summary: Get a call description: Retrieve the transcript and other metadata for a phone call. tags: - '' parameters: - name: call_id in: path required: true schema: $ref: '#/components/schemas/call_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/get-phone-call_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Get-phone-callRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Get-phone-callRequestNotFoundError' /simulation_cases: post: operationId: create-simulation-case summary: Create a simulation case description: Create a new simulation case for a workspace. tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/create-simulation-case_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Create-simulation-caseRequestBadRequestError' '422': description: '422' content: application/json: schema: $ref: '#/components/schemas/Create-simulation-caseRequestUnprocessableEntityError' requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulationCaseCreateIn' get: operationId: list-simulation-cases summary: List simulation cases description: List simulation cases with pagination and optional filtering. tags: - '' parameters: - name: page_number in: query description: Page number. required: false schema: type: integer default: 1 - name: page_size in: query description: Number of items per page. required: false schema: type: integer default: 10 - name: search in: query description: Search term for simulation case names. required: false schema: type: string - name: simulation_case_type in: query description: Filter by simulation case type. required: false schema: $ref: '#/components/schemas/SimulationCasesGetParametersSimulationCaseType' - name: suite_id in: query description: Filter by simulation suite ID. required: false schema: type: string format: uuid - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-simulation-cases_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/List-simulation-casesRequestBadRequestError' /simulation_cases/{simulation_case_id}: get: operationId: get-simulation-case summary: Get a simulation case description: Retrieve a simulation case by ID. tags: - '' parameters: - name: simulation_case_id in: path description: Simulation case ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/get-simulation-case_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Get-simulation-caseRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Get-simulation-caseRequestNotFoundError' put: operationId: update-simulation-case summary: Update a simulation case description: Update an existing simulation case. tags: - '' parameters: - name: simulation_case_id in: path description: Simulation case ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/update-simulation-case_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Update-simulation-caseRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Update-simulation-caseRequestNotFoundError' '422': description: '422' content: application/json: schema: $ref: '#/components/schemas/Update-simulation-caseRequestUnprocessableEntityError' requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulationCaseUpdateIn' delete: operationId: delete-simulation-case summary: Delete a simulation case description: Delete a simulation case by ID. tags: - '' parameters: - name: simulation_case_id in: path description: Simulation case ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '204': description: '204' content: application/json: schema: type: object properties: {} '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Delete-simulation-caseRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Delete-simulation-caseRequestNotFoundError' /simulation_cases/generate: post: operationId: generate-simulation-cases summary: Generate test cases description: Generate test cases for an agent. Supports both custom prompt and flow designer agents. You can optionally specify scenarios to ensure the generated tests cover specific situations. The response is streamed as NDJSON, providing progress and results incrementally. tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: type: string '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Generate-simulation-casesRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Generate-simulation-casesRequestNotFoundError' '422': description: '422' content: application/json: schema: $ref: '#/components/schemas/Generate-simulation-casesRequestUnprocessableEntityError' requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulationCaseGenerateIn' /simulation_cases/by_agent: get: operationId: list-simulation-cases-by-agent summary: List simulation cases by agent description: List all simulation cases created for a specific agent. tags: - '' parameters: - name: agent_id in: query description: Agent ID whose cases to list. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-simulation-cases-by-agent_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/List-simulation-cases-by-agentRequestBadRequestError' /simulation_suites: post: operationId: create-simulation-suite summary: Create a simulation suite description: Create a new simulation suite attached to a specific agent. The suite can only be executed on the agent specified by model_id. tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/create-simulation-suite_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Create-simulation-suiteRequestBadRequestError' requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulationSuiteCreateIn' get: operationId: list-simulation-suites summary: List simulation suites description: List simulation suites with pagination and optional filtering. tags: - '' parameters: - name: page_number in: query description: Page number. required: false schema: type: integer default: 1 - name: page_size in: query description: Number of items per page. required: false schema: type: integer default: 10 - name: search in: query description: Search term for simulation suite names. required: false schema: type: string - name: model_ids in: query description: Filter by list of model IDs. required: false schema: type: array items: type: string - name: start_date in: query description: Filter by created_at >= start_date (ISO format). required: false schema: type: string format: date-time - name: end_date in: query description: Filter by created_at <= end_date (ISO format). required: false schema: type: string format: date-time - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-simulation-suites_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/List-simulation-suitesRequestBadRequestError' /simulation_suites/{suite_id}: get: operationId: get-simulation-suite summary: Get a simulation suite description: Retrieve a simulation suite by ID. tags: - '' parameters: - name: suite_id in: path description: Simulation suite ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/get-simulation-suite_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Get-simulation-suiteRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Get-simulation-suiteRequestNotFoundError' put: operationId: update-simulation-suite summary: Update a simulation suite description: Update an existing simulation suite. tags: - '' parameters: - name: suite_id in: path description: Simulation suite ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/update-simulation-suite_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Update-simulation-suiteRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Update-simulation-suiteRequestNotFoundError' requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulationSuiteUpdateIn' delete: operationId: delete-simulation-suite summary: Delete a simulation suite description: Delete a simulation suite by ID. tags: - '' parameters: - name: suite_id in: path description: Simulation suite ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '204': description: '204' content: application/json: schema: type: object properties: {} '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Delete-simulation-suiteRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Delete-simulation-suiteRequestNotFoundError' /simulation_suites/{suite_id}/execute: post: operationId: execute-simulation-suite summary: Execute a simulation suite description: Execute all test cases in a suite. The suite runs on the agent it was created for (determined by the suite's model_id). tags: - '' parameters: - name: suite_id in: path description: Simulation suite ID. required: true schema: type: string - name: target_agent_id in: query description: Target agent ID. Must match the suite's model_id. required: true schema: type: string - name: max_turns in: query description: Maximum number of turns per simulation. required: false schema: type: integer default: 20 - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/execute-simulation-suite_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Execute-simulation-suiteRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Execute-simulation-suiteRequestNotFoundError' /simulation_scenarios: post: operationId: create-simulation-scenario summary: Create a simulation scenario description: Create a new simulation scenario. Scenarios are templates used when generating test cases to ensure coverage of specific situations. tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/create-simulation-scenario_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Create-simulation-scenarioRequestBadRequestError' requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulationScenarioCreateIn' get: operationId: list-simulation-scenarios summary: List simulation scenarios description: List simulation scenarios with pagination and optional filtering. tags: - '' parameters: - name: page_number in: query description: Page number. required: false schema: type: integer default: 1 - name: page_size in: query description: Number of items per page. required: false schema: type: integer default: 10 - name: search in: query description: Search term for simulation scenario names. required: false schema: type: string - name: start_date in: query description: Filter by created_at >= start_date (ISO format). required: false schema: type: string format: date-time - name: end_date in: query description: Filter by created_at <= end_date (ISO format). required: false schema: type: string format: date-time - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-simulation-scenarios_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/List-simulation-scenariosRequestBadRequestError' /simulation_scenarios/{scenario_id}: get: operationId: get-simulation-scenario summary: Get a simulation scenario description: Retrieve a simulation scenario by ID. tags: - '' parameters: - name: scenario_id in: path description: Simulation scenario ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/get-simulation-scenario_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Get-simulation-scenarioRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Get-simulation-scenarioRequestNotFoundError' put: operationId: update-simulation-scenario summary: Update a simulation scenario description: Update an existing simulation scenario. tags: - '' parameters: - name: scenario_id in: path description: Simulation scenario ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/update-simulation-scenario_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Update-simulation-scenarioRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Update-simulation-scenarioRequestNotFoundError' requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulationScenarioUpdateIn' delete: operationId: delete-simulation-scenario summary: Delete a simulation scenario description: Delete a simulation scenario by ID. tags: - '' parameters: - name: scenario_id in: path description: Simulation scenario ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '204': description: '204' content: application/json: schema: type: object properties: {} '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Delete-simulation-scenarioRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Delete-simulation-scenarioRequestNotFoundError' /simulations: post: operationId: start-simulation summary: Start a simulation description: Start a new simulation using a simulation case. tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/start-simulation_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Start-simulationRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Start-simulationRequestNotFoundError' '422': description: '422' content: application/json: schema: $ref: '#/components/schemas/Start-simulationRequestUnprocessableEntityError' requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulationCreateIn' get: operationId: list-simulations summary: List simulations description: List simulations with pagination and optional filters. tags: - '' parameters: - name: page_number in: query description: Page number. required: false schema: type: integer default: 1 - name: page_size in: query description: Number of items per page. required: false schema: type: integer default: 10 - name: simulation_session_id in: query description: Filter by simulation session ID. required: false schema: type: string format: uuid - name: status in: query description: Filter by simulation status. required: false schema: $ref: '#/components/schemas/SimulationsGetParametersStatus' - name: start_date in: query description: Filter by simulation created_at >= start_date (ISO 8601). required: false schema: type: string format: date-time - name: end_date in: query description: Filter by simulation created_at <= end_date (ISO 8601). required: false schema: type: string format: date-time - name: target_agent_id in: query description: Filter by target agent ID. required: false schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-simulations_Response_200' '422': description: '422' content: application/json: schema: $ref: '#/components/schemas/List-simulationsRequestUnprocessableEntityError' /simulations/sessions: get: operationId: list-simulation-sessions summary: List simulation sessions description: List simulation sessions with pagination and optional filters. tags: - '' parameters: - name: page_number in: query description: Page number. required: false schema: type: integer default: 1 - name: page_size in: query description: Number of items per page. required: false schema: type: integer default: 10 - name: target_agent_id in: query description: Filter by target agent ID. required: false schema: type: string - name: start_date in: query description: Filter by simulation created_at >= start_date (ISO 8601). required: false schema: type: string format: date-time - name: end_date in: query description: Filter by simulation created_at <= end_date (ISO 8601). required: false schema: type: string format: date-time - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-simulation-sessions_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/List-simulation-sessionsRequestBadRequestError' /simulations/session/{simulation_session_id}: get: operationId: get-simulation-session summary: Get a simulation session description: Retrieve simulation session details by ID. tags: - '' parameters: - name: simulation_session_id in: path description: Simulation session ID. required: true schema: type: string format: uuid - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/get-simulation-session_Response_200' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Get-simulation-sessionRequestNotFoundError' '422': description: '422' content: application/json: schema: $ref: '#/components/schemas/Get-simulation-sessionRequestUnprocessableEntityError' /simulations/{simulation_id}: get: operationId: get-simulation summary: Get a simulation description: Retrieve a simulation by ID. tags: - '' parameters: - name: simulation_id in: path description: Simulation ID. required: true schema: type: string format: uuid - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/get-simulation_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Get-simulationRequestBadRequestError' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/Get-simulationRequestNotFoundError' '422': description: '422' content: application/json: schema: $ref: '#/components/schemas/Get-simulationRequestUnprocessableEntityError' /actions: get: operationId: list-actions summary: List actions description: '' tags: - '' parameters: - name: limit in: query description: Actions displayed per page. required: false schema: type: integer default: 20 - name: offset in: query description: Index of the first action to be returned. required: false schema: type: integer default: 0 - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-actions_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/List-actionsRequestBadRequestError' post: operationId: create-action summary: Create an action description: '' tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/create-action_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Create-actionRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: REAL_TIME_BOOKING: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBooking' INFORMATION_EXTRACTOR: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractor' LIVE_TRANSFER: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaLiveTransfer' SEND_SMS: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaSendSms' INCALL_SMS: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaIncallSms' INCALL_WHATSAPP: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaIncallWhatsapp' CUSTOM_ACTION: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomAction' CUSTOM_EVAL: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomEval' /actions/initialize: post: operationId: initialize-action summary: Initialize a custom action description: '' tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/initialize-action_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Initialize-actionRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: action_id: type: string description: The action id that will be initialized variables: type: array items: $ref: '#/components/schemas/ActionsInitializePostRequestBodyContentApplicationJsonSchemaVariablesItems' required: - action_id /actions/{action_id}: put: operationId: update-action summary: Update an action description: '' tags: - '' parameters: - name: action_id in: path description: To find an action's ID, go to its page in your Synthflow dashboard. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/update-action_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Update-actionRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: REAL_TIME_BOOKING: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBooking' INFORMATION_EXTRACTOR: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaInformationExtractor' LIVE_TRANSFER: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaLiveTransfer' SEND_SMS: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaSendSms' INCALL_SMS: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaIncallSms' INCALL_WHATSAPP: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaIncallWhatsapp' CUSTOM_ACTION: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomAction' delete: operationId: delete-action summary: Delete an action description: '' tags: - '' parameters: - name: action_id in: path description: To find an action's ID, go to its page in your Synthflow dashboard. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/delete-action_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Delete-actionRequestBadRequestError' get: operationId: get-action summary: Get an action description: Retrieves metadata about an action. tags: - '' parameters: - name: action_id in: path description: To find an action's ID, go to its page in your Synthflow dashboard. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/get-action_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Get-actionRequestBadRequestError' /actions/attach: post: operationId: attach-action summary: Attach an action description: '' tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/attach-action_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Attach-actionRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: model_id: type: string description: The ID of the agent you want to attach an action to. actions: type: array items: type: string description: To find an action's ID, go to its page in your Synthflow dashboard. required: - model_id /actions/detach: post: operationId: detach-action summary: Detach an action description: '' tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/detach-action_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Detach-actionRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: model_id: type: string description: The ID of the agent you want to detach an action from. actions: type: array items: type: string description: To find an action's ID, go to its page in your Synthflow dashboard. required: - model_id /analytics/: get: operationId: analytics-export summary: Export analytics data description: 'Export analytics programmatically for blending with your BI dashboards or internal reporting tools. ### Troubleshooting * If you are not seeing data for a specific agent, double-check the model_id you are using. Make sure the agent is active. * Date range errors: limit the query to a maximum of 120 days. * Unauthorized API access: double-check your API key.' tags: - '' parameters: - name: from_date in: query description: 'The start date and time for the date range for which you want to export analytics data. If you don''t specify the date range, it''ll default to the past 7 days. The maximum date range is 120 days. Example: 2025-11-25T14:30:00Z' required: false schema: type: string format: date-time - name: to_date in: query description: 'The end date and time for the date range for which you want to export analytics data. Example: 2025-11-25T14:30:00Z' required: false schema: type: string format: date-time - name: model_id in: query description: If you want to export data for a specific agent, use its model ID. You can find it on the agent's page in your dashboard. required: false schema: type: string - name: type_of_call in: query description: Filter calls by agent type (`inbound`, `outbound` or `widget`). required: false schema: $ref: '#/components/schemas/AnalyticsGetParametersTypeOfCall' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/analyticsExport_Response_200' /voices: get: operationId: get-voices summary: Get voices description: Lists all the voices assigned to a workspace. tags: - '' parameters: - name: workspace in: query description: Workspace ID. You can find it in your dashboard. required: true schema: type: string - name: limit in: query description: Voices displayed per page. required: false schema: type: integer default: 50 - name: offset in: query description: Index of the first voice to be returned. required: false schema: type: integer default: 0 - name: search in: query description: Search voices by name. required: false schema: type: string - name: provider in: query description: Voice provider to filter by. required: false schema: $ref: '#/components/schemas/VoicesGetParametersProvider' default: elevenlabs - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/get-voices_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Get-voicesRequestBadRequestError' /knowledge_base: get: operationId: list-knowledge-bases summary: List knowledge bases description: Retrieves knowledge bases for the workspace. tags: - '' parameters: - name: limit in: query description: Number of knowledge bases to return per page. required: false schema: type: integer default: 25 - name: offset in: query description: Index of the first knowledge base to return. required: false schema: type: integer default: 0 - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-knowledge-bases_Response_200' post: operationId: create-knowledge-base summary: Create a knowledge base description: Creates a new knowledge base and returns its ID. tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/create-knowledge-base_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Create-knowledge-baseRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: name: type: string description: Name of the knowledge base. rag_use_condition: type: string description: When this knowledge base should be used. /knowledge_base/{id}: get: operationId: get-knowledge-base summary: Get a knowledge base description: Retrieves the knowledge base's name and use condition. tags: - '' parameters: - name: id in: path required: true schema: $ref: '#/components/schemas/knowledge_base_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/get-knowledge-base_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Get-knowledge-baseRequestBadRequestError' put: operationId: update-knowledge-base summary: Update a knowledge base description: '' tags: - '' parameters: - name: id in: path required: true schema: $ref: '#/components/schemas/knowledge_base_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/update-knowledge-base_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Update-knowledge-baseRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: name: type: string description: Name of the knowledge base. rag_use_condition: type: string description: When this knowledge base should be used. delete: operationId: delete-knowledge-base summary: Delete a knowledge base description: '' tags: - '' parameters: - name: id in: path required: true schema: $ref: '#/components/schemas/knowledge_base_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/delete-knowledge-base_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Delete-knowledge-baseRequestBadRequestError' /knowledge_base/{knowledge_base_id}/attach: post: operationId: attach-knowledge-base summary: Attach a knowledge base description: '' tags: - '' parameters: - name: knowledge_base_id in: path required: true schema: $ref: '#/components/schemas/knowledge_base_id' - name: model_id in: query description: id of the agent to which knowledge base needs to be attached required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/attach-knowledge-base_Response_200' /knowledge_base/{knowledge_base_id}/detach: post: operationId: detach-knowledge-base summary: Detach a knowledge base description: '' tags: - '' parameters: - name: knowledge_base_id in: path required: true schema: $ref: '#/components/schemas/knowledge_base_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/detach-knowledge-base_Response_200' requestBody: content: application/json: schema: type: object properties: model_id: type: string description: id of an agent from which knowledge base needs to be detached required: - model_id /knowledge_base/{knowledge_base_id}/sources: get: operationId: list-knowledge-base-sources summary: List knowledge base sources description: Returns a paginated list of sources for the specified knowledge base. tags: - '' parameters: - name: knowledge_base_id in: path required: true schema: $ref: '#/components/schemas/knowledge_base_id' - name: limit in: query description: Maximum number of sources to return per page. required: false schema: type: integer default: 20 - name: offset in: query description: Number of sources to skip before starting to return results. required: false schema: type: integer default: 0 - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/listKnowledgeBaseSources_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/ListKnowledgeBaseSourcesRequestBadRequestError' post: operationId: attach-document-to-source summary: Add a knowledge base source tags: - '' parameters: - name: knowledge_base_id in: path required: true schema: $ref: '#/components/schemas/knowledge_base_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/attachDocumentToSource_Response_200' requestBody: content: application/json: schema: type: object properties: name: type: string description: Source name. type: $ref: '#/components/schemas/KnowledgeBaseKnowledgeBaseIdSourcesPostRequestBodyContentApplicationJsonSchemaType' description: Source type. url: type: string description: Source URL. Required when type is `pdf` (URL to a hosted PDF file) or `web` (URL to a website to scrape) content: type: string description: The full text content for the knowledge base source. Required when type is `text` /knowledge_base/{knowledge_base_id}/sources/{source_id}: put: operationId: update-knowledge-base-source summary: Update a knowledge base source description: 'Update an existing knowledge base source by source ID. The updatable fields depend on the existing source type: - `link` / `file`: `url` - `text`: `content` You can always update `name`. ' tags: - '' parameters: - name: knowledge_base_id in: path required: true schema: $ref: '#/components/schemas/knowledge_base_id' - name: source_id in: path description: Source ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/update-knowledge-base-source_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Update-knowledge-base-sourceRequestBadRequestError' requestBody: content: application/json: schema: $ref: '#/components/schemas/update-knowledge-base-source_Request' delete: operationId: knowledge-base-source-delete summary: Delete a knowledge base source description: '' tags: - '' parameters: - name: knowledge_base_id in: path required: true schema: $ref: '#/components/schemas/knowledge_base_id' - name: source_id in: path description: Source ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/knowledgeBaseSourceDelete_Response_200' /phonebooks: post: operationId: create-a-phone-book summary: Create a phone book tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/createAPhoneBook_Response_200' requestBody: content: application/json: schema: type: object properties: name: type: string description: Phone book name. required: - name get: operationId: list-phone-books summary: List phone books description: List all phone books in your workspace. tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/listPhoneBooks_Response_200' /phonebooks/{phone_book_id}: delete: operationId: delete-a-phone-book summary: Delete a phone book tags: - '' parameters: - name: phone_book_id in: path description: The ID of the phone book you want to delete. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/deleteAPhoneBook_Response_200' /phonebooks/{phone_book_id}/entries: post: operationId: create-a-phone-book-entry summary: Create a phone book entry tags: - '' parameters: - name: phone_book_id in: path description: Phone book ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/createAPhoneBookEntry_Response_200' requestBody: content: application/json: schema: type: object properties: phone_number: type: string transfer_condition: type: string required: - phone_number - transfer_condition /phonebooks/{phone_book_id}/entries/{entry_id}: delete: operationId: delete-a-phone-book-entry summary: Delete a phone book entry tags: - '' parameters: - name: phone_book_id in: path description: Phone book ID. required: true schema: type: string - name: entry_id in: path description: The ID of the phone book entry you want to delete. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: Successful response /subaccounts: post: operationId: create-subaccount summary: Create a subaccount description: '' tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/create-subaccount_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Create-subaccountRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: subaccount_name: type: string description: The name for the new subaccount. This should be a unique identifier that distinguishes it from other subaccounts within the main account. user_email: type: string description: This is the email address of the user you wish to invite to the subaccount. When this optional parameter is filled in, a "sign in" link will be generated and sent back in the response. The user can use this link to sign in and set up their account. twilio_account_sid: type: string description: This is the Twilio SID of the subaccount. twilio_auth_token: type: string description: This is the Twilio Token of the subaccount. concurrency: type: integer description: The maximum number of calls the subaccount can handle at the same time. max_agents: type: - integer - 'null' description: The maximum number of agents the subaccount is allowed to create. Null if no limit is set. max_minutes: type: - integer - 'null' description: The maximum number of minutes allocated to this subaccount. Null if no limit is set. max_workflow_runs: type: - integer - 'null' description: The maximum number of workflow runs allocated to this subaccount. Null if no limit is set. grant_permissions: type: array items: $ref: '#/components/schemas/SubaccountsPostRequestBodyContentApplicationJsonSchemaGrantPermissionsItems' description: Permissions to grant to the subaccount. Duplicate values are not allowed, and any value also present in `revoke_permissions` is rejected by the API. revoke_permissions: type: array items: $ref: '#/components/schemas/SubaccountsPostRequestBodyContentApplicationJsonSchemaRevokePermissionsItems' description: Permissions to revoke from the subaccount. Duplicate values are not allowed, and any value also present in `grant_permissions` is rejected by the API. required: - subaccount_name /subaccounts/{subaccount_id}: put: operationId: update-subaccount summary: Update a subaccount description: '' tags: - '' parameters: - name: subaccount_id in: path required: true schema: $ref: '#/components/schemas/subaccount_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/update-subaccount_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Update-subaccountRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: subaccount_name: type: string description: The name for the new subaccount. This should be a unique identifier that distinguishes it from other subaccounts within the main account. invite_user_email: type: string description: This is the email address of the user you wish to invite to the subaccount. When this optional parameter is filled in, a "sign in" link will be generated and sent back in the response. The user can use this link to sign in and set up their account. pricing_tiers_attach: type: array items: $ref: '#/components/schemas/SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaPricingTiersAttachItems' description: Pricing tier IDs that this subaccount can choose from when selecting a subscription plan. pricing_tiers_detach: type: array items: $ref: '#/components/schemas/SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaPricingTiersDetachItems' description: Pricing tiers will be removed from this subaccount and will no longer be available for selection when choosing a subscription plan. import_subscription: $ref: '#/components/schemas/SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaImportSubscription' description: This section is used when you want to import an existing Stripe subscription for the subaccount twilio_account_sid: type: string description: This is the Twilio SID of the subaccount. twilio_auth_token: type: string description: This is the Twilio Token of the subaccount. concurrency: type: integer description: The maximum calls the subaccount can handle at once. max_agents: type: - integer - 'null' description: The maximum number of agents the subaccount is allowed to create. Null if no limit is set. max_minutes: type: - integer - 'null' description: The maximum number of minutes allocated to this subaccount. Null if no limit is set. max_workflow_runs: type: - integer - 'null' description: The maximum number of workflow runs allocated to this subaccount. Null if no limit is set. grant_permissions: type: array items: $ref: '#/components/schemas/SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaGrantPermissionsItems' description: Permissions to grant to the subaccount. Duplicate values are not allowed, and any value also present in `revoke_permissions` is rejected by the API. revoke_permissions: type: array items: $ref: '#/components/schemas/SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaRevokePermissionsItems' description: Permissions to revoke from the subaccount. Duplicate values are not allowed, and any value also present in `grant_permissions` is rejected by the API. operation_type: $ref: '#/components/schemas/SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaOperationType' description: The type of operation to perform. You can import objects from the parent workspace to a subaccount or return objects from a subaccount in some cases. products: $ref: '#/components/schemas/SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaProducts' description: Objects to be imported to or returned from the subaccount_id delete: operationId: delete-subaccount summary: Delete a subaccount description: Deletes a subaccount by ID. tags: - '' parameters: - name: subaccount_id in: path required: true schema: $ref: '#/components/schemas/subaccount_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/delete-subaccount_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Delete-subaccountRequestBadRequestError' get: operationId: get-subaccount summary: Get a subaccount description: Retrieves detailed metadata about a specific subaccount by ID. tags: - '' parameters: - name: subaccount_id in: path required: true schema: $ref: '#/components/schemas/subaccount_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/get-subaccount_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/Get-subaccountRequestBadRequestError' /subaccounts/: get: operationId: list-subaccounts summary: List subaccounts description: '' tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-subaccounts_Response_200' '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/List-subaccountsRequestBadRequestError' /contacts: get: operationId: list-contacts summary: List contacts tags: - '' parameters: - name: search in: query description: The contact's phone number. required: false schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-contacts_Response_200' /contacts/{contact_id}: get: operationId: get-a-contact summary: Get a contact tags: - '' parameters: - name: contact_id in: path required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/getAContact_Response_200' delete: operationId: delete-a-contact summary: Delete a contact tags: - '' parameters: - name: contact_id in: path required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/deleteAContact_Response_200' /memory_stores: get: operationId: list-memory-stores summary: List memory stores tags: - '' parameters: - name: search in: query description: The memory store's title. required: false schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/list-memory-stores_Response_200' /memory_stores/{memory_store_id}: patch: operationId: update-a-memory-store summary: Update a memory store tags: - '' parameters: - name: memory_store_id in: path required: true schema: $ref: '#/components/schemas/memory_store_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/updateAMemoryStore_Response_200' requestBody: content: application/json: schema: type: object properties: title: type: string description: Memory store name. description: type: string description: Memory store description. delete: operationId: delete-a-memory-store summary: Delete a memory store tags: - '' parameters: - name: memory_store_id in: path required: true schema: $ref: '#/components/schemas/memory_store_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/deleteAMemoryStore_Response_200' get: operationId: get-a-memory-store summary: Get a memory store tags: - '' parameters: - name: memory_store_id in: path description: The memory store's ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/getAMemoryStore_Response_200' /memory_stores/{memory_store_id}/assistants/{assistant_id}/attach: post: operationId: attach-a-memory-store-to-an-agent summary: Attach a memory store to an agent tags: - '' parameters: - name: memory_store_id in: path description: The memory store ID. required: true schema: type: string - name: assistant_id in: path description: The agent's model ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/attachAMemoryStoreToAnAgent_Response_200' /memory_stores/{memory_store_id}/assistants/{assistant_id}/detach: post: operationId: detach-a-memory-store-from-an-agent summary: Detach a memory store from an agent tags: - '' parameters: - name: memory_store_id in: path required: true schema: $ref: '#/components/schemas/memory_store_id' - name: assistant_id in: path required: true schema: $ref: '#/components/schemas/model_id' - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/detachAMemoryStoreFromAnAgent_Response_200' /memory_stores/{memory_store_id}/contacts/{contact_id}/memory_data: get: operationId: get-data-for-a-specific-memory-store-and-contact summary: Get data for a specific memory store and contact tags: - '' parameters: - name: memory_store_id in: path description: The memory store ID. required: true schema: type: string - name: contact_id in: path description: The contact ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/getDataForASpecificMemoryStoreAndContact_Response_200' /memory_stores/{memory_store_id}/contacts/{contact_id}/attach: post: operationId: attach-a-contact-to-a-memory-store summary: Attach a contact to a memory store tags: - '' parameters: - name: memory_store_id in: path description: The memory store ID. required: true schema: type: string - name: contact_id in: path description: The contact ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/attachAContactToAMemoryStore_Response_200' /memory_stores/{memory_store_id}/contacts/{contact_id}/detach: post: operationId: detach-a-contact-from-a-memory-store summary: Detach a contact from a memory store tags: - '' parameters: - name: memory_store_id in: path description: The memory store ID. required: true schema: type: string - name: contact_id in: path description: The contact ID. required: true schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/detachAContactFromAMemoryStore_Response_200' components: schemas: SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaPricingTiersAttachItems: type: object properties: pricing_tier_id: type: string description: The ID of the Synthflow pricing tier. required: - pricing_tier_id title: SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaPricingTiersAttachItems ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractorSingleChoice: type: object properties: identifier: type: string description: The title that will identify the action description: type: string description: The description of what the action is expected to do choices: type: array items: type: string description: The possible choices that will answer the expected description of the action required: - identifier title: ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractorSingleChoice delete-subaccount_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SubaccountsSubaccountIdDeleteResponsesContentApplicationJsonSchemaResponse' title: delete-subaccount_Response_200 AssistantsPostRequestBodyContentApplicationJsonSchemaAgentVoiceSynthesizer: type: string enum: - eleven_multilingual_v2 - eleven_turbo_v2 - eleven_turbo_v2_5 - eleven_flash_v2 - eleven_flash_v2_5 description: The engine used to synthesize voice. title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentVoiceSynthesizer update-knowledge-base-source_Request: oneOf: - $ref: '#/components/schemas/UpdateKnowledgeBaseSourceRequest0' - $ref: '#/components/schemas/UpdateKnowledgeBaseSourceRequest1' - $ref: '#/components/schemas/UpdateKnowledgeBaseSourceRequest2' title: update-knowledge-base-source_Request ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItemsType: type: string enum: - string - int - float - bool - list - money - phone_number - email - datetime - utc_datetime default: string description: Type of the variable title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItemsType Agent: type: object properties: timezone: $ref: '#/components/schemas/timezone' default: Europe/Berlin voice_prompt: $ref: '#/components/schemas/voice_prompt' voice_stability: $ref: '#/components/schemas/voice_stability' voice_similarity_boost: $ref: '#/components/schemas/voice_similarity_boost' voice_optimise_streaming_latency: $ref: '#/components/schemas/voice_optimise_streaming_latency' voice_style: $ref: '#/components/schemas/voice_style' voice_use_speaker_boost: $ref: '#/components/schemas/voice_use_speaker_boost' allowed_idle_time_seconds: $ref: '#/components/schemas/allowed_idle_time_seconds' initial_pause_seconds: $ref: '#/components/schemas/initial_pause_seconds' transcriber_keywords: $ref: '#/components/schemas/transcriber_keywords' ring_pause_seconds: $ref: '#/components/schemas/ring_pause_seconds' background_noise: $ref: '#/components/schemas/AgentBackgroundNoise' description: Add background noise to make the call more natural. noise_cancellation: $ref: '#/components/schemas/AgentNoiseCancellation' description: Removes background noise on the customer's side (like chatter in a café or keyboard clicks) to make their voice clearer and easier for the agent to understand. realistic_filler_words: type: boolean description: If enabled, the agent will be using realistic filler words (for example, "um"). is_transcript_disabled: type: boolean description: If set to true, conversations will not be transcribed. redact_pii: type: boolean description: Whether to redact personally identifiable information (PII) from transcripts, post-call webhooks, and internal logs. Redacted data includes credit card numbers, CVVs, expiration dates, social security numbers, names, email addresses, phone numbers, and physical addresses. synthesizer_filter_words: type: array items: description: Any type description: Words or characters that the agent should not say. end_call_reasons: type: array items: type: string description: 'Deprecated: use end_call_reasons_v2 instead. Custom conditions that trigger automatic call termination (simple string array format). Works with both simple prompt and Flow Designer agents.' end_call_reasons_v2: type: array items: $ref: '#/components/schemas/AgentEndCallReasonsV2Items' description: Custom conditions that trigger automatic call termination with per-reason closing message control. When both end_call_reasons and end_call_reasons_v2 are present, v2 takes precedence. voice_synthesizer: $ref: '#/components/schemas/AgentVoiceSynthesizer' description: The engine used to synthesize voice. suppression_level: type: number format: double description: Setting this value will enable voice isolation in addition to background noise detection, the value assigned the term is the strength with a higher value stronger voice isolation. interruption_fade_out: type: integer description: Each frame is 20 ms. When you interrupt the bot, the volume slowly goes down to 0 over that many frames. For example, 5 translates to a 100 ms fadeout. voice_speed: type: number format: double description: Adjust how fast or slow your agent will talk on the call. voice_volume: type: number format: double description: Adjust how loud or quite your agent will talk on the call. min_words_to_interrupt: $ref: '#/components/schemas/AgentMinWordsToInterrupt' description: You can set how many words the human must speak before the AI will stop speaking and listening. prompt: $ref: '#/components/schemas/prompt' greeting_message: $ref: '#/components/schemas/greeting_message' greeting_message_mode: $ref: '#/components/schemas/greeting_message_mode' greeting_message_human_talk_timeout: $ref: '#/components/schemas/greeting_message_human_talk_timeout' llm: $ref: '#/components/schemas/llm' language: $ref: '#/components/schemas/language' voice_id: $ref: '#/components/schemas/voice_id' patience_level: $ref: '#/components/schemas/AgentPatienceLevel' description: Patience level of the agent. send_user_idle_reminders: type: boolean default: false description: Enables or disables idle reminders. reminder_after_idle_time_seconds: type: integer description: Time in seconds before sending an idle reminder. reminder_after_idle_message: type: string description: The idle reminder message. fallback_voice_id: $ref: '#/components/schemas/voice_id' fallback_provider: $ref: '#/components/schemas/AgentFallbackProvider' description: The provider for the fallback voice (elevenlabs, deepgram, or synthflow). fallback_model: type: string description: The model to be used by the fallback provider. title: Agent Get-simulation-caseRequestNotFoundError: type: object properties: {} title: Get-simulation-caseRequestNotFoundError CallsCallIdGetResponsesContentApplicationJsonSchemaResponsePagination: type: object properties: total_records: type: integer description: The total number of call records matching the query. limit: type: integer description: The maximum number of records returned per request. offset: type: integer description: The number of records skipped from the beginning of the results. description: Pagination information for the results. title: CallsCallIdGetResponsesContentApplicationJsonSchemaResponsePagination voice_similarity_boost: type: integer description: Range 0 to 1. Determines how closely the AI matches the original voice. Higher settings potentially including unwanted noise from the original recording. title: voice_similarity_boost SimulationCaseReadOutCallSuccessType: type: string enum: - all - any title: SimulationCaseReadOutCallSuccessType createAPhoneBookEntry_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/PhonebooksPhoneBookIdEntriesPostResponsesContentApplicationJsonSchemaResponse' title: createAPhoneBookEntry_Response_200 KnowledgeBaseKnowledgeBaseIdSourcesGetResponsesContentApplicationJsonSchemaResponseSourcesItems: type: object properties: id: type: string description: Unique identifier of the source. type: $ref: '#/components/schemas/KnowledgeBaseKnowledgeBaseIdSourcesGetResponsesContentApplicationJsonSchemaResponseSourcesItemsType' description: 'Source type: `text` for plain text, `web` for a scraped web page, or `pdf` for a PDF file.' name: type: string description: Display name of the source. content_preview: type: string description: Short preview of the source text content. Empty string when not available. url: type: string description: URL of the source. Populated for `web` and `pdf` types. Empty string for `text` sources. created_at: type: string format: date-time description: Timestamp when the source was created (ISO 8601). updated_at: type: string format: date-time description: Timestamp when the source was last updated (ISO 8601). title: KnowledgeBaseKnowledgeBaseIdSourcesGetResponsesContentApplicationJsonSchemaResponseSourcesItems ActionsActionIdGetResponsesContentApplicationJsonSchemaResponse: type: object properties: actions: type: array items: $ref: '#/components/schemas/ActionsActionIdGetResponsesContentApplicationJsonSchemaResponseActionsItems' title: ActionsActionIdGetResponsesContentApplicationJsonSchemaResponse Delete-simulation-caseRequestNotFoundError: type: object properties: {} title: Delete-simulation-caseRequestNotFoundError PaginatedSimulationSuitesList: type: object properties: items: type: array items: $ref: '#/components/schemas/SimulationSuiteListItem' description: List of simulation suites total: type: integer description: Total number of simulation suites page_number: type: integer description: Current page number page_size: type: integer description: Number of items per page required: - items - total - page_number - page_size title: PaginatedSimulationSuitesList create-simulation-case_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationCasesPostResponsesContentApplicationJsonSchemaResponse' title: create-simulation-case_Response_200 ActionsPostRequestBodyContentApplicationJsonSchemaSendSms: type: object properties: content: type: string description: The content/text of the SMS message instructions: type: string description: The instructions that will trigger the SMS message to be sent required: - content - instructions title: ActionsPostRequestBodyContentApplicationJsonSchemaSendSms name: type: string description: Agent name. title: name KnowledgeBaseIdPutResponsesContentApplicationJsonSchemaResponse: type: object properties: body: type: string knowledge_base_id: $ref: '#/components/schemas/knowledge_base_id' title: KnowledgeBaseIdPutResponsesContentApplicationJsonSchemaResponse AssistantsPostResponsesContentApplicationJsonSchemaDetail: type: object properties: status: type: string description: type: string request_id: type: string category: type: string required: - status - description - request_id - category title: AssistantsPostResponsesContentApplicationJsonSchemaDetail list-simulation-sessions_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationsSessionsGetResponsesContentApplicationJsonSchemaResponse' title: list-simulation-sessions_Response_200 ActionsPostRequestBodyContentApplicationJsonSchemaIncallSms: type: object properties: message_body: type: string description: The SMS body sent to the caller. Supports placeholder variables like ``. wait_for_reply: type: boolean default: false description: When true, the agent pauses until the caller replies, the timeout elapses, or the call ends. When false, the call continues and any reply is injected into the transcript when it arrives. timeout_seconds: type: integer description: Maximum time to wait for a reply when `wait_for_reply` is true. fallback_message: type: string description: Message the agent speaks if the timeout fires with no reply. message_before_action: type: string description: Message the agent speaks before the SMS is sent. required: - message_body title: ActionsPostRequestBodyContentApplicationJsonSchemaIncallSms memory_store_id: type: string description: The ID of the memory store (group). title: memory_store_id ActionsAttachPostResponsesContentApplicationJsonSchemaResponse: type: object properties: {} title: ActionsAttachPostResponsesContentApplicationJsonSchemaResponse SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaImportSubscription: type: object properties: stripe_subscription_id: type: string description: The ID of the existing Stripe subscription you want to import. This is typically used when the subaccount already has a subscription set up in Stripe, and you want to link it to their Synthflow account. synthflow_price_id: type: string description: The ID of the Synthflow pricing tier that corresponds to the imported Stripe subscription. This allows you to map the external Stripe subscription to an equivalent plan within Synthflow. description: This section is used when you want to import an existing Stripe subscription for the subaccount title: SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaImportSubscription SimulationCasesGetResponsesContentApplicationJsonSchemaResponse: type: object properties: pagination: $ref: '#/components/schemas/pagination' items: type: array items: $ref: '#/components/schemas/SimulationCaseReadOut' title: SimulationCasesGetResponsesContentApplicationJsonSchemaResponse ActionsGetResponsesContentApplicationJsonSchemaResponseActionsItemsParametersHardCoded: type: object properties: sms_message_text: type: string title: ActionsGetResponsesContentApplicationJsonSchemaResponseActionsItemsParametersHardCoded MemoryStoresGetResponsesContentApplicationJsonSchemaResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/MemoryStoresGetResponsesContentApplicationJsonSchemaResponseItemsItems' total: type: integer page_size: type: integer page_number: type: integer title: MemoryStoresGetResponsesContentApplicationJsonSchemaResponse CallsGetResponsesContentApplicationJsonSchemaResponse: type: object properties: pagination: $ref: '#/components/schemas/CallsGetResponsesContentApplicationJsonSchemaResponsePagination' description: Pagination information for the response calls: type: array items: $ref: '#/components/schemas/CallsGetResponsesContentApplicationJsonSchemaResponseCallsItems' title: CallsGetResponsesContentApplicationJsonSchemaResponse SubaccountsGetResponsesContentApplicationJsonSchemaResponse: type: object properties: subaccounts: type: array items: $ref: '#/components/schemas/SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItems' title: SubaccountsGetResponsesContentApplicationJsonSchemaResponse ContactsContactIdGetResponsesContentApplicationJsonSchemaResponseContactMetadata: type: object properties: company: type: string title: ContactsContactIdGetResponsesContentApplicationJsonSchemaResponseContactMetadata CallsPostRequestBodyContentApplicationJsonSchemaCustomVariablesItems: type: object properties: key: type: string value: type: string title: CallsPostRequestBodyContentApplicationJsonSchemaCustomVariablesItems UpdateKnowledgeBaseSourceRequest2: type: object properties: name: type: string description: Updated source name. content: type: string description: Updated text body for `text` sources. required: - content title: UpdateKnowledgeBaseSourceRequest2 list-memory-stores_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/MemoryStoresGetResponsesContentApplicationJsonSchemaResponse' title: list-memory-stores_Response_200 get-simulation-case_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationCaseReadOut' title: get-simulation-case_Response_200 initial_pause_seconds: type: integer description: Duration before the agent starts speaking. title: initial_pause_seconds ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBooking: type: object properties: first_appt_date: type: string format: date description: The initial date that will be the used to start searching for booking appointments, the format is YYYY-MM-DD max_time_slots: type: integer default: 3 description: The amount of slots that the agent will recommend per day when trying to book an appointment. The limit is 3 min_hours_diff: type: integer default: 3 description: The difference in hours between appointments that will be suggested by the agent. no_of_days: type: integer default: 3 description: Number of days that the agent will suggest appointments timezone: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingTimezone' description: '[List of possible time zones](/time-zones). The default is Europe/Berlin' CALCOM: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcom' description: 'Important: You need to be connected to the Cal.com integration' GHL: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingGhl' description: 'Important: You need to be connected to the GHL integration' required: - first_appt_date - max_time_slots - min_hours_diff - no_of_days - timezone title: ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBooking AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformanceByMinutesUsedItems: type: object properties: model_id: type: string name: type: string minutes_used: type: integer percentage_change: type: integer title: AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformanceByMinutesUsedItems AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetail: type: object properties: status: type: string description: type: string request_id: type: string category: type: string required: - status - description - request_id - category title: AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetail AssistantsModelIdPhoneNumbersPhoneNumberSlugDeleteResponsesContentApplicationJsonSchemaDetail: type: object properties: status: type: string description: type: string request_id: type: string category: type: string required: - status - description - request_id - category title: AssistantsModelIdPhoneNumbersPhoneNumberSlugDeleteResponsesContentApplicationJsonSchemaDetail getAContact_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/ContactsContactIdGetResponsesContentApplicationJsonSchemaResponse' title: getAContact_Response_200 SimulationSuccessCriteriaEvaluation: type: object properties: success: type: boolean reasoning: type: string required: - success - reasoning description: Evaluation result for a single success criterion. title: SimulationSuccessCriteriaEvaluation list-subaccounts_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/SubaccountsGetResponsesContentApplicationJsonSchemaResponse' title: list-subaccounts_Response_200 SimulationCaseReadOut: type: object properties: simulation_case_id: type: string format: uuid workspace_id: type: string suite_id: type: - string - 'null' format: uuid description: ID of the simulation suite this case belongs to. name: type: string prompt: type: string type: $ref: '#/components/schemas/SimulationCaseReadOutType' success_criteria: type: array items: type: string call_success_type: $ref: '#/components/schemas/SimulationCaseReadOutCallSuccessType' base_agent: oneOf: - $ref: '#/components/schemas/SimulationCaseReadOutBaseAgent' - type: 'null' created_at: type: string format: date-time updated_at: type: string format: date-time description: Simulation case details. title: SimulationCaseReadOut voice_style: type: integer description: Range 0 to 1. Enhances the distinct characteristics of the original voice, but may slow down processing and make the voice less stable. title: voice_style SimulationCreateIn: type: object properties: simulation_case_id: type: string format: uuid simulation_session_id: type: - string - 'null' format: uuid target_agent_id: type: string format: uuid custom_variables: type: object additionalProperties: description: Any type required: - simulation_case_id - target_agent_id description: Input payload to start a simulation. title: SimulationCreateIn AnalyticsGetResponsesContentApplicationJsonSchemaExecutedActions: type: object properties: items: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaExecutedActionsItemsItems' description: List of actions executed during the call, as well as their success and frequency rates. title: AnalyticsGetResponsesContentApplicationJsonSchemaExecutedActions Create-knowledge-baseRequestBadRequestError: type: object properties: {} title: Create-knowledge-baseRequestBadRequestError LiveTransferCreateDirectPhoneConfig: type: object properties: transfer_mode: $ref: '#/components/schemas/LiveTransferCreateDirectPhoneConfigTransferMode' description: Transfer mode. message_to_transfer_target: type: string description: The message the human agent will hear after the call is transferred to them. phone: type: string description: Phone number to be called for transferring the call instructions: type: string description: 'What words can trigger the transfer call, for example: like I want to talk with a manager' timeout: type: integer description: How long to wait for the transfer call to happen before stop trying to do the transfer digits: type: string description: Extension digits for the transfer call initiating_msg: type: string description: Message that the agent will say before starting the transfer call goodbye_msg: type: string description: Message that the agent will say before leaving the call and connecting you with the transfer call number to start the conversation failed_msg: type: string description: The message that the agent will say in case the person that should answer the phone is not able to answer before the timeout stop_recording_after_transfer: type: boolean description: Whether the call should stop being recorded once it's transferred. human_detection: type: boolean description: If true, the agent will detect whether the transfer target is a human, and once detected, will complete the transfer to the target. human_detection_timeout_seconds: type: integer description: Time in seconds to wait for human detection before giving up. Used in conjunction with human_detection. Minimum 30 seconds, maximum 1800 seconds (30 minutes). summarization_prompt: type: string description: Custom prompt used to generate the warm transfer context summary for the warm transfer leg. preserve_caller_id: type: boolean description: If true, the transfer target will see the caller's phone number instead of the agent's phone number. Only works for numbers purchased through a Synthflow Twilio account; for other numbers the call will fail. screened: type: boolean description: If true, the transfer target will first speak with the AI agent, who can answer questions about the caller and the transcript. The transfer target can then choose to accept or decline the transfer. required: - transfer_mode - phone - instructions - initiating_msg title: LiveTransferCreateDirectPhoneConfig prompt: type: string description: Add variables in curly brackets. For example, {your-variable}. title: prompt ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingTimezone: type: string enum: - Africa/Accra - Africa/Addis_Ababa - Africa/Algiers - Africa/Asmara - Africa/Bamako - Africa/Bangui - Africa/Banjul - Africa/Bissau - Africa/Blantyre - Africa/Brazzaville - Africa/Bujumbura - Africa/Cairo - Africa/Casablanca - Africa/Ceuta - Africa/Conakry - Africa/Dakar - Africa/Dar_es_Salaam - Africa/Djibouti - Africa/Douala - Africa/El_Aaiun - Africa/Freetown - Africa/Gaborone - Africa/Harare - Africa/Johannesburg - Africa/Juba - Africa/Kampala - Africa/Khartoum - Africa/Kigali - Africa/Kinshasa - Africa/Lagos - Africa/Libreville - Africa/Lome - Africa/Luanda - Africa/Lubumbashi - Africa/Lusaka - Africa/Malabo - Africa/Maputo - Africa/Maseru - Africa/Mbabane - Africa/Mogadishu - Africa/Monrovia - Africa/Nairobi - Africa/Ndjamena - Africa/Niamey - Africa/Nouakchott - Africa/Ouagadougou - Africa/Porto-Novo - Africa/Sao_Tome - Africa/Tripoli - Africa/Tunis - Africa/Windhoek - America/Adak - America/Anchorage - America/Anguilla - America/Antigua - America/Araguaina - America/Argentina/Buenos_Aires - America/Argentina/Catamarca - America/Argentina/Cordoba - America/Argentina/Jujuy - America/Argentina/La_Rioja - America/Argentina/Mendoza - America/Argentina/Rio_Gallegos - America/Argentina/Salta - America/Argentina/San_Juan - America/Argentina/San_Luis - America/Argentina/Tucuman - America/Argentina/Ushuaia - America/Aruba - America/Asuncion - America/Atikokan - America/Bahia - America/Bahia_Banderas - America/Barbados - America/Belem - America/Belize - America/Blanc-Sablon - America/Boa_Vista - America/Bogota - America/Boise - America/Cambridge_Bay - America/Campo_Grande - America/Cancun - America/Caracas - America/Cayenne - America/Cayman - America/Chicago - America/Chihuahua - America/Ciudad_Juarez - America/Costa_Rica - America/Creston - America/Cuiaba - America/Curacao - America/Danmarkshavn - America/Dawson - America/Dawson_Creek - America/Denver - America/Detroit - America/Dominica - America/Edmonton - America/Eirunepe - America/El_Salvador - America/Fort_Nelson - America/Fortaleza - America/Glace_Bay - America/Goose_Bay - America/Grand_Turk - America/Grenada - America/Guadeloupe - America/Guatemala - America/Guayaquil - America/Guyana - America/Halifax - America/Havana - America/Hermosillo - America/Indiana/Indianapolis - America/Indiana/Knox - America/Indiana/Marengo - America/Indiana/Petersburg - America/Indiana/Tell_City - America/Indiana/Vevay - America/Indiana/Vincennes - America/Indiana/Winamac - America/Inuvik - America/Iqaluit - America/Jamaica - America/Juneau - America/Kentucky/Louisville - America/Kentucky/Monticello - America/Kralendijk - America/La_Paz - America/Lima - America/Los_Angeles - America/Lower_Princes - America/Maceio - America/Managua - America/Manaus - America/Marigot - America/Martinique - America/Matamoros - America/Mazatlan - America/Menominee - America/Merida - America/Metlakatla - America/Mexico_City - America/Miquelon - America/Moncton - America/Monterrey - America/Montevideo - America/Montserrat - America/Nassau - America/New_York - America/Nome - America/Noronha - America/North_Dakota/Beulah - America/North_Dakota/Center - America/North_Dakota/New_Salem - America/Nuuk - America/Ojinaga - America/Panama - America/Paramaribo - America/Phoenix - America/Port_of_Spain - America/Port-au-Prince - America/Porto_Velho - America/Puerto_Rico - America/Punta_Arenas - America/Rankin_Inlet - America/Recife - America/Regina - America/Resolute - America/Rio_Branco - America/Santarem - America/Santiago - America/Santo_Domingo - America/Sao_Paulo - America/Scoresbysund - America/Sitka - America/St_Barthelemy - America/St_Johns - America/St_Kitts - America/St_Lucia - America/St_Thomas - America/St_Vincent - America/Swift_Current - America/Tegucigalpa - America/Thule - America/Tijuana - America/Toronto - America/Tortola - America/Vancouver - America/Whitehorse - America/Winnipeg - America/Yakutat - Antarctica/Casey - Antarctica/Davis - Antarctica/DumontDUrville - Antarctica/Macquarie - Antarctica/Mawson - Antarctica/McMurdo - Antarctica/Palmer - Antarctica/Rothera - Antarctica/Syowa - Antarctica/Troll - Antarctica/Vostok - Arctic/Longyearbyen - Asia/Aden - Asia/Almaty - Asia/Amman - Asia/Anadyr - Asia/Aqtau - Asia/Aqtobe - Asia/Ashgabat - Asia/Atyrau - Asia/Baghdad - Asia/Bahrain - Asia/Baku - Asia/Bangkok - Asia/Barnaul - Asia/Beirut - Asia/Bishkek - Asia/Brunei - Asia/Chita - Asia/Choibalsan - Asia/Colombo - Asia/Damascus - Asia/Dhaka - Asia/Dili - Asia/Dubai - Asia/Dushanbe - Asia/Famagusta - Asia/Gaza - Asia/Hebron - Asia/Ho_Chi_Minh - Asia/Hong_Kong - Asia/Hovd - Asia/Irkutsk - Asia/Jakarta - Asia/Jayapura - Asia/Jerusalem - Asia/Kabul - Asia/Kamchatka - Asia/Karachi - Asia/Kathmandu - Asia/Khandyga - Asia/Kolkata - Asia/Krasnoyarsk - Asia/Kuala_Lumpur - Asia/Kuching - Asia/Kuwait - Asia/Macau - Asia/Magadan - Asia/Makassar - Asia/Manila - Asia/Muscat - Asia/Nicosia - Asia/Novokuznetsk - Asia/Novosibirsk - Asia/Omsk - Asia/Oral - Asia/Phnom_Penh - Asia/Pontianak - Asia/Pyongyang - Asia/Qatar - Asia/Qostanay - Asia/Qyzylorda - Asia/Riyadh - Asia/Sakhalin - Asia/Samarkand - Asia/Seoul - Asia/Shanghai - Asia/Singapore - Asia/Srednekolymsk - Asia/Taipei - Asia/Tashkent - Asia/Tbilisi - Asia/Tehran - Asia/Thimphu - Asia/Tokyo - Asia/Tomsk - Asia/Ulaanbaatar - Asia/Urumqi - Asia/Ust-Nera - Asia/Vientiane - Asia/Vladivostok - Asia/Yakutsk - Asia/Yangon - Asia/Yekaterinburg - Asia/Yerevan - Atlantic/Azores - Atlantic/Bermuda - Atlantic/Canary - Atlantic/Cape_Verde - Atlantic/Faroe - Atlantic/Madeira - Atlantic/Reykjavik - Atlantic/South_Georgia - Atlantic/St_Helena - Atlantic/Stanley - Australia/Adelaide - Australia/Brisbane - Australia/Broken_Hill - Australia/Darwin - Australia/Eucla - Australia/Hobart - Australia/Lindeman - Australia/Lord_Howe - Australia/Melbourne - Australia/Perth - Australia/Sydney - Europe/Amsterdam - Europe/Andorra - Europe/Astrakhan - Europe/Athens - Europe/Belgrade - Europe/Berlin - Europe/Bratislava - Europe/Brussels - Europe/Bucharest - Europe/Budapest - Europe/Busingen - Europe/Chisinau - Europe/Copenhagen - Europe/Dublin - Europe/Gibraltar - Europe/Guernsey - Europe/Helsinki - Europe/Isle_of_Man - Europe/Istanbul - Europe/Jersey - Europe/Kaliningrad - Europe/Kirov - Europe/Kyiv - Europe/Lisbon - Europe/Ljubljana - Europe/London - Europe/Luxembourg - Europe/Madrid - Europe/Malta - Europe/Mariehamn - Europe/Minsk - Europe/Monaco - Europe/Moscow - Europe/Oslo - Europe/Paris - Europe/Podgorica - Europe/Prague - Europe/Riga - Europe/Rome - Europe/Samara - Europe/San_Marino - Europe/Sarajevo - Europe/Saratov - Europe/Simferopol - Europe/Skopje - Europe/Sofia - Europe/Stockholm - Europe/Tallinn - Europe/Tirane - Europe/Ulyanovsk - Europe/Vaduz - Europe/Vatican - Europe/Vienna - Europe/Vilnius - Europe/Volgograd - Europe/Warsaw - Europe/Zagreb - Europe/Zurich - Indian/Antananarivo - Indian/Chagos - Indian/Christmas - Indian/Cocos - Indian/Comoro - Indian/Kerguelen - Indian/Mahe - Indian/Maldives - Indian/Mauritius - Indian/Mayotte - Indian/Reunion - Pacific/Apia - Pacific/Auckland - Pacific/Bougainville - Pacific/Chatham - Pacific/Chuuk - Pacific/Easter - Pacific/Efate - Pacific/Fakaofo - Pacific/Fiji - Pacific/Funafuti - Pacific/Galapagos - Pacific/Gambier - Pacific/Guadalcanal - Pacific/Guam - Pacific/Honolulu - Pacific/Kanton - Pacific/Kiritimati - Pacific/Kosrae - Pacific/Kwajalein - Pacific/Majuro - Pacific/Marquesas - Pacific/Midway - Pacific/Nauru - Pacific/Niue - Pacific/Norfolk - Pacific/Noumea - Pacific/Pago_Pago - Pacific/Palau - Pacific/Pitcairn - Pacific/Pohnpei - Pacific/Port_Moresby - Pacific/Rarotonga - Pacific/Saipan - Pacific/Tahiti - Pacific/Tarawa - Pacific/Tongatapu - Pacific/Wake - Pacific/Wallis - US/Alaska - US/Central - US/Eastern - US/Hawaii - US/Mountain - US/Pacific description: '[List of possible time zones](/time-zones).' title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingTimezone voice_prompt: type: string description: Slightly alters the agent's intonation, talking speed or sentiment for a subtle yet noticeable effect. title: voice_prompt ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionQueryParametersItems: type: object properties: key: type: string description: Key name value: type: string description: Value that will be assigned to the key required: - key - value title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionQueryParametersItems create-subaccount_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SubaccountsPostResponsesContentApplicationJsonSchemaResponse' title: create-subaccount_Response_200 VoicesGetParametersProvider: type: string enum: - elevenlabs - deepgram - synthflow default: elevenlabs title: VoicesGetParametersProvider VoicesGetResponsesContentApplicationJsonSchemaResponseVoicesItemsProvider: type: string enum: - elevenlabs - deepgram - synthflow description: Voice provider (elevenlabs, deepgram, or synthflow). title: VoicesGetResponsesContentApplicationJsonSchemaResponseVoicesItemsProvider ActionsActionIdPutResponsesContentApplicationJsonSchemaResponse: type: object properties: action_id: type: string title: ActionsActionIdPutResponsesContentApplicationJsonSchemaResponse AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistants: type: object properties: end_call_reasons: type: array items: type: string description: Optional. Some GET responses include `end_call_reasons` at the top level of each assistant object (in addition to `agent.end_call_reasons`). To configure end-call reasons, set **`agent.end_call_reasons`** on create or update requests; a top-level `end_call_reasons` on those requests is ignored. description: type: string description: Agent description. phone_number: type: string description: The phone number attached to the agent. external_webhook_url: type: string description: URL of the webhook that should receive data after the call, such as the transcript. is_recording: type: boolean description: Whether the conversation should be recorded. max_duration: $ref: '#/components/schemas/AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsMaxDuration' voicemail_message: $ref: '#/components/schemas/AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessage' description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`. type: $ref: '#/components/schemas/type' name: $ref: '#/components/schemas/name' agent: $ref: '#/components/schemas/Agent' model_id: type: string description: The ID of the agent. title: AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistants initialize-action_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/ActionsInitializePostResponsesContentApplicationJsonSchemaResponse' title: initialize-action_Response_200 KnowledgeBaseKnowledgeBaseIdSourcesSourceIdDeleteResponsesContentApplicationJsonSchemaResponse: type: object properties: body: type: string id: type: string description: The ID of the deleted source. title: KnowledgeBaseKnowledgeBaseIdSourcesSourceIdDeleteResponsesContentApplicationJsonSchemaResponse AnalyticsGetResponsesContentApplicationJsonSchemaExecutedActionsItemsItems: type: object properties: name: type: string description: Action name. value: type: integer series: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaExecutedActionsItemsItemsSeriesItems' percentage_change: type: integer title: AnalyticsGetResponsesContentApplicationJsonSchemaExecutedActionsItemsItems AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessageMode: type: string enum: - exact_message - prompt description: The mode used to generate the voicemail message. title: AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessageMode SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPricingTiersItems: type: object properties: pricing_tier_id: type: string title: SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPricingTiersItems ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionHeadersItems: type: object properties: key: type: string description: Key name value: type: string description: Value that will be assigned to the key required: - key - value title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionHeadersItems SimulationScenarioUpdateIn: type: object properties: name: type: - string - 'null' description: Name of the simulation scenario description: type: - string - 'null' description: Description of the simulation scenario title: SimulationScenarioUpdateIn KnowledgeBaseKnowledgeBaseIdSourcesGetResponsesContentApplicationJsonSchemaResponseSourcesItemsType: type: string enum: - pdf - text - web description: 'Source type: `text` for plain text, `web` for a scraped web page, or `pdf` for a PDF file.' title: KnowledgeBaseKnowledgeBaseIdSourcesGetResponsesContentApplicationJsonSchemaResponseSourcesItemsType AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessage: type: object properties: enabled: type: boolean description: Whether voicemail message leaving is enabled. mode: $ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessageMode' description: The mode used to generate the voicemail message. exact_message: type: string description: The exact message to leave on the voicemail. Used when mode is `exact_message`. prompt: type: string description: A prompt used to generate the voicemail message. Used when mode is `prompt`. description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`. title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessage AssistantsModelIdDeleteResponsesContentApplicationJsonSchemaResponse: type: object properties: answer: type: string title: AssistantsModelIdDeleteResponsesContentApplicationJsonSchemaResponse SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPermissions: type: object properties: assistants: type: boolean description: Whether this subaccount can create and manage agents. knowledge_base: type: boolean description: Whether this subaccount can access and manage knowledge bases. actions: type: boolean description: Whether this subaccount can create and manage actions. workflows: type: boolean description: Whether this subaccount can create and manage workflows. contacts: type: boolean description: Whether this subaccount can create and manage contacts. phone_numbers: type: boolean description: Whether this subaccount can acquire and manage phone numbers. inbound: type: boolean description: Whether this subaccount can create and manage inbound voice agents. outbound: type: boolean description: Whether this subaccount can create and manage outbound voice agents. widget: type: boolean description: Whether this subaccount can create and manage web widget agents. chat: type: boolean description: Whether this subaccount can create and manage chat agents. logs: type: boolean description: Whether this subaccount can access call, chat, API, and webhook logs. simulations: type: boolean description: Whether this subaccount can access call simulations and evaluations. analytics: type: boolean description: Whether this subaccount can view the analytics dashboard. title: SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPermissions Get-simulationRequestNotFoundError: type: object properties: {} title: Get-simulationRequestNotFoundError Generate-simulation-casesRequestBadRequestError: type: object properties: {} title: Generate-simulation-casesRequestBadRequestError attachAContactToAMemoryStore_Response_200: type: object properties: status: $ref: '#/components/schemas/status' title: attachAContactToAMemoryStore_Response_200 voice_use_speaker_boost: type: boolean description: Amplifies the voice’s likeness to the original speaker, which can slightly slow down the response time. title: voice_use_speaker_boost Delete-simulation-suiteRequestNotFoundError: type: object properties: {} title: Delete-simulation-suiteRequestNotFoundError AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoiseType: type: string enum: - cafe - office description: What kind of background noise should be present. title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoiseType list-simulations_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationsGetResponsesContentApplicationJsonSchemaResponse' title: list-simulations_Response_200 ActionsActionIdDeleteResponsesContentApplicationJsonSchemaResponse: type: object properties: answer: type: string title: ActionsActionIdDeleteResponsesContentApplicationJsonSchemaResponse Create-actionRequestBadRequestError: type: object properties: {} title: Create-actionRequestBadRequestError detachAMemoryStoreFromAnAgent_Response_200: type: object properties: status: type: string title: detachAMemoryStoreFromAnAgent_Response_200 VoicesGetResponsesContentApplicationJsonSchemaResponse: type: object properties: pagination: $ref: '#/components/schemas/pagination' voices: type: array items: $ref: '#/components/schemas/VoicesGetResponsesContentApplicationJsonSchemaResponseVoicesItems' title: VoicesGetResponsesContentApplicationJsonSchemaResponse ActionsActionIdPutRequestBodyContentApplicationJsonSchemaInformationExtractor: type: object properties: identifier: type: string description: The title that will identify the action description: type: string description: The description of what the action is expected to do choices: type: array items: type: string description: The possible choices that will answer the expected description of the action examples: type: array items: type: string description: Examples of possible answers that can match the description of the action title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaInformationExtractor MemoryStoresMemoryStoreIdContactsContactIdMemoryDataGetResponsesContentApplicationJsonSchemaResponse: type: object properties: memory_store_id: type: string memory_store_title: type: string memory: type: string created_at: type: string updated_at: type: string title: MemoryStoresMemoryStoreIdContactsContactIdMemoryDataGetResponsesContentApplicationJsonSchemaResponse CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyDisconnectReason: type: string enum: - unknown - callee_hangup - caller_hangup - error - forbidden title: CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyDisconnectReason Update-knowledge-base-sourceRequestBadRequestError: type: object properties: {} title: Update-knowledge-base-sourceRequestBadRequestError Delete-knowledge-baseRequestBadRequestError: type: object properties: {} title: Delete-knowledge-baseRequestBadRequestError CallsCallIdGetResponsesContentApplicationJsonSchemaResponse: type: object properties: pagination: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaResponsePagination' description: Pagination information for the results. calls: type: array items: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItems' title: CallsCallIdGetResponsesContentApplicationJsonSchemaResponse get-knowledge-base_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/KnowledgeBaseIdGetResponsesContentApplicationJsonSchemaResponse' title: get-knowledge-base_Response_200 AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaMaxDuration: type: object properties: duration_seconds: type: integer description: Maximum length of the call in seconds. is_enabled: type: boolean description: Whether there's a limit on call length. title: AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaMaxDuration PhonebooksPhoneBookIdEntriesPostResponsesContentApplicationJsonSchemaResponse: type: object properties: key: type: string title: PhonebooksPhoneBookIdEntriesPostResponsesContentApplicationJsonSchemaResponse AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessageMode: type: string enum: - exact_message - prompt description: The mode used to generate the voicemail message. title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessageMode voice-call_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/CallsPostResponsesContentApplicationJsonSchemaResponse' eta: type: integer description: How long it will take to initialize the call, in seconds. title: voice-call_Response_200 deleteAContact_Response_200: type: object properties: status: type: string title: deleteAContact_Response_200 SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsMembersItems: type: object properties: email: type: string status: type: string title: SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsMembersItems delete-assistant_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/AssistantsModelIdDeleteResponsesContentApplicationJsonSchemaResponse' title: delete-assistant_Response_200 SimulationSuiteCreateIn: type: object properties: name: type: string description: Name of the simulation suite model_id: type: string description: Agent model ID this suite is for. The suite can only run on this specific agent. language: type: string default: en-US description: Language locale for the persona agent and test cases (e.g., 'en-US', 'es-ES', 'fr-FR'). Must be a valid locale code. Note that 'multi' is not allowed for simulation suites. required: - name - model_id title: SimulationSuiteCreateIn Delete-subaccountRequestBadRequestError: type: object properties: {} title: Delete-subaccountRequestBadRequestError AgentNoiseCancellation: type: string enum: - standard - advanced description: Removes background noise on the customer's side (like chatter in a café or keyboard clicks) to make their voice clearer and easier for the agent to understand. title: AgentNoiseCancellation Initialize-actionRequestBadRequestError: type: object properties: {} title: Initialize-actionRequestBadRequestError CallsGetResponsesContentApplicationJsonSchemaResponseCallsItems: type: object properties: call_id: $ref: '#/components/schemas/call_id' model_id: $ref: '#/components/schemas/model_id' duration: type: integer description: Duration of the call in seconds end_call_reason: type: string description: Reason why the call ended judge_results: oneOf: - description: Any type - type: 'null' description: Results from call quality judging lead_phone_number: type: string description: Phone number of the lead agents_used: type: array items: type: string description: List of agents used during the call executed_actions: $ref: '#/components/schemas/CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsExecutedActions' description: Actions executed during the call recording_url: type: - string - 'null' type_of_call: type: string description: Type of call (inbound or outbound) recording_duration: type: - string - 'null' description: Duration of the recording transcript: type: - string - 'null' error_message: type: - string - 'null' description: Error message if the call failed call_status: type: string description: Status of the call start_time: type: string description: Timestamp when the call started (milliseconds since epoch) lead_name: type: - string - 'null' description: Name of the lead name: type: - string - 'null' description: Name of the call recipient labels: type: array items: type: string description: Labels associated with the call agent_phone_number: type: string description: Phone number used by the agent deployment_type: type: - string - 'null' description: Type of deployment timezone: type: - string - 'null' description: Timezone for the call telephony_hangup: oneOf: - $ref: '#/components/schemas/CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyHangup' - type: 'null' telephony_disconnect_reason: oneOf: - $ref: '#/components/schemas/CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyDisconnectReason' - type: 'null' telephony_duration: type: - integer - 'null' telephony_start: type: - string - 'null' format: date telephony_end: type: - string - 'null' format: date campaign_type: type: string phone_number_from: type: string phone_number_to: type: string collected_variables: type: object additionalProperties: type: object additionalProperties: $ref: '#/components/schemas/CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsCollectedVariables' description: Collected variables (slots) from the conversation flow, keyed by agent ID. May be null if not available. title: CallsGetResponsesContentApplicationJsonSchemaResponseCallsItems AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsMaxDuration: type: object properties: duration_seconds: type: integer description: Maximum length of the call in seconds. is_enabled: type: boolean description: Whether there's a limit on call length. title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsMaxDuration VoicesGetResponsesContentApplicationJsonSchemaResponseVoicesItems: type: object properties: voice_id: type: string name: type: string preview: type: string workspace: type: string provider: $ref: '#/components/schemas/VoicesGetResponsesContentApplicationJsonSchemaResponseVoicesItemsProvider' description: Voice provider (elevenlabs, deepgram, or synthflow). gender: oneOf: - $ref: '#/components/schemas/VoicesGetResponsesContentApplicationJsonSchemaResponseVoicesItemsGender' - type: 'null' description: Voice gender. languages: type: - array - 'null' items: type: string description: ISO language codes supported by this voice. title: VoicesGetResponsesContentApplicationJsonSchemaResponseVoicesItems Attach-actionRequestBadRequestError: type: object properties: {} title: Attach-actionRequestBadRequestError deleteAMemoryStore_Response_200: type: object properties: status: type: string title: deleteAMemoryStore_Response_200 deleteAPhoneBook_Response_200: type: object properties: status: $ref: '#/components/schemas/status' title: deleteAPhoneBook_Response_200 knowledgeBaseSourceDelete_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/KnowledgeBaseKnowledgeBaseIdSourcesSourceIdDeleteResponsesContentApplicationJsonSchemaResponse' title: knowledgeBaseSourceDelete_Response_200 ActionsActionIdGetResponsesContentApplicationJsonSchemaResponseActionsItems: type: object properties: action_id: type: string description: Action ID. action_type: $ref: '#/components/schemas/ActionsActionIdGetResponsesContentApplicationJsonSchemaResponseActionsItemsActionType' description: Action type. name: type: string description: Action name. description: type: string description: Action description. parameters_hard_coded: $ref: '#/components/schemas/ActionsActionIdGetResponsesContentApplicationJsonSchemaResponseActionsItemsParametersHardCoded' title: ActionsActionIdGetResponsesContentApplicationJsonSchemaResponseActionsItems SubaccountsPostRequestBodyContentApplicationJsonSchemaGrantPermissionsItems: type: string enum: - inbound - outbound - widget - chat - assistants - knowledge_base - actions - workflows - contacts - phone_numbers - logs - simulations - analytics title: SubaccountsPostRequestBodyContentApplicationJsonSchemaGrantPermissionsItems LiveTransferUpdateDirectPhoneConfig: type: object properties: transfer_mode: $ref: '#/components/schemas/LiveTransferUpdateDirectPhoneConfigTransferMode' description: Transfer mode. message_to_transfer_target: type: string description: The message the human agent will hear after the call is transferred to them. phone: type: string description: Phone number to be called for transferring the call instructions: type: string description: 'What words can trigger the transfer call, for example: like I want to talk with a manager' timeout: type: integer description: How long to wait for the transfer call to happen before stop trying to do the transfer digits: type: string description: Extension digits for the transfer call initiating_msg: type: string description: Message that the agent will say before starting the transfer call goodbye_msg: type: string description: Message that the agent will say before leaving the call and connecting you with the transfer call number to start the conversation failed_msg: type: string description: The message that the agent will say in case the person that should answer the phone is not able to answer before the timeout enable_background_music: type: boolean stop_recording_after_transfer: type: boolean description: Whether the call should stop being recorded once it's transferred. human_detection: type: boolean description: If true, the agent will detect whether the transfer target is a human, and once detected, will complete the transfer to the target. human_detection_timeout_seconds: type: integer description: Time in seconds to wait for human detection before giving up. Used in conjunction with human_detection. Minimum 30 seconds, maximum 1800 seconds (30 minutes). summarization_prompt: type: string description: Custom prompt used to generate the warm transfer context summary for the warm transfer leg. preserve_caller_id: type: boolean description: If true, the transfer target will see the caller's phone number instead of the agent's phone number. Only works for numbers purchased through a Synthflow Twilio account; for other numbers the call will fail. screened: type: boolean description: If true, the transfer target will first speak with the AI agent, who can answer questions about the caller and the transcript. The transfer target can then choose to accept or decline the transfer. required: - transfer_mode - phone - instructions - initiating_msg title: LiveTransferUpdateDirectPhoneConfig SimulationReadOutCallSuccessType: type: string enum: - all - any title: SimulationReadOutCallSuccessType ActionsDetachPostResponsesContentApplicationJsonSchemaResponse: type: object properties: {} title: ActionsDetachPostResponsesContentApplicationJsonSchemaResponse SimulationScenarioReadOut: type: object properties: id: type: string format: uuid description: Unique identifier for the simulation scenario name: type: string description: Name of the simulation scenario template description: type: string description: Description of what the scenario template should verify when generating test cases workspace_id: type: string description: Workspace ID this simulation scenario belongs to created_at: type: string format: date-time description: When the simulation scenario was created updated_at: type: string format: date-time description: When the simulation scenario was last updated title: SimulationScenarioReadOut List-callsRequestBadRequestError: type: object properties: {} title: List-callsRequestBadRequestError Get-simulation-suiteRequestBadRequestError: type: object properties: {} title: Get-simulation-suiteRequestBadRequestError voice_optimise_streaming_latency: type: integer description: Range 0 to 4. Optimises streaming latency title: voice_optimise_streaming_latency SimulationCaseGenerateInIncludeTestsItems: type: string enum: - csat_score - accuracy_of_responses - script_compliance - angry_user - repetitive_phrases - conversational_naturalness - task_completion title: SimulationCaseGenerateInIncludeTestsItems Get-simulation-scenarioRequestNotFoundError: type: object properties: {} title: Get-simulation-scenarioRequestNotFoundError CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsExecutedActions: type: object properties: {} description: Actions that were executed during the call. title: CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsExecutedActions list-assistant_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/AssistantsGetResponsesContentApplicationJsonSchemaResponse' title: list-assistant_Response_200 AnalyticsGetResponsesContentApplicationJsonSchemaSentimentStatSeriesItems: type: object properties: date: type: string positive: type: integer total: type: integer title: AnalyticsGetResponsesContentApplicationJsonSchemaSentimentStatSeriesItems ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcomIntegration: type: string enum: - GMeet - Zoom description: The selected option will be the meeting type that will be created when the booking is done title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcomIntegration ActionsGetResponsesContentApplicationJsonSchemaResponsePagination: type: object properties: total_records: type: integer limit: type: integer offset: type: integer title: ActionsGetResponsesContentApplicationJsonSchemaResponsePagination CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsStatus: type: string enum: - pending - ringing - in-progress - completed - no-answer - busy - failed - canceled - hangup_on_voicemail - left_voicemail - spam - paused - registered description: The current status of the call. title: CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsStatus Create-subaccountRequestBadRequestError: type: object properties: {} title: Create-subaccountRequestBadRequestError Get-simulation-sessionRequestUnprocessableEntityError: type: object properties: {} title: Get-simulation-sessionRequestUnprocessableEntityError KnowledgeBaseKnowledgeBaseIdSourcesGetResponsesContentApplicationJsonSchemaResponse: type: object properties: total_records: type: integer description: Total number of sources in the knowledge base. knowledge_base_id: $ref: '#/components/schemas/knowledge_base_id' sources: type: array items: $ref: '#/components/schemas/KnowledgeBaseKnowledgeBaseIdSourcesGetResponsesContentApplicationJsonSchemaResponseSourcesItems' description: List of knowledge base sources. title: KnowledgeBaseKnowledgeBaseIdSourcesGetResponsesContentApplicationJsonSchemaResponse Get-subaccountRequestBadRequestError: type: object properties: {} title: Get-subaccountRequestBadRequestError ContactsGetResponsesContentApplicationJsonSchemaResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactsGetResponsesContentApplicationJsonSchemaResponseItemsItems' total: type: integer page_size: type: integer page_number: type: integer title: ContactsGetResponsesContentApplicationJsonSchemaResponse AttachPhoneNumbersToAssistantRequest0: type: object properties: phone_numbers: type: array items: type: string description: Phone numbers array. required: - phone_numbers title: AttachPhoneNumbersToAssistantRequest0 SimulationSuiteListItem: type: object properties: id: type: string format: uuid description: Suite ID name: type: string description: Name of the simulation suite model_id: type: string description: Agent model ID this suite is for workspace_id: type: string description: Workspace ID this suite belongs to language: type: string default: en-US description: Language locale for the persona agent and test cases (e.g., 'en-US', 'es-ES', 'fr-FR') created_at: type: string format: date-time description: When the suite was created updated_at: type: string format: date-time description: When the suite was last updated case_summaries: type: array items: $ref: '#/components/schemas/SimulationCaseSummary' description: Summary of cases in this suite agent: $ref: '#/components/schemas/AgentListItem' description: Agent information associated with this suite required: - id - name - model_id - workspace_id title: SimulationSuiteListItem AssistantsPostRequestBodyContentApplicationJsonSchemaAgent: type: object properties: timezone: $ref: '#/components/schemas/timezone' default: Europe/Berlin voice_prompt: $ref: '#/components/schemas/voice_prompt' voice_stability: $ref: '#/components/schemas/voice_stability' voice_similarity_boost: $ref: '#/components/schemas/voice_similarity_boost' voice_optimise_streaming_latency: $ref: '#/components/schemas/voice_optimise_streaming_latency' voice_style: $ref: '#/components/schemas/voice_style' voice_use_speaker_boost: $ref: '#/components/schemas/voice_use_speaker_boost' allowed_idle_time_seconds: $ref: '#/components/schemas/allowed_idle_time_seconds' initial_pause_seconds: $ref: '#/components/schemas/initial_pause_seconds' transcriber_keywords: $ref: '#/components/schemas/transcriber_keywords' ring_pause_seconds: $ref: '#/components/schemas/ring_pause_seconds' background_noise: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoise' description: Add background noise to make the call more natural. noise_cancellation: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentNoiseCancellation' description: Removes background noise on the customer's side (like chatter in a café or keyboard clicks) to make their voice clearer and easier for the agent to understand. realistic_filler_words: type: boolean description: If enabled, the agent will be using realistic filler words (for example, "um"). is_transcript_disabled: type: boolean description: If set to true, conversations will not be transcribed. redact_pii: type: boolean description: Whether to redact personally identifiable information (PII) from transcripts, post-call webhooks, and internal logs. Redacted data includes credit card numbers, CVVs, expiration dates, social security numbers, names, email addresses, phone numbers, and physical addresses. synthesizer_filter_words: type: array items: type: string description: Words or characters that the agent should not say. end_call_reasons: type: array items: type: string description: 'Deprecated: use end_call_reasons_v2 instead. Custom conditions that trigger automatic call termination (simple string array format). Works with both simple prompt and Flow Designer agents.' end_call_reasons_v2: type: array items: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2Items' description: Custom conditions that trigger automatic call termination with per-reason closing message control. When both end_call_reasons and end_call_reasons_v2 are present, v2 takes precedence. voice_synthesizer: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentVoiceSynthesizer' description: The engine used to synthesize voice. suppression_level: type: number format: double description: Setting this value will enable voice isolation in addition to background noise detection, the value assigned the term is the strength with a higher value stronger voice isolation. interruption_fade_out: type: integer description: Each frame is 20 ms. When you interrupt the bot, the volume slowly goes down to 0 over that many frames. For example, 5 translates to a 100 ms fadeout. voice_speed: type: number format: double description: Adjust how fast or slow your agent will talk on the call. voice_volume: type: number format: double description: Adjust how loud or quite your agent will talk on the call. min_words_to_interrupt: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentMinWordsToInterrupt' description: You can set how many words the human must speak before the AI will stop speaking and listening. prompt: $ref: '#/components/schemas/prompt' greeting_message: $ref: '#/components/schemas/greeting_message' greeting_message_mode: $ref: '#/components/schemas/greeting_message_mode' greeting_message_human_talk_timeout: $ref: '#/components/schemas/greeting_message_human_talk_timeout' llm: $ref: '#/components/schemas/llm' language: $ref: '#/components/schemas/language' voice_id: $ref: '#/components/schemas/voice_id' patience_level: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentPatienceLevel' description: Patience level of the agent. send_user_idle_reminders: type: boolean default: false description: Enables or disables idle reminders. reminder_after_idle_time_seconds: type: integer description: Time in seconds before sending an idle reminder. reminder_after_idle_message: type: string description: The idle reminder message. fallback_voice_id: $ref: '#/components/schemas/voice_id' fallback_provider: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentFallbackProvider' description: The provider for the fallback voice (elevenlabs, deepgram, or synthflow). fallback_model: type: string description: The model to be used by the fallback provider. consent_message: type: string description: The message the agent will say to ask the customer for their consent to have the call recorded. is_consent_enabled: type: boolean description: Whether the agent should ask for consent to record the call. title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgent AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessageMode: type: string enum: - exact_message - prompt description: The mode used to generate the voicemail message. title: AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessageMode AgentPatienceLevel: type: string enum: - low - medium - high description: Patience level of the agent. title: AgentPatienceLevel ActionsInitializePostResponsesContentApplicationJsonSchemaResponse: type: object properties: answer: type: string title: ActionsInitializePostResponsesContentApplicationJsonSchemaResponse AgentMinWordsToInterrupt: type: string enum: - '0' - '1' - '2' - '3' - '4' - '5' description: You can set how many words the human must speak before the AI will stop speaking and listening. title: AgentMinWordsToInterrupt SubaccountsSubaccountIdPutResponsesContentApplicationJsonSchemaResponse: type: object properties: subaccount_id: $ref: '#/components/schemas/subaccount_id' api_key: type: string user_email: type: string sign_in_link: type: string title: SubaccountsSubaccountIdPutResponsesContentApplicationJsonSchemaResponse AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponse: type: object properties: pagination: $ref: '#/components/schemas/pagination' assistants: $ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistants' title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponse getDataForASpecificMemoryStoreAndContact_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/MemoryStoresMemoryStoreIdContactsContactIdMemoryDataGetResponsesContentApplicationJsonSchemaResponse' title: getDataForASpecificMemoryStoreAndContact_Response_200 list-simulation-suites_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/PaginatedSimulationSuitesList' title: list-simulation-suites_Response_200 Update-simulation-scenarioRequestNotFoundError: type: object properties: {} title: Update-simulation-scenarioRequestNotFoundError ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionHttpMode: type: string enum: - GET - POST - PATCH - PUT default: GET description: Select the method that will be used title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionHttpMode call_id: type: string description: Call ID. You can find it on the logs page in your dashboard. title: call_id update-knowledge-base-source_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/KnowledgeBaseKnowledgeBaseIdSourcesSourceIdPutResponsesContentApplicationJsonSchemaResponse' title: update-knowledge-base-source_Response_200 update-assistant_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/AssistantsModelIdPutResponsesContentApplicationJsonSchemaResponse' details: $ref: '#/components/schemas/AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetails' title: update-assistant_Response_200 getAMemoryStore_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/MemoryStoresMemoryStoreIdGetResponsesContentApplicationJsonSchemaResponse' title: getAMemoryStore_Response_200 Delete-simulation-scenarioRequestNotFoundError: type: object properties: {} title: Delete-simulation-scenarioRequestNotFoundError ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItems: type: object properties: name: type: string description: Name of the variable that will be used during the call description: type: string description: Description of the functionality of the variable example: type: string description: Example of the value/answer that can be given to fill the variable type: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItemsType' default: string description: Type of the variable title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItems SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsMembersItems: type: object properties: email: type: string status: type: string title: SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsMembersItems AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformanceByCallsMadeItems: type: object properties: model_id: type: string name: type: string calls_made: type: integer percent_change: type: integer title: AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformanceByCallsMadeItems ActionsPostRequestBodyContentApplicationJsonSchemaLiveTransfer: oneOf: - $ref: '#/components/schemas/LiveTransferCreateDirectPhoneConfig' - $ref: '#/components/schemas/LiveTransferCreatePhoneBookConfig' title: ActionsPostRequestBodyContentApplicationJsonSchemaLiveTransfer Update-simulation-caseRequestNotFoundError: type: object properties: {} title: Update-simulation-caseRequestNotFoundError AnalyticsGetResponsesContentApplicationJsonSchemaCallStatusStat: type: object properties: items: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaCallStatusStatItemsItems' series: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaCallStatusStatSeriesItems' description: Call status overview. title: AnalyticsGetResponsesContentApplicationJsonSchemaCallStatusStat Get-simulationRequestBadRequestError: type: object properties: {} title: Get-simulationRequestBadRequestError LiveTransferCreateDirectPhoneConfigTransferMode: type: string enum: - cold_transfer - warm_transfer - warm_transfer_with_context description: Transfer mode. title: LiveTransferCreateDirectPhoneConfigTransferMode SimulationsGetParametersStatus: type: string enum: - in-progress - completed - failed title: SimulationsGetParametersStatus update-knowledge-base_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/KnowledgeBaseIdPutResponsesContentApplicationJsonSchemaResponse' title: update-knowledge-base_Response_200 CallsGetResponsesContentApplicationJsonSchemaResponsePagination: type: object properties: total_records: type: integer description: Total number of call records limit: type: integer description: Maximum number of records per page offset: type: integer description: Starting index for the current page description: Pagination information for the response title: CallsGetResponsesContentApplicationJsonSchemaResponsePagination AnalyticsGetResponsesContentApplicationJsonSchemaExecutedActionsItemsItemsSeriesItems: type: object properties: date: type: string value: type: integer title: AnalyticsGetResponsesContentApplicationJsonSchemaExecutedActionsItemsItemsSeriesItems VoicesGetResponsesContentApplicationJsonSchemaResponseVoicesItemsGender: type: string enum: - male - female - neutral description: Voice gender. title: VoicesGetResponsesContentApplicationJsonSchemaResponseVoicesItemsGender ContactsGetResponsesContentApplicationJsonSchemaResponseItemsItemsContactMetadata: type: object properties: {} title: ContactsGetResponsesContentApplicationJsonSchemaResponseItemsItemsContactMetadata ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionHttpMode: type: string enum: - GET - POST - PATCH - PUT default: GET description: Select the method that will be used title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionHttpMode Execute-simulation-suiteRequestBadRequestError: type: object properties: {} title: Execute-simulation-suiteRequestBadRequestError Delete-simulation-caseRequestBadRequestError: type: object properties: {} title: Delete-simulation-caseRequestBadRequestError Get-phone-callRequestNotFoundError: type: object properties: detail: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaDetail' title: Get-phone-callRequestNotFoundError detach-knowledge-base_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/KnowledgeBaseKnowledgeBaseIdDetachPostResponsesContentApplicationJsonSchemaResponse' title: detach-knowledge-base_Response_200 KnowledgeBaseGetResponsesContentApplicationJsonSchemaResponse: type: object properties: total_records: type: integer default: 0 description: The total number of knowledge bases. knowledge_bases: type: array items: $ref: '#/components/schemas/KnowledgeBaseGetResponsesContentApplicationJsonSchemaResponseKnowledgeBasesItems' title: KnowledgeBaseGetResponsesContentApplicationJsonSchemaResponse LiveTransferUpdatePhoneBookConfigTransferMode: type: string enum: - cold_transfer - warm_transfer - warm_transfer_with_context description: Transfer mode. title: LiveTransferUpdatePhoneBookConfigTransferMode ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcomIntegration: type: string enum: - GMeet - Zoom description: The selected option will be the meeting type that will be created when the booking is done title: ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcomIntegration ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionHeadersItems: type: object properties: key: type: string description: Key name value: type: string description: Value that will be assigned to the key required: - key - value title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionHeadersItems attachDocumentToSource_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/KnowledgeBaseKnowledgeBaseIdSourcesPostResponsesContentApplicationJsonSchemaResponse' required: - status - response title: attachDocumentToSource_Response_200 ActionsActionIdGetResponsesContentApplicationJsonSchemaResponseActionsItemsParametersHardCoded: type: object properties: sms_message_text: type: string title: ActionsActionIdGetResponsesContentApplicationJsonSchemaResponseActionsItemsParametersHardCoded AnalyticsGetResponsesContentApplicationJsonSchemaRecentCallHistory: type: object properties: items: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaRecentCallHistoryItemsItems' description: Log of all recent calls. title: AnalyticsGetResponsesContentApplicationJsonSchemaRecentCallHistory ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBooking: type: object properties: first_appt_date: type: string format: date description: The initial date that will be the used to start searching for booking appointments, the format is YYYY-MM-DD max_time_slots: type: integer description: The amount of slots that the agent will recommend per day when trying to book an appointment. The limit is 3 min_hours_diff: type: integer description: The difference in hours between appointments that will be suggested by the agent no_of_days: type: integer description: Number of days that the agent will suggest appointments timezone: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingTimezone' description: '[List of possible time zones](/time-zones).' CALCOM: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcom' GHL: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingGhl' title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBooking SimulationErrorInfo: type: object properties: message: type: string code: type: integer type: type: string required: - message - code - type description: Error information for failed simulations. title: SimulationErrorInfo AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2ItemsClosingMessageMode: type: string enum: - static - prompt - none description: 'Controls how the farewell message is generated. static: message is spoken verbatim. prompt: message is an instruction to the LLM. none: LLM generates its own farewell.' title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2ItemsClosingMessageMode Execute-simulation-suiteRequestNotFoundError: type: object properties: {} title: Execute-simulation-suiteRequestNotFoundError CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsEndCallReason: type: string enum: - human_pick_up_cut_off - voicemail - voicemail_cut_off - voicemail_message_left - agent_ended_call - human_ended_call - custom_end_call - timeout - error description: The reason the call ended from the AI agent's perspective. title: CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsEndCallReason SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaRevokePermissionsItems: type: string enum: - inbound - outbound - widget - chat - assistants - knowledge_base - actions - workflows - contacts - phone_numbers - logs - simulations - analytics title: SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaRevokePermissionsItems ActionsPostResponsesContentApplicationJsonSchemaResponse: type: object properties: action_id: type: string action_type: type: string prompt_variables: type: array items: description: Any type title: ActionsPostResponsesContentApplicationJsonSchemaResponse ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionCustomAuth: type: object properties: is_needed: type: boolean default: false description: If authorization to use the set URL and method are required set to true location: type: string description: 'Section where the authorization will be used like: header' key: type: string default: Bearer description: The authorization type. Default is Bearer value: type: string description: The value of the token that will be used with the authentication type title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionCustomAuth SimulationCaseUpdateIn: type: object properties: name: type: - string - 'null' prompt: type: - string - 'null' success_criteria: type: - array - 'null' items: type: string call_success_type: oneOf: - $ref: '#/components/schemas/SimulationCaseUpdateInCallSuccessType' - type: 'null' suite_id: type: - string - 'null' format: uuid description: ID of the simulation suite to assign this case to. description: Fields that can be updated for a simulation case. title: SimulationCaseUpdateIn list-actions_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/ActionsGetResponsesContentApplicationJsonSchemaResponse' title: list-actions_Response_200 AssistantsPostRequestBodyContentApplicationJsonSchemaMaxDuration: type: object properties: duration_seconds: type: integer description: Maximum length of the call in seconds. is_enabled: type: boolean description: Whether there's a limit on call length. title: AssistantsPostRequestBodyContentApplicationJsonSchemaMaxDuration List-simulation-scenariosRequestBadRequestError: type: object properties: {} title: List-simulation-scenariosRequestBadRequestError attachAMemoryStoreToAnAgent_Response_200: type: object properties: status: type: string title: attachAMemoryStoreToAnAgent_Response_200 List-simulation-cases-by-agentRequestBadRequestError: type: object properties: {} title: List-simulation-cases-by-agentRequestBadRequestError ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingGhl: type: object properties: calendar_id: type: string description: Calendar ID from the GHL calendar. Can be obtained from GHL in calendars > Calendar Settings autoconfirm: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingGhlAutoconfirm' description: If confirmed is selected the meeting will be automatically accepted and you don't have to do anything, otherwise you have to go to GHL calendar and confirm the meeting booking_title: type: string description: The title that will be displayed in the Synthflow app for the created action required: - calendar_id - autoconfirm - booking_title description: 'Important: You need to be connected to the GHL integration' title: ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingGhl Create-simulation-caseRequestBadRequestError: type: object properties: {} title: Create-simulation-caseRequestBadRequestError Delete-assistantRequestBadRequestError: type: object properties: {} title: Delete-assistantRequestBadRequestError Update-simulation-scenarioRequestBadRequestError: type: object properties: {} title: Update-simulation-scenarioRequestBadRequestError pagination: type: object properties: total_records: type: integer limit: type: integer offset: type: integer title: pagination status: type: string description: Whether the request was successful. title: status SimulationCaseCreateInType: type: string enum: - custom - agent_based description: Simulation case type. title: SimulationCaseCreateInType create-action_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/ActionsPostResponsesContentApplicationJsonSchemaResponse' title: create-action_Response_200 ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingTimezone: type: string enum: - Africa/Accra - Africa/Addis_Ababa - Africa/Algiers - Africa/Asmara - Africa/Bamako - Africa/Bangui - Africa/Banjul - Africa/Bissau - Africa/Blantyre - Africa/Brazzaville - Africa/Bujumbura - Africa/Cairo - Africa/Casablanca - Africa/Ceuta - Africa/Conakry - Africa/Dakar - Africa/Dar_es_Salaam - Africa/Djibouti - Africa/Douala - Africa/El_Aaiun - Africa/Freetown - Africa/Gaborone - Africa/Harare - Africa/Johannesburg - Africa/Juba - Africa/Kampala - Africa/Khartoum - Africa/Kigali - Africa/Kinshasa - Africa/Lagos - Africa/Libreville - Africa/Lome - Africa/Luanda - Africa/Lubumbashi - Africa/Lusaka - Africa/Malabo - Africa/Maputo - Africa/Maseru - Africa/Mbabane - Africa/Mogadishu - Africa/Monrovia - Africa/Nairobi - Africa/Ndjamena - Africa/Niamey - Africa/Nouakchott - Africa/Ouagadougou - Africa/Porto-Novo - Africa/Sao_Tome - Africa/Tripoli - Africa/Tunis - Africa/Windhoek - America/Adak - America/Anchorage - America/Anguilla - America/Antigua - America/Araguaina - America/Argentina/Buenos_Aires - America/Argentina/Catamarca - America/Argentina/Cordoba - America/Argentina/Jujuy - America/Argentina/La_Rioja - America/Argentina/Mendoza - America/Argentina/Rio_Gallegos - America/Argentina/Salta - America/Argentina/San_Juan - America/Argentina/San_Luis - America/Argentina/Tucuman - America/Argentina/Ushuaia - America/Aruba - America/Asuncion - America/Atikokan - America/Bahia - America/Bahia_Banderas - America/Barbados - America/Belem - America/Belize - America/Blanc-Sablon - America/Boa_Vista - America/Bogota - America/Boise - America/Cambridge_Bay - America/Campo_Grande - America/Cancun - America/Caracas - America/Cayenne - America/Cayman - America/Chicago - America/Chihuahua - America/Ciudad_Juarez - America/Costa_Rica - America/Creston - America/Cuiaba - America/Curacao - America/Danmarkshavn - America/Dawson - America/Dawson_Creek - America/Denver - America/Detroit - America/Dominica - America/Edmonton - America/Eirunepe - America/El_Salvador - America/Fort_Nelson - America/Fortaleza - America/Glace_Bay - America/Goose_Bay - America/Grand_Turk - America/Grenada - America/Guadeloupe - America/Guatemala - America/Guayaquil - America/Guyana - America/Halifax - America/Havana - America/Hermosillo - America/Indiana/Indianapolis - America/Indiana/Knox - America/Indiana/Marengo - America/Indiana/Petersburg - America/Indiana/Tell_City - America/Indiana/Vevay - America/Indiana/Vincennes - America/Indiana/Winamac - America/Inuvik - America/Iqaluit - America/Jamaica - America/Juneau - America/Kentucky/Louisville - America/Kentucky/Monticello - America/Kralendijk - America/La_Paz - America/Lima - America/Los_Angeles - America/Lower_Princes - America/Maceio - America/Managua - America/Manaus - America/Marigot - America/Martinique - America/Matamoros - America/Mazatlan - America/Menominee - America/Merida - America/Metlakatla - America/Mexico_City - America/Miquelon - America/Moncton - America/Monterrey - America/Montevideo - America/Montserrat - America/Nassau - America/New_York - America/Nome - America/Noronha - America/North_Dakota/Beulah - America/North_Dakota/Center - America/North_Dakota/New_Salem - America/Nuuk - America/Ojinaga - America/Panama - America/Paramaribo - America/Phoenix - America/Port_of_Spain - America/Port-au-Prince - America/Porto_Velho - America/Puerto_Rico - America/Punta_Arenas - America/Rankin_Inlet - America/Recife - America/Regina - America/Resolute - America/Rio_Branco - America/Santarem - America/Santiago - America/Santo_Domingo - America/Sao_Paulo - America/Scoresbysund - America/Sitka - America/St_Barthelemy - America/St_Johns - America/St_Kitts - America/St_Lucia - America/St_Thomas - America/St_Vincent - America/Swift_Current - America/Tegucigalpa - America/Thule - America/Tijuana - America/Toronto - America/Tortola - America/Vancouver - America/Whitehorse - America/Winnipeg - America/Yakutat - Antarctica/Casey - Antarctica/Davis - Antarctica/DumontDUrville - Antarctica/Macquarie - Antarctica/Mawson - Antarctica/McMurdo - Antarctica/Palmer - Antarctica/Rothera - Antarctica/Syowa - Antarctica/Troll - Antarctica/Vostok - Arctic/Longyearbyen - Asia/Aden - Asia/Almaty - Asia/Amman - Asia/Anadyr - Asia/Aqtau - Asia/Aqtobe - Asia/Ashgabat - Asia/Atyrau - Asia/Baghdad - Asia/Bahrain - Asia/Baku - Asia/Bangkok - Asia/Barnaul - Asia/Beirut - Asia/Bishkek - Asia/Brunei - Asia/Chita - Asia/Choibalsan - Asia/Colombo - Asia/Damascus - Asia/Dhaka - Asia/Dili - Asia/Dubai - Asia/Dushanbe - Asia/Famagusta - Asia/Gaza - Asia/Hebron - Asia/Ho_Chi_Minh - Asia/Hong_Kong - Asia/Hovd - Asia/Irkutsk - Asia/Jakarta - Asia/Jayapura - Asia/Jerusalem - Asia/Kabul - Asia/Kamchatka - Asia/Karachi - Asia/Kathmandu - Asia/Khandyga - Asia/Kolkata - Asia/Krasnoyarsk - Asia/Kuala_Lumpur - Asia/Kuching - Asia/Kuwait - Asia/Macau - Asia/Magadan - Asia/Makassar - Asia/Manila - Asia/Muscat - Asia/Nicosia - Asia/Novokuznetsk - Asia/Novosibirsk - Asia/Omsk - Asia/Oral - Asia/Phnom_Penh - Asia/Pontianak - Asia/Pyongyang - Asia/Qatar - Asia/Qostanay - Asia/Qyzylorda - Asia/Riyadh - Asia/Sakhalin - Asia/Samarkand - Asia/Seoul - Asia/Shanghai - Asia/Singapore - Asia/Srednekolymsk - Asia/Taipei - Asia/Tashkent - Asia/Tbilisi - Asia/Tehran - Asia/Thimphu - Asia/Tokyo - Asia/Tomsk - Asia/Ulaanbaatar - Asia/Urumqi - Asia/Ust-Nera - Asia/Vientiane - Asia/Vladivostok - Asia/Yakutsk - Asia/Yangon - Asia/Yekaterinburg - Asia/Yerevan - Atlantic/Azores - Atlantic/Bermuda - Atlantic/Canary - Atlantic/Cape_Verde - Atlantic/Faroe - Atlantic/Madeira - Atlantic/Reykjavik - Atlantic/South_Georgia - Atlantic/St_Helena - Atlantic/Stanley - Australia/Adelaide - Australia/Brisbane - Australia/Broken_Hill - Australia/Darwin - Australia/Eucla - Australia/Hobart - Australia/Lindeman - Australia/Lord_Howe - Australia/Melbourne - Australia/Perth - Australia/Sydney - Europe/Amsterdam - Europe/Andorra - Europe/Astrakhan - Europe/Athens - Europe/Belgrade - Europe/Berlin - Europe/Bratislava - Europe/Brussels - Europe/Bucharest - Europe/Budapest - Europe/Busingen - Europe/Chisinau - Europe/Copenhagen - Europe/Dublin - Europe/Gibraltar - Europe/Guernsey - Europe/Helsinki - Europe/Isle_of_Man - Europe/Istanbul - Europe/Jersey - Europe/Kaliningrad - Europe/Kirov - Europe/Kyiv - Europe/Lisbon - Europe/Ljubljana - Europe/London - Europe/Luxembourg - Europe/Madrid - Europe/Malta - Europe/Mariehamn - Europe/Minsk - Europe/Monaco - Europe/Moscow - Europe/Oslo - Europe/Paris - Europe/Podgorica - Europe/Prague - Europe/Riga - Europe/Rome - Europe/Samara - Europe/San_Marino - Europe/Sarajevo - Europe/Saratov - Europe/Simferopol - Europe/Skopje - Europe/Sofia - Europe/Stockholm - Europe/Tallinn - Europe/Tirane - Europe/Ulyanovsk - Europe/Vaduz - Europe/Vatican - Europe/Vienna - Europe/Vilnius - Europe/Volgograd - Europe/Warsaw - Europe/Zagreb - Europe/Zurich - Indian/Antananarivo - Indian/Chagos - Indian/Christmas - Indian/Cocos - Indian/Comoro - Indian/Kerguelen - Indian/Mahe - Indian/Maldives - Indian/Mauritius - Indian/Mayotte - Indian/Reunion - Pacific/Apia - Pacific/Auckland - Pacific/Bougainville - Pacific/Chatham - Pacific/Chuuk - Pacific/Easter - Pacific/Efate - Pacific/Fakaofo - Pacific/Fiji - Pacific/Funafuti - Pacific/Galapagos - Pacific/Gambier - Pacific/Guadalcanal - Pacific/Guam - Pacific/Honolulu - Pacific/Kanton - Pacific/Kiritimati - Pacific/Kosrae - Pacific/Kwajalein - Pacific/Majuro - Pacific/Marquesas - Pacific/Midway - Pacific/Nauru - Pacific/Niue - Pacific/Norfolk - Pacific/Noumea - Pacific/Pago_Pago - Pacific/Palau - Pacific/Pitcairn - Pacific/Pohnpei - Pacific/Port_Moresby - Pacific/Rarotonga - Pacific/Saipan - Pacific/Tahiti - Pacific/Tarawa - Pacific/Tongatapu - Pacific/Wake - Pacific/Wallis - US/Alaska - US/Central - US/Eastern - US/Hawaii - US/Mountain - US/Pacific description: '[List of possible time zones](/time-zones). The default is Europe/Berlin' title: ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingTimezone ContactsContactIdGetResponsesContentApplicationJsonSchemaResponse: type: object properties: id: type: string name: type: string phone_number: type: string email: type: string contact_metadata: $ref: '#/components/schemas/ContactsContactIdGetResponsesContentApplicationJsonSchemaResponseContactMetadata' workspace_id: type: string created_at: type: string updated_at: type: string memory_store_ids: type: array items: description: Any type title: ContactsContactIdGetResponsesContentApplicationJsonSchemaResponse KnowledgeBaseKnowledgeBaseIdAttachPostResponsesContentApplicationJsonSchemaResponse: type: object properties: body: type: string knowledge_base_id: $ref: '#/components/schemas/knowledge_base_id' model_id: type: string title: KnowledgeBaseKnowledgeBaseIdAttachPostResponsesContentApplicationJsonSchemaResponse AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistants: type: object properties: end_call_reasons: type: array items: type: string description: Optional. Some GET responses include `end_call_reasons` at the top level of each assistant object (in addition to `agent.end_call_reasons`). To configure end-call reasons, set **`agent.end_call_reasons`** on create or update requests; a top-level `end_call_reasons` on those requests is ignored. description: type: string description: Agent description. phone_number: type: string description: The phone number attached to the agent. external_webhook_url: type: string description: URL of the webhook that should receive data after the call, such as the transcript. is_recording: type: boolean description: Whether the conversation should be recorded. max_duration: $ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsMaxDuration' voicemail_message: $ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessage' description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`. type: $ref: '#/components/schemas/type' name: $ref: '#/components/schemas/name' agent: $ref: '#/components/schemas/Agent' model_id: type: string description: The ID of the agent. attached_phone_numbers: type: array items: $ref: '#/components/schemas/AttachedPhoneNumber' description: Attached phone numbers available for outbound calls from this agent. title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistants PhonebooksGetResponsesContentApplicationJsonSchemaResponse: type: object properties: total: type: number format: double description: Total number of phone books in your workspace. page_size: type: number format: double description: Number of entries per page. page_number: type: number format: double description: Page number. items: type: array items: $ref: '#/components/schemas/PhonebooksGetResponsesContentApplicationJsonSchemaResponseItemsItems' title: PhonebooksGetResponsesContentApplicationJsonSchemaResponse SubaccountsSubaccountIdDeleteResponsesContentApplicationJsonSchemaResponse: type: object properties: answer: type: string title: SubaccountsSubaccountIdDeleteResponsesContentApplicationJsonSchemaResponse AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoise: type: object properties: enabled: type: boolean description: If enabled, the agent will add background noise. type: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoiseType' description: What kind of background noise should be present. volume: type: integer description: How loud the background noise should be. description: Add background noise to make the call more natural. title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoise AssistantsPostRequestBodyContentApplicationJsonSchemaAgentFallbackProvider: type: string enum: - elevenlabs - deepgram - synthflow description: The provider for the fallback voice (elevenlabs, deepgram, or synthflow). title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentFallbackProvider Get-simulation-suiteRequestNotFoundError: type: object properties: {} title: Get-simulation-suiteRequestNotFoundError KnowledgeBaseIdDeleteResponsesContentApplicationJsonSchemaResponse: type: object properties: {} title: KnowledgeBaseIdDeleteResponsesContentApplicationJsonSchemaResponse AgentVoiceSynthesizer: type: string enum: - eleven_multilingual_v2 - eleven_turbo_v2 - eleven_turbo_v2_5 - eleven_flash_v2 - eleven_flash_v2_5 description: The engine used to synthesize voice. title: AgentVoiceSynthesizer AssistantsPostResponsesContentApplicationJsonSchemaResponse: type: object properties: model_id: $ref: '#/components/schemas/model_id' title: AssistantsPostResponsesContentApplicationJsonSchemaResponse ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingGhlAutoconfirm: type: string enum: - confirmed - new description: If confirmed is selected the meeting will be automatically accepted and you don't have to do anything, otherwise you have to go to GHL calendar and confirm the meeting title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingGhlAutoconfirm AnalyticsGetResponsesContentApplicationJsonSchemaSentimentStat: type: object properties: positive_percentage: type: integer series: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaSentimentStatSeriesItems' positive_percentage_change: type: integer description: Sentiment overview. title: AnalyticsGetResponsesContentApplicationJsonSchemaSentimentStat update-action_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/ActionsActionIdPutResponsesContentApplicationJsonSchemaResponse' title: update-action_Response_200 SimulationSuiteUpdateIn: type: object properties: name: type: - string - 'null' description: New name for the simulation suite model_id: type: - string - 'null' description: New agent model ID for the suite title: SimulationSuiteUpdateIn AttachedPhoneNumber: type: object properties: number: type: string description: Phone number to attach to an outbound agent. sid: type: - string - 'null' description: Twilio phone number SID. slug: type: string description: Internal phone number slug. required: - number - sid - slug title: AttachedPhoneNumber SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsSubscription: type: object properties: stripe_subscription_id: type: string synthflow_price_id: type: string title: SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsSubscription ActionsActionIdGetResponsesContentApplicationJsonSchemaResponseActionsItemsActionType: type: string enum: - REAL_TIME_BOOKING - INFORMATION_EXTRACTOR - LIVE_TRANSFER - SEND_SMS - INCALL_SMS - INCALL_WHATSAPP - CUSTOM_ACTION - CUSTOM_EVAL description: Action type. title: ActionsActionIdGetResponsesContentApplicationJsonSchemaResponseActionsItemsActionType type: type: string enum: - outbound - inbound - widget description: Agent type. title: type KnowledgeBaseKnowledgeBaseIdSourcesPostResponsesContentApplicationJsonSchemaResponse: type: object properties: source_id: type: string description: Unique identifier of the created source. required: - source_id title: KnowledgeBaseKnowledgeBaseIdSourcesPostResponsesContentApplicationJsonSchemaResponse listKnowledgeBaseSources_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/KnowledgeBaseKnowledgeBaseIdSourcesGetResponsesContentApplicationJsonSchemaResponse' title: listKnowledgeBaseSources_Response_200 AnalyticsGetResponsesContentApplicationJsonSchemaEndCallReasonStat: type: object properties: items: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaEndCallReasonStatItemsItems' series: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaEndCallReasonStatSeriesItems' description: An overview of reasons calls ended. For details on all the possible reasons, see [End Call Reasons](/logs#end-call-reasons). title: AnalyticsGetResponsesContentApplicationJsonSchemaEndCallReasonStat ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItemsType: type: string enum: - string - int - float - bool - list - money - phone_number - email - datetime - utc_datetime default: string description: Type of the variable title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItemsType Update-simulation-suiteRequestBadRequestError: type: object properties: {} title: Update-simulation-suiteRequestBadRequestError SimulationCaseGenerateIn: type: object properties: agent_id: type: string description: ID of the agent used to generate cases. suite_id: type: string format: uuid description: ID of the simulation suite to add generated cases to. include_tests: type: array items: $ref: '#/components/schemas/SimulationCaseGenerateInIncludeTestsItems' description: Tests to include in the generated cases. required: - agent_id - include_tests description: Input payload to generate simulation cases. title: SimulationCaseGenerateIn detach-action_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/ActionsDetachPostResponsesContentApplicationJsonSchemaResponse' title: detach-action_Response_200 SimulationReadOut: type: object properties: simulation_id: type: string format: uuid simulation_session_id: type: string format: uuid simulation_case_id: type: string format: uuid simulation_case_name: type: - string - 'null' simulation_case_prompt: type: - string - 'null' success_criteria: type: - array - 'null' items: type: string call_success_type: oneOf: - $ref: '#/components/schemas/SimulationReadOutCallSuccessType' - type: 'null' persona_agent_id: type: - string - 'null' format: uuid persona_phone_number: type: - string - 'null' target_agent_id: type: string format: uuid agent_name: type: - string - 'null' agent_avatar_url: type: - string - 'null' target_phone_number: type: - string - 'null' target_call_id: type: - string - 'null' custom_variables: type: - object - 'null' additionalProperties: description: Any type status: $ref: '#/components/schemas/SimulationReadOutStatus' workspace_id: type: string created_at: type: string format: date-time updated_at: type: string format: date-time error_info: oneOf: - $ref: '#/components/schemas/SimulationErrorInfo' - type: 'null' recording_url: type: - string - 'null' timeline: type: - array - 'null' items: $ref: '#/components/schemas/TimelineItem' success_criteria_analysis: oneOf: - $ref: '#/components/schemas/SimulationSuccessCriteriaAnalysis' - type: 'null' description: Simulation details. title: SimulationReadOut CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsCollectedVariables: type: object properties: value: description: The collected value of the variable (string, number, boolean, or null if not collected). collected: type: boolean description: Whether this variable was successfully collected. title: CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsCollectedVariables Get-knowledge-baseRequestBadRequestError: type: object properties: {} title: Get-knowledge-baseRequestBadRequestError AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformanceBySuccessRateItems: type: object properties: model_id: type: string name: type: string success_rate: type: integer percentage_change: type: integer title: AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformanceBySuccessRateItems list-simulation-scenarios_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/PaginatedSimulationScenariosList' title: list-simulation-scenarios_Response_200 ActionsPostRequestBodyContentApplicationJsonSchemaCustomEvalQuestionCategory: type: string enum: - pass_fail - numeric - descriptive - likert_scale description: Custom evalution category. title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomEvalQuestionCategory get-simulation_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationReadOut' title: get-simulation_Response_200 List-simulation-casesRequestBadRequestError: type: object properties: {} title: List-simulation-casesRequestBadRequestError ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcom: type: object properties: event_id: type: string description: The event id can be obtained from the cal.com calendar integration: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcomIntegration' description: The selected option will be the meeting type that will be created when the booking is done sms_boolean: type: boolean default: false description: If the value is true the SMS message from the sms_message field will be send sms_message: type: string description: Text to be sent in the sms user_email: type: string description: Email that will be used to create the meeting required: - event_id - user_email description: 'Important: You need to be connected to the Cal.com integration' title: ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcom Get-assistantRequestBadRequestError: type: object properties: {} title: Get-assistantRequestBadRequestError get-assistant_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponse' title: get-assistant_Response_200 PhonebooksGetResponsesContentApplicationJsonSchemaResponseItemsItems: type: object properties: phone_book_id: type: string description: Phone book ID. workspace_id: type: string description: Workspace ID. name: type: string description: Phone book name. entry_count: type: number format: double description: Number of entries in this phone book. agents: type: array items: description: Any type description: List of agents this phone book is attached to. title: PhonebooksGetResponsesContentApplicationJsonSchemaResponseItemsItems get-subaccount_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponse' title: get-subaccount_Response_200 ring_pause_seconds: type: integer description: Ring time before the agent answers the call. title: ring_pause_seconds SimulationReadOutStatus: type: string enum: - in-progress - completed - failed title: SimulationReadOutStatus SimulationCaseCreateIn: type: object properties: name: type: string description: Name of the simulation case. prompt: type: string description: Prompt used during the simulation case. type: $ref: '#/components/schemas/SimulationCaseCreateInType' description: Simulation case type. success_criteria: type: array items: type: string description: Success criteria evaluated for the case. call_success_type: $ref: '#/components/schemas/SimulationCaseCreateInCallSuccessType' description: Success logic for the case. suite_id: type: string format: uuid description: ID of the simulation suite to add this case to. Required for v2 simulation suites. base_agent_id: type: - string - 'null' description: Agent ID to base the generated case on. required: - name - prompt - type - success_criteria - call_success_type description: Input payload to create a simulation case. title: SimulationCaseCreateIn Update-assistantRequestBadRequestError: type: object properties: detail: $ref: '#/components/schemas/AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetail' title: Update-assistantRequestBadRequestError AgentFallbackProvider: type: string enum: - elevenlabs - deepgram - synthflow description: The provider for the fallback voice (elevenlabs, deepgram, or synthflow). title: AgentFallbackProvider KnowledgeBaseIdGetResponsesContentApplicationJsonSchemaResponse: type: object properties: total_records: type: integer default: 0 description: The number of retrieved knowledge bases. knowledge_bases: type: array items: $ref: '#/components/schemas/KnowledgeBaseIdGetResponsesContentApplicationJsonSchemaResponseKnowledgeBasesItems' title: KnowledgeBaseIdGetResponsesContentApplicationJsonSchemaResponse ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractorOpenQuestion: type: object properties: identifier: type: string description: The title that will identify the action description: type: string description: The description of what the action is expected to do examples: type: array items: type: string description: Examples of possible answers that can match the description of the action required: - identifier title: ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractorOpenQuestion SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPricingTiersItems: type: object properties: pricing_tier_id: type: string title: SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPricingTiersItems AnalyticsGetResponsesContentApplicationJsonSchemaDurationMetrics: type: object properties: total_minutes: type: integer average_duration: type: integer total_calls: type: integer series: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaDurationMetricsSeriesItems' total_minutes_percentage_change: type: integer total_duration_percentage_change: type: integer total_calls_percentage_change: type: integer description: Duration metrics overview. title: AnalyticsGetResponsesContentApplicationJsonSchemaDurationMetrics SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaProductsPhoneNumbersItems: type: object properties: number: type: string description: The E.164 formatted phone number title: SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaProductsPhoneNumbersItems List-simulation-suitesRequestBadRequestError: type: object properties: {} title: List-simulation-suitesRequestBadRequestError AgentEndCallReasonsV2Items: type: object properties: reason: type: string description: The condition that triggers call termination. closing_message_mode: $ref: '#/components/schemas/AgentEndCallReasonsV2ItemsClosingMessageMode' description: 'Controls how the farewell message is generated. static: message is spoken verbatim. prompt: message is an instruction to the LLM. none: LLM generates its own farewell.' closing_message: type: string description: The closing message content. Interpretation depends on closing_message_mode. required: - reason title: AgentEndCallReasonsV2Items MemoryStoresGetResponsesContentApplicationJsonSchemaResponseItemsItems: type: object properties: id: type: string title: type: string workspace_id: type: string created_at: type: string updated_at: type: string contact_ids: type: array items: description: Any type title: MemoryStoresGetResponsesContentApplicationJsonSchemaResponseItemsItems ActionsActionIdPutRequestBodyContentApplicationJsonSchemaIncallSms: type: object properties: message_body: type: string description: The SMS body sent to the caller. Supports placeholder variables like ``. wait_for_reply: type: boolean description: When true, the agent pauses until the caller replies, the timeout elapses, or the call ends. When false, the call continues and any reply is injected into the transcript when it arrives. timeout_seconds: type: integer description: Maximum time to wait for a reply when `wait_for_reply` is true. fallback_message: type: string description: Message the agent speaks if the timeout fires with no reply. message_before_action: type: string description: Message the agent speaks before the SMS is sent. title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaIncallSms Update-simulation-caseRequestBadRequestError: type: object properties: {} title: Update-simulation-caseRequestBadRequestError SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPermissions: type: object properties: assistants: type: boolean description: Whether this subaccount can create and manage agents. knowledge_base: type: boolean description: Whether this subaccount can access and manage knowledge bases. actions: type: boolean description: Whether this subaccount can create and manage actions. workflows: type: boolean description: Whether this subaccount can create and manage workflows. contacts: type: boolean description: Whether this subaccount can create and manage contacts. phone_numbers: type: boolean description: Whether this subaccount can acquire and manage phone numbers. inbound: type: boolean description: Whether this subaccount can create and manage inbound voice agents. outbound: type: boolean description: Whether this subaccount can create and manage outbound voice agents. widget: type: boolean description: Whether this subaccount can create and manage web widget agents. chat: type: boolean description: Whether this subaccount can create and manage chat agents. logs: type: boolean description: Whether this subaccount can access call, chat, API, and webhook logs. simulations: type: boolean description: Whether this subaccount can access call simulations and evaluations. analytics: type: boolean description: Whether this subaccount can view the analytics dashboard. title: SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPermissions UpdateKnowledgeBaseSourceRequest1: type: object properties: name: type: string description: Updated source name. url: type: string description: Updated URL for `file` sources. required: - url title: UpdateKnowledgeBaseSourceRequest1 listPhoneBooks_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/PhonebooksGetResponsesContentApplicationJsonSchemaResponse' title: listPhoneBooks_Response_200 start-simulation_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationReadOut' title: start-simulation_Response_200 list-knowledge-bases_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/KnowledgeBaseGetResponsesContentApplicationJsonSchemaResponse' title: list-knowledge-bases_Response_200 CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyHangup: type: string enum: - caller - callee description: Indicates which party ended the call. title: CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyHangup Get-voicesRequestBadRequestError: type: object properties: {} title: Get-voicesRequestBadRequestError ListKnowledgeBaseSourcesRequestBadRequestError: type: object properties: {} title: ListKnowledgeBaseSourcesRequestBadRequestError AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessageMode: type: string enum: - exact_message - prompt description: The mode used to generate the voicemail message. title: AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessageMode AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessage: type: object properties: enabled: type: boolean description: Whether voicemail message leaving is enabled. mode: $ref: '#/components/schemas/AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessageMode' description: The mode used to generate the voicemail message. exact_message: type: string description: The exact message to leave on the voicemail. Used when mode is `exact_message`. prompt: type: string description: A prompt used to generate the voicemail message. Used when mode is `prompt`. description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`. title: AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessage get-phone-call_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaResponse' title: get-phone-call_Response_200 ActionsActionIdPutRequestBodyContentApplicationJsonSchemaIncallWhatsapp: type: object properties: content_sid: type: string description: Twilio Content template SID (for example `HX...`) used for the outbound WhatsApp message. content_variables: type: object additionalProperties: type: string description: 'Values that fill the template placeholders. Keys match the numeric placeholders in the template body (for example `{"1": ""}`).' wait_for_reply: type: boolean description: When true, the agent pauses until the caller replies, the timeout elapses, or the call ends. When false, the call continues and any reply is injected into the transcript when it arrives. timeout_seconds: type: integer description: Maximum time to wait for a reply when `wait_for_reply` is true. fallback_message: type: string description: Message the agent speaks if the timeout fires with no reply. title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaIncallWhatsapp get-action_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/ActionsActionIdGetResponsesContentApplicationJsonSchemaResponse' title: get-action_Response_200 delete-action_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/ActionsActionIdDeleteResponsesContentApplicationJsonSchemaResponse' title: delete-action_Response_200 ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionIntegration: type: string enum: - ghl - hubspot - salesforce - salesforce-sandbox description: The possible integrations that can be selected to retrieve information title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionIntegration list-calls_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/CallsGetResponsesContentApplicationJsonSchemaResponse' title: list-calls_Response_200 AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2Items: type: object properties: reason: type: string description: The condition that triggers call termination. closing_message_mode: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2ItemsClosingMessageMode' description: 'Controls how the farewell message is generated. static: message is spoken verbatim. prompt: message is an instruction to the LLM. none: LLM generates its own farewell.' closing_message: type: string description: The closing message content. Interpretation depends on closing_message_mode. required: - reason title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2Items get-simulation-scenario_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationScenarioReadOut' title: get-simulation-scenario_Response_200 SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsSubscription: type: object properties: stripe_subscription_id: type: string synthflow_price_id: type: string title: SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsSubscription Create-simulation-suiteRequestBadRequestError: type: object properties: {} title: Create-simulation-suiteRequestBadRequestError ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionVariablesBeforeTheCallItems: type: object properties: key: type: string description: Key name value: type: string description: Value that will be assigned to the key required: - key - value title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionVariablesBeforeTheCallItems SimulationsSessionsGetResponsesContentApplicationJsonSchemaResponse: type: object properties: pagination: $ref: '#/components/schemas/pagination' items: type: array items: $ref: '#/components/schemas/SimulationSessionReadOut' title: SimulationsSessionsGetResponsesContentApplicationJsonSchemaResponse Detach-phone-number-from-assistantRequestBadRequestError: type: object properties: detail: $ref: '#/components/schemas/AssistantsModelIdPhoneNumbersPhoneNumberSlugDeleteResponsesContentApplicationJsonSchemaDetail' title: Detach-phone-number-from-assistantRequestBadRequestError AnalyticsGetResponsesContentApplicationJsonSchemaDurationMetricsSeriesItems: type: object properties: date: type: string total_minutes: type: integer average_duration: type: integer total_calls: type: integer title: AnalyticsGetResponsesContentApplicationJsonSchemaDurationMetricsSeriesItems allowed_idle_time_seconds: type: integer description: The agent will disconnect after this period. title: allowed_idle_time_seconds update-subaccount_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/SubaccountsSubaccountIdPutResponsesContentApplicationJsonSchemaResponse' title: update-subaccount_Response_200 SubaccountsPostResponsesContentApplicationJsonSchemaResponse: type: object properties: subaccount_id: $ref: '#/components/schemas/subaccount_id' api_key: type: string description: Subaccount API key. user_email: type: string description: Subaccount email. sign_in_link: type: string description: The invite link that can be used to log in to the account. twilio_connected_successfully: type: boolean description: Whether a successful Twilio connection was established. title: SubaccountsPostResponsesContentApplicationJsonSchemaResponse AssistantsModelIdPutResponsesContentApplicationJsonSchemaResponse: type: object properties: model_id: $ref: '#/components/schemas/model_id' title: AssistantsModelIdPutResponsesContentApplicationJsonSchemaResponse Attach-phone-numbers-to-assistantRequestNotFoundError: type: object properties: detail: $ref: '#/components/schemas/AssistantsModelIdPhoneNumbersPutResponsesContentApplicationJsonSchemaDetail' title: Attach-phone-numbers-to-assistantRequestNotFoundError Update-knowledge-baseRequestBadRequestError: type: object properties: {} title: Update-knowledge-baseRequestBadRequestError AssistantsPostResponsesContentApplicationJsonSchemaDetails: type: object properties: phone: type: string description: The phone number attached to this agent. voice: type: string description: This agent's voice. title: AssistantsPostResponsesContentApplicationJsonSchemaDetails Generate-simulation-casesRequestNotFoundError: type: object properties: {} title: Generate-simulation-casesRequestNotFoundError TimelineItem: type: object properties: sender_type: type: - string - 'null' value: type: - string - 'null' type: type: - string - 'null' timestamp_datetime: type: - string - 'null' format: date-time timestamp: type: - number - 'null' format: double description: Timeline event for a simulation call. title: TimelineItem ActionsGetResponsesContentApplicationJsonSchemaResponse: type: object properties: pagination: $ref: '#/components/schemas/ActionsGetResponsesContentApplicationJsonSchemaResponsePagination' actions: type: array items: $ref: '#/components/schemas/ActionsGetResponsesContentApplicationJsonSchemaResponseActionsItems' title: ActionsGetResponsesContentApplicationJsonSchemaResponse List-simulation-sessionsRequestBadRequestError: type: object properties: {} title: List-simulation-sessionsRequestBadRequestError Get-simulation-caseRequestBadRequestError: type: object properties: {} title: Get-simulation-caseRequestBadRequestError List-simulationsRequestUnprocessableEntityError: type: object properties: {} title: List-simulationsRequestUnprocessableEntityError SimulationCaseCreateInCallSuccessType: type: string enum: - all - any description: Success logic for the case. title: SimulationCaseCreateInCallSuccessType Update-subaccountRequestBadRequestError: type: object properties: {} title: Update-subaccountRequestBadRequestError CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyDisconnectReason: type: string enum: - unknown - callee_hangup - caller_hangup - error - forbidden description: The reason the telephony connection was disconnected. title: CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyDisconnectReason greeting_message: type: string description: The greeting message the agent will open the conversation with. You can add variables in curly brackets (for example, {your-variable}). title: greeting_message CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyHangup: type: string enum: - caller - callee title: CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyHangup voice_stability: type: integer description: Range is 0 to 1. Lower settings may make the voice sound more expressive but less predictable, while higher settings make it sound steadier but less emotional. title: voice_stability Get-actionRequestBadRequestError: type: object properties: {} title: Get-actionRequestBadRequestError CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItems: type: object properties: call_id: $ref: '#/components/schemas/call_id' model_id: $ref: '#/components/schemas/model_id' campaign_type: type: string description: Campaign type. phone_number_from: type: string description: The caller's phone number. phone_number_to: type: string description: The call recipient's phone number. name: type: string description: Recipient's name. transcript: type: string description: Call transcript. duration: type: integer description: The duration of the call in seconds. recording_url: type: - string - 'null' description: The URL of the call recording, or `null` if no recording is available. end_call_reason: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsEndCallReason' description: The reason the call ended from the AI agent's perspective. custom_end_call_reason: type: - string - 'null' description: The specific user-defined reason that triggered call termination. Only present when end_call_reason is custom_end_call. error_message: type: string description: Error message if the call encountered an error, or an empty string if no error occurred. executed_actions: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsExecutedActions' description: Actions that were executed during the call. prompt_variables: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsPromptVariables' description: Prompt variables. type_of_call: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsTypeOfCall' description: Call type. start_time: type: string description: The scheduled start time for the call as a UNIX timestamp in milliseconds. timezone: type: string description: The timezone of the call. For a list of all available time zones, see the available [timezones](/time-zones). telephony_hangup: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyHangup' description: Indicates which party ended the call. telephony_disconnect_reason: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsTelephonyDisconnectReason' description: The reason the telephony connection was disconnected. telephony_duration: type: integer description: The total duration of the telephony connection in milliseconds. telephony_ringing_duration: type: integer description: The duration the phone was ringing before the call was answered, in milliseconds. telephony_start: type: string format: date-time description: The timestamp when the telephony connection started (ISO 8601 format). telephony_end: type: string format: date-time description: The timestamp when the telephony connection ended (ISO 8601 format). status: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsStatus' description: The current status of the call. collected_variables: type: object additionalProperties: type: object additionalProperties: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsCollectedVariables' description: Collected variables (slots) from the conversation flow, keyed by agent ID. May be null if not available. title: CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItems attach-phone-numbers-to-assistant_Request: oneOf: - $ref: '#/components/schemas/AttachPhoneNumbersToAssistantRequest0' - $ref: '#/components/schemas/AttachPhoneNumbersToAssistantRequest1' title: attach-phone-numbers-to-assistant_Request List-subaccountsRequestBadRequestError: type: object properties: {} title: List-subaccountsRequestBadRequestError SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaPricingTiersDetachItems: type: object properties: pricing_tier_id: type: string description: The ID of the Synthflow pricing tier. required: - pricing_tier_id title: SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaPricingTiersDetachItems ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItems: type: object properties: name: type: string description: Name of the variable that will be used during the call description: type: string description: Description of the functionality of the variable example: type: string description: Example of the value/answer that can be given to fill the variable type: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItemsType' default: string description: Type of the variable title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItems ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcom: type: object properties: integration: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcomIntegration' description: The selected option will be the meeting type that will be created when the booking is done sms_boolean: type: boolean description: If the value is true the SMS message from the sms_message field will be send sms_message: type: string description: Text to be sent in the sms user_email: type: string description: Email that will be used to create the meeting title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingCalcom SimulationCasesGetParametersSimulationCaseType: type: string enum: - custom - agent_based title: SimulationCasesGetParametersSimulationCaseType List-assistantRequestBadRequestError: type: object properties: {} title: List-assistantRequestBadRequestError ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractor: type: object properties: YES_NO: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractorYesNo' SINGLE_CHOICE: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractorSingleChoice' OPEN_QUESTION: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractorOpenQuestion' title: ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractor detachAContactFromAMemoryStore_Response_200: type: object properties: status: $ref: '#/components/schemas/status' title: detachAContactFromAMemoryStore_Response_200 execute-simulation-suite_Response_200: type: object properties: session_id: type: string format: uuid suite_id: type: string format: uuid suite_name: type: string total_cases: type: integer status: type: string title: execute-simulation-suite_Response_200 timezone: type: string enum: - Africa/Accra - Africa/Addis_Ababa - Africa/Algiers - Africa/Asmara - Africa/Bamako - Africa/Bangui - Africa/Banjul - Africa/Bissau - Africa/Blantyre - Africa/Brazzaville - Africa/Bujumbura - Africa/Cairo - Africa/Casablanca - Africa/Ceuta - Africa/Conakry - Africa/Dakar - Africa/Dar_es_Salaam - Africa/Djibouti - Africa/Douala - Africa/El_Aaiun - Africa/Freetown - Africa/Gaborone - Africa/Harare - Africa/Johannesburg - Africa/Juba - Africa/Kampala - Africa/Khartoum - Africa/Kigali - Africa/Kinshasa - Africa/Lagos - Africa/Libreville - Africa/Lome - Africa/Luanda - Africa/Lubumbashi - Africa/Lusaka - Africa/Malabo - Africa/Maputo - Africa/Maseru - Africa/Mbabane - Africa/Mogadishu - Africa/Monrovia - Africa/Nairobi - Africa/Ndjamena - Africa/Niamey - Africa/Nouakchott - Africa/Ouagadougou - Africa/Porto-Novo - Africa/Sao_Tome - Africa/Tripoli - Africa/Tunis - Africa/Windhoek - America/Adak - America/Anchorage - America/Anguilla - America/Antigua - America/Araguaina - America/Argentina/Buenos_Aires - America/Argentina/Catamarca - America/Argentina/Cordoba - America/Argentina/Jujuy - America/Argentina/La_Rioja - America/Argentina/Mendoza - America/Argentina/Rio_Gallegos - America/Argentina/Salta - America/Argentina/San_Juan - America/Argentina/San_Luis - America/Argentina/Tucuman - America/Argentina/Ushuaia - America/Aruba - America/Asuncion - America/Atikokan - America/Bahia - America/Bahia_Banderas - America/Barbados - America/Belem - America/Belize - America/Blanc-Sablon - America/Boa_Vista - America/Bogota - America/Boise - America/Cambridge_Bay - America/Campo_Grande - America/Cancun - America/Caracas - America/Cayenne - America/Cayman - America/Chicago - America/Chihuahua - America/Ciudad_Juarez - America/Costa_Rica - America/Creston - America/Cuiaba - America/Curacao - America/Danmarkshavn - America/Dawson - America/Dawson_Creek - America/Denver - America/Detroit - America/Dominica - America/Edmonton - America/Eirunepe - America/El_Salvador - America/Fort_Nelson - America/Fortaleza - America/Glace_Bay - America/Goose_Bay - America/Grand_Turk - America/Grenada - America/Guadeloupe - America/Guatemala - America/Guayaquil - America/Guyana - America/Halifax - America/Havana - America/Hermosillo - America/Indiana/Indianapolis - America/Indiana/Knox - America/Indiana/Marengo - America/Indiana/Petersburg - America/Indiana/Tell_City - America/Indiana/Vevay - America/Indiana/Vincennes - America/Indiana/Winamac - America/Inuvik - America/Iqaluit - America/Jamaica - America/Juneau - America/Kentucky/Louisville - America/Kentucky/Monticello - America/Kralendijk - America/La_Paz - America/Lima - America/Los_Angeles - America/Lower_Princes - America/Maceio - America/Managua - America/Manaus - America/Marigot - America/Martinique - America/Matamoros - America/Mazatlan - America/Menominee - America/Merida - America/Metlakatla - America/Mexico_City - America/Miquelon - America/Moncton - America/Monterrey - America/Montevideo - America/Montserrat - America/Nassau - America/New_York - America/Nome - America/Noronha - America/North_Dakota/Beulah - America/North_Dakota/Center - America/North_Dakota/New_Salem - America/Nuuk - America/Ojinaga - America/Panama - America/Paramaribo - America/Phoenix - America/Port_of_Spain - America/Port-au-Prince - America/Porto_Velho - America/Puerto_Rico - America/Punta_Arenas - America/Rankin_Inlet - America/Recife - America/Regina - America/Resolute - America/Rio_Branco - America/Santarem - America/Santiago - America/Santo_Domingo - America/Sao_Paulo - America/Scoresbysund - America/Sitka - America/St_Barthelemy - America/St_Johns - America/St_Kitts - America/St_Lucia - America/St_Thomas - America/St_Vincent - America/Swift_Current - America/Tegucigalpa - America/Thule - America/Tijuana - America/Toronto - America/Tortola - America/Vancouver - America/Whitehorse - America/Winnipeg - America/Yakutat - Antarctica/Casey - Antarctica/Davis - Antarctica/DumontDUrville - Antarctica/Macquarie - Antarctica/Mawson - Antarctica/McMurdo - Antarctica/Palmer - Antarctica/Rothera - Antarctica/Syowa - Antarctica/Troll - Antarctica/Vostok - Arctic/Longyearbyen - Asia/Aden - Asia/Almaty - Asia/Amman - Asia/Anadyr - Asia/Aqtau - Asia/Aqtobe - Asia/Ashgabat - Asia/Atyrau - Asia/Baghdad - Asia/Bahrain - Asia/Baku - Asia/Bangkok - Asia/Barnaul - Asia/Beirut - Asia/Bishkek - Asia/Brunei - Asia/Chita - Asia/Choibalsan - Asia/Colombo - Asia/Damascus - Asia/Dhaka - Asia/Dili - Asia/Dubai - Asia/Dushanbe - Asia/Famagusta - Asia/Gaza - Asia/Hebron - Asia/Ho_Chi_Minh - Asia/Hong_Kong - Asia/Hovd - Asia/Irkutsk - Asia/Jakarta - Asia/Jayapura - Asia/Jerusalem - Asia/Kabul - Asia/Kamchatka - Asia/Karachi - Asia/Kathmandu - Asia/Khandyga - Asia/Kolkata - Asia/Krasnoyarsk - Asia/Kuala_Lumpur - Asia/Kuching - Asia/Kuwait - Asia/Macau - Asia/Magadan - Asia/Makassar - Asia/Manila - Asia/Muscat - Asia/Nicosia - Asia/Novokuznetsk - Asia/Novosibirsk - Asia/Omsk - Asia/Oral - Asia/Phnom_Penh - Asia/Pontianak - Asia/Pyongyang - Asia/Qatar - Asia/Qostanay - Asia/Qyzylorda - Asia/Riyadh - Asia/Sakhalin - Asia/Samarkand - Asia/Seoul - Asia/Shanghai - Asia/Singapore - Asia/Srednekolymsk - Asia/Taipei - Asia/Tashkent - Asia/Tbilisi - Asia/Tehran - Asia/Thimphu - Asia/Tokyo - Asia/Tomsk - Asia/Ulaanbaatar - Asia/Urumqi - Asia/Ust-Nera - Asia/Vientiane - Asia/Vladivostok - Asia/Yakutsk - Asia/Yangon - Asia/Yekaterinburg - Asia/Yerevan - Atlantic/Azores - Atlantic/Bermuda - Atlantic/Canary - Atlantic/Cape_Verde - Atlantic/Faroe - Atlantic/Madeira - Atlantic/Reykjavik - Atlantic/South_Georgia - Atlantic/St_Helena - Atlantic/Stanley - Australia/Adelaide - Australia/Brisbane - Australia/Broken_Hill - Australia/Darwin - Australia/Eucla - Australia/Hobart - Australia/Lindeman - Australia/Lord_Howe - Australia/Melbourne - Australia/Perth - Australia/Sydney - Europe/Amsterdam - Europe/Andorra - Europe/Astrakhan - Europe/Athens - Europe/Belgrade - Europe/Berlin - Europe/Bratislava - Europe/Brussels - Europe/Bucharest - Europe/Budapest - Europe/Busingen - Europe/Chisinau - Europe/Copenhagen - Europe/Dublin - Europe/Gibraltar - Europe/Guernsey - Europe/Helsinki - Europe/Isle_of_Man - Europe/Istanbul - Europe/Jersey - Europe/Kaliningrad - Europe/Kirov - Europe/Kyiv - Europe/Lisbon - Europe/Ljubljana - Europe/London - Europe/Luxembourg - Europe/Madrid - Europe/Malta - Europe/Mariehamn - Europe/Minsk - Europe/Monaco - Europe/Moscow - Europe/Oslo - Europe/Paris - Europe/Podgorica - Europe/Prague - Europe/Riga - Europe/Rome - Europe/Samara - Europe/San_Marino - Europe/Sarajevo - Europe/Saratov - Europe/Simferopol - Europe/Skopje - Europe/Sofia - Europe/Stockholm - Europe/Tallinn - Europe/Tirane - Europe/Ulyanovsk - Europe/Vaduz - Europe/Vatican - Europe/Vienna - Europe/Vilnius - Europe/Volgograd - Europe/Warsaw - Europe/Zagreb - Europe/Zurich - Indian/Antananarivo - Indian/Chagos - Indian/Christmas - Indian/Cocos - Indian/Comoro - Indian/Kerguelen - Indian/Mahe - Indian/Maldives - Indian/Mauritius - Indian/Mayotte - Indian/Reunion - Pacific/Apia - Pacific/Auckland - Pacific/Bougainville - Pacific/Chatham - Pacific/Chuuk - Pacific/Easter - Pacific/Efate - Pacific/Fakaofo - Pacific/Fiji - Pacific/Funafuti - Pacific/Galapagos - Pacific/Gambier - Pacific/Guadalcanal - Pacific/Guam - Pacific/Honolulu - Pacific/Kanton - Pacific/Kiritimati - Pacific/Kosrae - Pacific/Kwajalein - Pacific/Majuro - Pacific/Marquesas - Pacific/Midway - Pacific/Nauru - Pacific/Niue - Pacific/Norfolk - Pacific/Noumea - Pacific/Pago_Pago - Pacific/Palau - Pacific/Pitcairn - Pacific/Pohnpei - Pacific/Port_Moresby - Pacific/Rarotonga - Pacific/Saipan - Pacific/Tahiti - Pacific/Tarawa - Pacific/Tongatapu - Pacific/Wake - Pacific/Wallis - US/Alaska - US/Central - US/Eastern - US/Hawaii - US/Mountain - US/Pacific default: Europe/Berlin description: The agent's timezone. title: timezone Start-simulationRequestNotFoundError: type: object properties: {} title: Start-simulationRequestNotFoundError SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItems: type: object properties: subaccount_id: $ref: '#/components/schemas/subaccount_id' agency_id: type: string name: type: string pricing_tiers: type: array items: $ref: '#/components/schemas/SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPricingTiersItems' permissions: $ref: '#/components/schemas/SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPermissions' subscription: $ref: '#/components/schemas/SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsSubscription' minutes_used: type: integer default: 0 max_minutes: type: - integer - 'null' description: The maximum number of minutes allocated to this subaccount. Null if no limit is set. members: type: array items: $ref: '#/components/schemas/SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsMembersItems' title: SubaccountsGetResponsesContentApplicationJsonSchemaResponseSubaccountsItems createAPhoneBook_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/PhonebooksPostResponsesContentApplicationJsonSchemaResponse' title: createAPhoneBook_Response_200 List-actionsRequestBadRequestError: type: object properties: {} title: List-actionsRequestBadRequestError SimulationsGetResponsesContentApplicationJsonSchemaResponse: type: object properties: pagination: $ref: '#/components/schemas/pagination' items: type: array items: $ref: '#/components/schemas/SimulationReadOut' title: SimulationsGetResponsesContentApplicationJsonSchemaResponse CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsPromptVariables: type: object properties: {} description: Prompt variables. title: CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsPromptVariables update-simulation-suite_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationSuiteReadOut' title: update-simulation-suite_Response_200 KnowledgeBaseKnowledgeBaseIdSourcesPostRequestBodyContentApplicationJsonSchemaType: type: string enum: - pdf - text - web description: Source type. title: KnowledgeBaseKnowledgeBaseIdSourcesPostRequestBodyContentApplicationJsonSchemaType Voice-callRequestBadRequestError: type: object properties: {} title: Voice-callRequestBadRequestError CallsCallIdGetResponsesContentApplicationJsonSchemaDetail: type: object properties: status: type: string description: type: string request_id: type: string category: type: string required: - status - description - request_id - category title: CallsCallIdGetResponsesContentApplicationJsonSchemaDetail LiveTransferUpdateDirectPhoneConfigTransferMode: type: string enum: - cold_transfer - warm_transfer - warm_transfer_with_context description: Transfer mode. title: LiveTransferUpdateDirectPhoneConfigTransferMode ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractorYesNo: type: object properties: identifier: type: string description: The title that will identify the action description: type: string description: The description of what the action is expected to do required: - identifier title: ActionsPostRequestBodyContentApplicationJsonSchemaInformationExtractorYesNo AttachPhoneNumbersToAssistantRequest1: type: object properties: phone_number_slugs: type: array items: type: string description: Phone number slugs. required: - phone_number_slugs title: AttachPhoneNumbersToAssistantRequest1 language: type: string enum: - multi - en-US - bg - cs - de-DE - el - fi - fr-FR - es-ES - hu - it - fr - pt-BR - nl-NL - hi - zh-CN - 'no' - sv-SE - da - da-DK - id - ja - ko - ms - ro - ru - sk - tr - uk - vi - th - pl description: This agent's language. For the list of available languages, see Supported languages title: language ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomAction: type: object properties: http_mode: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionHttpMode' default: GET description: Select the method that will be used url: type: string description: URL to be used by the action name: type: string description: Name of the action description: type: string description: Description of the action run_action_before_call_start: type: boolean description: Actions that will run before the call, like phone number speech_while_using_the_tool: type: string description: The speech that will be used while the action is executed integration: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionIntegration' description: The possible integrations that can be selected to retrieve information custom_auth: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionCustomAuth' variables_before_the_call: type: array items: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionVariablesBeforeTheCallItems' variables_during_the_call: type: array items: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItems' headers: type: array items: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionHeadersItems' query_parameters: type: array items: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionQueryParametersItems' agent_speak_naturally: type: boolean description: If disabled, the agent will strictly stick to your pre-written messages. If enabled, it may say something that accounts for the previous context of the conversation. message_delay: type: string description: What the agent should say if the action reaches the delay threshold. message_delay_time: type: integer description: Delay threshold, in seconds. message_error: type: string description: What the agent should say if the action failed. json_body_stringified: type: string description: A json stringified of the payload/body that will be used for the action prompt: type: string description: The prompt that will be used in case it is set message_before_action_starts: type: string description: The message that the agent will speak before the action is triggered failure_timeout: type: integer description: How long to wait for the custom action to complete before timing out (in seconds) title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomAction list-simulation-cases_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationCasesGetResponsesContentApplicationJsonSchemaResponse' title: list-simulation-cases_Response_200 Detach-actionRequestBadRequestError: type: object properties: {} title: Detach-actionRequestBadRequestError create-simulation-scenario_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationScenarioReadOut' title: create-simulation-scenario_Response_200 ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingGhlAutoconfirm: type: string enum: - confirmed - new description: If confirmed is selected the meeting will be automatically accepted and you don't have to do anything, otherwise you have to go to GHL calendar and confirm the meeting title: ActionsPostRequestBodyContentApplicationJsonSchemaRealTimeBookingGhlAutoconfirm UpdateKnowledgeBaseSourceRequest0: type: object properties: name: type: string description: Updated source name. url: type: string description: Updated URL for `link` sources. required: - url title: UpdateKnowledgeBaseSourceRequest0 Get-simulation-sessionRequestNotFoundError: type: object properties: {} title: Get-simulation-sessionRequestNotFoundError Start-simulationRequestBadRequestError: type: object properties: {} title: Start-simulationRequestBadRequestError model_id: type: string description: Agent ID. You can find it on the agent’s page in your dashboard. title: model_id ContactsGetResponsesContentApplicationJsonSchemaResponseItemsItems: type: object properties: id: type: string name: type: string phone_number: type: string email: type: string contact_metadata: $ref: '#/components/schemas/ContactsGetResponsesContentApplicationJsonSchemaResponseItemsItemsContactMetadata' workspace_id: type: string created_at: type: string updated_at: type: string memory_store_ids: type: array items: description: Any type title: ContactsGetResponsesContentApplicationJsonSchemaResponseItemsItems Detach-phone-number-from-assistantRequestNotFoundError: type: object properties: detail: $ref: '#/components/schemas/AssistantsModelIdPhoneNumbersPhoneNumberSlugDeleteResponsesContentApplicationJsonSchemaDetail' title: Detach-phone-number-from-assistantRequestNotFoundError ActionsPostRequestBodyContentApplicationJsonSchemaCustomEvalQuestion: type: object properties: identifier: type: string description: Custom evaluation name. text: type: string description: Custom evaluation description. category: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomEvalQuestionCategory' description: Custom evalution category. expected_result: type: string description: The expected result, which depends on the category. For pass_fail evaluations, the expected result is either true or false. For numeric evaluations, it is an integer between 1 and 10. title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomEvalQuestion Generate-simulation-casesRequestUnprocessableEntityError: type: object properties: {} title: Generate-simulation-casesRequestUnprocessableEntityError Start-simulationRequestUnprocessableEntityError: type: object properties: {} title: Start-simulationRequestUnprocessableEntityError SimulationSuccessCriteriaAnalysis: type: object properties: success: type: boolean evaluations: type: array items: $ref: '#/components/schemas/SimulationSuccessCriteriaEvaluation' required: - success - evaluations description: Summary of the success criteria evaluation results. title: SimulationSuccessCriteriaAnalysis attach-knowledge-base_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/KnowledgeBaseKnowledgeBaseIdAttachPostResponsesContentApplicationJsonSchemaResponse' title: attach-knowledge-base_Response_200 ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingGhl: type: object properties: autoconfirm: $ref: '#/components/schemas/ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingGhlAutoconfirm' description: If confirmed is selected the meeting will be automatically accepted and you don't have to do anything, otherwise you have to go to GHL calendar and confirm the meeting booking_title: type: string description: The title that will be displayed in the Synthflow app for the created action title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaRealTimeBookingGhl list-simulation-cases-by-agent_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: type: array items: $ref: '#/components/schemas/SimulationCaseReadOut' title: list-simulation-cases-by-agent_Response_200 SimulationCaseUpdateInCallSuccessType: type: string enum: - all - any title: SimulationCaseUpdateInCallSuccessType create-knowledge-base_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/KnowledgeBasePostResponsesContentApplicationJsonSchemaResponse' title: create-knowledge-base_Response_200 delete-knowledge-base_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/KnowledgeBaseIdDeleteResponsesContentApplicationJsonSchemaResponse' title: delete-knowledge-base_Response_200 AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessage: type: object properties: enabled: type: boolean description: Whether voicemail message leaving is enabled. mode: $ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessageMode' description: The mode used to generate the voicemail message. exact_message: type: string description: The exact message to leave on the voicemail. Used when mode is `exact_message`. prompt: type: string description: A prompt used to generate the voicemail message. Used when mode is `prompt`. description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`. title: AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessage greeting_message_human_talk_timeout: type: integer description: 'The maximum number of seconds the agent waits for the human to speak first when `greeting_message_mode` is set to `human`. If the human does not speak within this time, the agent will start the conversation automatically. ' title: greeting_message_human_talk_timeout create-simulation-suite_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationSuiteReadOut' title: create-simulation-suite_Response_200 PhonebooksPostResponsesContentApplicationJsonSchemaResponse: type: object properties: key: type: string description: Phone book ID. title: PhonebooksPostResponsesContentApplicationJsonSchemaResponse CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsTypeOfCall: type: string enum: - inbound - outbound description: Call type. title: CallsCallIdGetResponsesContentApplicationJsonSchemaResponseCallsItemsTypeOfCall SubaccountsPostRequestBodyContentApplicationJsonSchemaRevokePermissionsItems: type: string enum: - inbound - outbound - widget - chat - assistants - knowledge_base - actions - workflows - contacts - phone_numbers - logs - simulations - analytics title: SubaccountsPostRequestBodyContentApplicationJsonSchemaRevokePermissionsItems attach-action_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/ActionsAttachPostResponsesContentApplicationJsonSchemaResponse' title: attach-action_Response_200 voice_id: type: string description: Voice ID for this agent. To retrieve voice IDs, use the Get voices endpoint. title: voice_id transcriber_keywords: type: array items: type: string description: Add business terms to improve accuracy and recognition. title: transcriber_keywords PaginatedSimulationScenariosList: type: object properties: items: type: array items: $ref: '#/components/schemas/SimulationScenarioReadOut' description: List of simulation scenarios total: type: integer description: Total number of simulation scenarios page_number: type: integer description: Current page number page_size: type: integer description: Number of items per page required: - items - total - page_number - page_size title: PaginatedSimulationScenariosList SimulationCaseReadOutBaseAgent: type: object properties: model_id: type: string agent_name: type: string agent_type: type: string voice_engine_type: type: string phone_number: type: - string - 'null' updated_at: type: string format: date-time image_url: type: - string - 'null' title: SimulationCaseReadOutBaseAgent AssistantsPostRequestBodyContentApplicationJsonSchemaAgentMinWordsToInterrupt: type: string enum: - '0' - '1' - '2' - '3' - '4' - '5' description: You can set how many words the human must speak before the AI will stop speaking and listening. title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentMinWordsToInterrupt LiveTransferUpdatePhoneBookConfig: type: object properties: transfer_mode: $ref: '#/components/schemas/LiveTransferUpdatePhoneBookConfigTransferMode' description: Transfer mode. message_to_transfer_target: type: string description: The message the human agent will hear after the call is transferred to them. phone_book_id: type: string description: Phone book ID. instructions: type: string description: 'What words can trigger the transfer call, for example: like I want to talk with a manager' timeout: type: integer description: How long to wait for the transfer call to happen before stop trying to do the transfer digits: type: string description: Extension digits for the transfer call initiating_msg: type: string description: Message that the agent will say before starting the transfer call goodbye_msg: type: string description: Message that the agent will say before leaving the call and connecting you with the transfer call number to start the conversation failed_msg: type: string description: The message that the agent will say in case the person that should answer the phone is not able to answer before the timeout enable_background_music: type: boolean stop_recording_after_transfer: type: boolean description: Whether the call should stop being recorded once it's transferred. human_detection: type: boolean description: If true, the agent will detect whether the transfer target is a human, and once detected, will complete the transfer to the target. human_detection_timeout_seconds: type: integer description: Time in seconds to wait for human detection before giving up. Used in conjunction with human_detection. Minimum 30 seconds, maximum 1800 seconds (30 minutes). summarization_prompt: type: string description: Custom prompt used to generate the warm transfer context summary for the warm transfer leg. preserve_caller_id: type: boolean description: If true, the transfer target will see the caller's phone number instead of the agent's phone number. Only works for numbers purchased through a Synthflow Twilio account; for other numbers the call will fail. screened: type: boolean description: If true, the transfer target will first speak with the AI agent, who can answer questions about the caller and the transcript. The transfer target can then choose to accept or decline the transfer. required: - transfer_mode - phone_book_id - instructions - initiating_msg title: LiveTransferUpdatePhoneBookConfig ActionsActionIdPutRequestBodyContentApplicationJsonSchemaLiveTransfer: oneOf: - $ref: '#/components/schemas/LiveTransferUpdateDirectPhoneConfig' - $ref: '#/components/schemas/LiveTransferUpdatePhoneBookConfig' title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaLiveTransfer AnalyticsGetResponsesContentApplicationJsonSchemaCallStatusStatItemsItems: type: object properties: status: type: string value: type: integer percentage: type: integer percentage_change: type: integer title: AnalyticsGetResponsesContentApplicationJsonSchemaCallStatusStatItemsItems SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponse: type: object properties: subaccounts: type: array items: $ref: '#/components/schemas/SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItems' title: SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponse Update-simulation-suiteRequestNotFoundError: type: object properties: {} title: Update-simulation-suiteRequestNotFoundError AssistantsGetResponsesContentApplicationJsonSchemaResponse: type: object properties: pagination: $ref: '#/components/schemas/pagination' assistants: $ref: '#/components/schemas/AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistants' title: AssistantsGetResponsesContentApplicationJsonSchemaResponse ActionsInitializePostRequestBodyContentApplicationJsonSchemaVariablesItems: type: object properties: key: type: string description: Key name value: type: string description: Value that will be assigned to the key required: - key - value title: ActionsInitializePostRequestBodyContentApplicationJsonSchemaVariablesItems SimulationScenarioCreateIn: type: object properties: name: type: string description: Name of the simulation scenario template description: type: string description: Description of what the scenario template should verify when generating test cases required: - name - description title: SimulationScenarioCreateIn Create-assistantRequestBadRequestError: type: object properties: detail: $ref: '#/components/schemas/AssistantsPostResponsesContentApplicationJsonSchemaDetail' title: Create-assistantRequestBadRequestError AnalyticsGetResponsesContentApplicationJsonSchemaRecentCallHistoryItemsItems: type: object properties: call_id: type: string call_status: type: string duration: type: integer agent_name: type: string model_id: type: string lead_phone_number: type: string created_at: type: string title: AnalyticsGetResponsesContentApplicationJsonSchemaRecentCallHistoryItemsItems CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsCollectedVariables: type: object properties: value: description: The collected value of the variable (string, number, boolean, or null if not collected). collected: type: boolean description: Whether this variable was successfully collected. title: CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsCollectedVariables Get-simulation-scenarioRequestBadRequestError: type: object properties: {} title: Get-simulation-scenarioRequestBadRequestError SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaProducts: type: object properties: phone_numbers: type: array items: $ref: '#/components/schemas/SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaProductsPhoneNumbersItems' description: The list of numbers to be imported to or returned from the subaccount_id description: Objects to be imported to or returned from the subaccount_id title: SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaProducts ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionIntegration: type: string enum: - ghl - hubspot - salesforce - salesforce-sandbox description: The possible integrations that can be selected to retrieve information title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionIntegration AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformance: type: object properties: by_minutes_used: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformanceByMinutesUsedItems' by_calls_made: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformanceByCallsMadeItems' by_success_rate: type: array items: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformanceBySuccessRateItems' description: Agent performance overview. title: AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformance AnalyticsGetParametersTypeOfCall: type: string enum: - inbound - outbound - widget title: AnalyticsGetParametersTypeOfCall get-voices_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/VoicesGetResponsesContentApplicationJsonSchemaResponse' title: get-voices_Response_200 SimulationSuiteReadOut: type: object properties: id: type: string format: uuid description: Unique identifier for the simulation suite name: type: string description: Name of the simulation suite model_id: type: string description: Agent model ID this suite is for workspace_id: type: string description: Workspace ID this suite belongs to language: type: string default: en-US description: Language locale for the persona agent and test cases (e.g., 'en-US', 'es-ES', 'fr-FR') cases: type: array items: $ref: '#/components/schemas/SimulationCaseReadOut' description: Test cases included in this suite agent: $ref: '#/components/schemas/AgentListItem' description: Agent information associated with this suite created_at: type: string format: date-time description: When the suite was created updated_at: type: string format: date-time description: When the suite was last updated title: SimulationSuiteReadOut AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetails: type: object properties: phone: type: string description: The phone number attached to the agent. voice: type: string description: The agent's voice. title: AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetails greeting_message_mode: type: string enum: - human - agent_static - agent_dynamic description: 'Controls how the agent delivers the initial greeting. `human`: the agent waits for the human to speak first. `agent_static`: the agent speaks `greeting_message` once the call is established. `agent_dynamic`: the agent generates a greeting from the prompt and speaks it once the call is established. Note: `voicemail_message` requires this to be set to `human`. Changing away from `human` while `voicemail_message` is enabled will fail. ' title: greeting_message_mode ActionsPostRequestBodyContentApplicationJsonSchemaCustomAction: type: object properties: http_mode: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionHttpMode' description: Select the method that will be used url: type: string description: URL to be used by the action run_action_before_call_start: type: boolean description: Actions that will run before the call, like phone number name: type: string description: Name of the action description: type: string description: Description of the action speech_while_using_the_tool: type: string description: The speech that will be used while the action is executed integration: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionIntegration' description: The possible integrations that can be selected to retrieve information failure_timeout: type: integer description: How long to wait for the custom action to complete before timing out (in seconds) custom_auth: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionCustomAuth' variables_before_the_call: type: array items: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionVariablesBeforeTheCallItems' variables_during_the_call: type: array items: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionVariablesDuringTheCallItems' headers: type: array items: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionHeadersItems' query_parameters: type: array items: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionQueryParametersItems' agent_speak_naturally: type: boolean description: If disabled, the agent will strictly stick to your pre-written messages. If enabled, it may say something that accounts for the previous context of the conversation. message_delay: type: string description: What the agent should say if the action reaches the delay threshold. message_delay_time: type: integer description: Delay threshold, in seconds. message_error: type: string description: What the agent should say if the action failed. json_body_stringified: type: string description: A json stringified of the payload/body that will be used for the action prompt: type: string description: The prompt that will be used in case it is set message_before_action_starts: type: string description: The message that the agent will speak before the action is triggered required: - http_mode - url - run_action_before_call_start - name title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomAction KnowledgeBaseIdGetResponsesContentApplicationJsonSchemaResponseKnowledgeBasesItems: type: object properties: name: type: string description: Knowledge base name. rag_use_condition: type: string description: When this knowledge base should be used. id: type: string description: Knowledge base ID. title: KnowledgeBaseIdGetResponsesContentApplicationJsonSchemaResponseKnowledgeBasesItems Create-simulation-caseRequestUnprocessableEntityError: type: object properties: {} title: Create-simulation-caseRequestUnprocessableEntityError get-simulation-suite_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationSuiteReadOut' title: get-simulation-suite_Response_200 ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionCustomAuth: type: object properties: is_needed: type: boolean default: false description: If authorization to use the set URL and method are required set to true location: type: string description: 'Section where the authorization will be used like: header' key: type: string default: Bearer description: The authorization type. Default is Bearer value: type: string description: The value of the token that will be used with the authentication type title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionCustomAuth SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaOperationType: type: string enum: - import - return description: The type of operation to perform. You can import objects from the parent workspace to a subaccount or return objects from a subaccount in some cases. title: SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaOperationType Delete-actionRequestBadRequestError: type: object properties: {} title: Delete-actionRequestBadRequestError detach-phone-number-from-assistant_Response_200: type: object properties: status: type: string title: detach-phone-number-from-assistant_Response_200 list-contacts_Response_200: type: object properties: status: type: string response: $ref: '#/components/schemas/ContactsGetResponsesContentApplicationJsonSchemaResponse' title: list-contacts_Response_200 knowledge_base_id: type: string description: Knowledge base ID. title: knowledge_base_id Update-simulation-caseRequestUnprocessableEntityError: type: object properties: {} title: Update-simulation-caseRequestUnprocessableEntityError AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessage: type: object properties: enabled: type: boolean description: Whether voicemail message leaving is enabled. mode: $ref: '#/components/schemas/AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessageMode' description: The mode used to generate the voicemail message. exact_message: type: string description: The exact message to leave on the voicemail. Used when mode is `exact_message`. prompt: type: string description: A prompt used to generate the voicemail message. Used when mode is `prompt`. description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`. title: AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessage get-simulation-session_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationSessionReadOut' title: get-simulation-session_Response_200 KnowledgeBaseGetResponsesContentApplicationJsonSchemaResponseKnowledgeBasesItems: type: object properties: name: type: string description: Knowledge base name. id: type: string description: Knowledge base ID. rag_use_condition: type: string description: When this knowledge base should be used. title: KnowledgeBaseGetResponsesContentApplicationJsonSchemaResponseKnowledgeBasesItems AgentBackgroundNoiseType: type: string enum: - cafe - office description: What kind of background noise should be present. title: AgentBackgroundNoiseType CallsPostResponsesContentApplicationJsonSchemaResponse: type: object properties: answer: type: string call_id: type: string title: CallsPostResponsesContentApplicationJsonSchemaResponse Delete-simulation-scenarioRequestBadRequestError: type: object properties: {} title: Delete-simulation-scenarioRequestBadRequestError attach-phone-numbers-to-assistant_Response_200: type: object properties: status: type: string title: attach-phone-numbers-to-assistant_Response_200 AnalyticsGetResponsesContentApplicationJsonSchemaCallStatusStatSeriesItems: type: object properties: date: type: string completed: type: integer hangup_on_voicemail: type: integer busy: type: integer no-answer: type: integer failed: type: integer left_voicemail: type: integer in-progress: type: integer checking: type: integer paused: type: integer queue: type: integer initiated: type: integer ringing: type: integer title: AnalyticsGetResponsesContentApplicationJsonSchemaCallStatusStatSeriesItems Get-phone-callRequestBadRequestError: type: object properties: detail: $ref: '#/components/schemas/CallsCallIdGetResponsesContentApplicationJsonSchemaDetail' title: Get-phone-callRequestBadRequestError ActionsPostRequestBodyContentApplicationJsonSchemaIncallWhatsapp: type: object properties: content_sid: type: string description: Twilio Content template SID (for example `HX...`) used for the outbound WhatsApp message. content_variables: type: object additionalProperties: type: string description: 'Values that fill the template placeholders. Keys match the numeric placeholders in the template body (for example `{"1": ""}`).' wait_for_reply: type: boolean default: false description: When true, the agent pauses until the caller replies, the timeout elapses, or the call ends. When false, the call continues and any reply is injected into the transcript when it arrives. timeout_seconds: type: integer description: Maximum time to wait for a reply when `wait_for_reply` is true. fallback_message: type: string description: Message the agent speaks if the timeout fires with no reply. required: - content_sid title: ActionsPostRequestBodyContentApplicationJsonSchemaIncallWhatsapp Create-simulation-scenarioRequestBadRequestError: type: object properties: {} title: Create-simulation-scenarioRequestBadRequestError AssistantsModelIdPhoneNumbersPutResponsesContentApplicationJsonSchemaDetail: type: object properties: status: type: string description: type: string request_id: type: string category: type: string required: - status - description - request_id - category title: AssistantsModelIdPhoneNumbersPutResponsesContentApplicationJsonSchemaDetail KnowledgeBaseKnowledgeBaseIdDetachPostResponsesContentApplicationJsonSchemaResponse: type: object properties: body: type: string model_id: type: string title: KnowledgeBaseKnowledgeBaseIdDetachPostResponsesContentApplicationJsonSchemaResponse AssistantsPostRequestBodyContentApplicationJsonSchemaAgentPatienceLevel: type: string enum: - low - medium - high description: Patience level of the agent. title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentPatienceLevel update-simulation-scenario_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationScenarioReadOut' title: update-simulation-scenario_Response_200 CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsExecutedActions: type: object properties: {} description: Actions executed during the call title: CallsGetResponsesContentApplicationJsonSchemaResponseCallsItemsExecutedActions AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsMaxDuration: type: object properties: duration_seconds: type: integer description: Maximum length of the call in seconds. is_enabled: type: boolean description: Whether there's a limit on call length. title: AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsMaxDuration SimulationSessionReadOut: type: object properties: simulation_session_id: type: string format: uuid simulations: type: array items: $ref: '#/components/schemas/SimulationReadOut' total_simulations: type: integer completed_simulations: type: integer failed_simulations: type: integer pending_simulations: type: integer description: Simulation session summary. title: SimulationSessionReadOut AgentBackgroundNoise: type: object properties: enabled: type: boolean description: If enabled, the agent will add background noise. type: $ref: '#/components/schemas/AgentBackgroundNoiseType' description: What kind of background noise should be present. volume: type: integer description: How loud the background noise should be. description: Add background noise to make the call more natural. title: AgentBackgroundNoise MemoryStoresMemoryStoreIdGetResponsesContentApplicationJsonSchemaResponse: type: object properties: id: type: string title: type: string workspace_id: type: string created_at: type: string updated_at: type: string contact_ids: type: array items: description: Any type title: MemoryStoresMemoryStoreIdGetResponsesContentApplicationJsonSchemaResponse AgentListItem: type: object properties: id: type: string format: uuid name: type: string avatar: type: - string - 'null' title: AgentListItem KnowledgeBasePostResponsesContentApplicationJsonSchemaResponse: type: object properties: body: type: string knowledge_base_id: $ref: '#/components/schemas/knowledge_base_id' title: KnowledgeBasePostResponsesContentApplicationJsonSchemaResponse ActionsActionIdPutRequestBodyContentApplicationJsonSchemaSendSms: type: object properties: content: type: string description: The content/text of the SMS message instructions: type: string description: The instructions that will trigger the SMS message to be sent title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaSendSms subaccount_id: type: string description: Subaccount ID. title: subaccount_id ActionsGetResponsesContentApplicationJsonSchemaResponseActionsItems: type: object properties: action_id: type: string action_type: type: string name: type: string description: type: string parameters_hard_coded: $ref: '#/components/schemas/ActionsGetResponsesContentApplicationJsonSchemaResponseActionsItemsParametersHardCoded' title: ActionsGetResponsesContentApplicationJsonSchemaResponseActionsItems Get-simulationRequestUnprocessableEntityError: type: object properties: {} title: Get-simulationRequestUnprocessableEntityError AnalyticsGetResponsesContentApplicationJsonSchemaEndCallReasonStatSeriesItems: type: object properties: date: type: string voicemail: type: integer human_goodbye: type: integer agent_goodbye: type: integer human_pick_up_cut_off: type: integer max_duration: type: integer idle_time_exceeded: type: integer goodbye_detected: type: integer user_disconnected: type: integer voicemail_message_left: type: integer title: AnalyticsGetResponsesContentApplicationJsonSchemaEndCallReasonStatSeriesItems SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItems: type: object properties: subaccount_id: $ref: '#/components/schemas/subaccount_id' agency_id: type: string name: type: string pricing_tiers: type: array items: $ref: '#/components/schemas/SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPricingTiersItems' permissions: $ref: '#/components/schemas/SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsPermissions' subscription: $ref: '#/components/schemas/SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsSubscription' minutes_used: type: integer default: 0 max_minutes: type: - integer - 'null' description: The maximum number of minutes allocated to this subaccount. Null if no limit is set. members: type: array items: $ref: '#/components/schemas/SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItemsMembersItems' title: SubaccountsSubaccountIdGetResponsesContentApplicationJsonSchemaResponseSubaccountsItems ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionVariablesBeforeTheCallItems: type: object properties: key: type: string description: Key name value: type: string description: Value that will be assigned to the key required: - key - value title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomActionVariablesBeforeTheCallItems LiveTransferCreatePhoneBookConfigTransferMode: type: string enum: - cold_transfer - warm_transfer - warm_transfer_with_context description: Transfer mode. title: LiveTransferCreatePhoneBookConfigTransferMode create-assistant_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/AssistantsPostResponsesContentApplicationJsonSchemaResponse' details: $ref: '#/components/schemas/AssistantsPostResponsesContentApplicationJsonSchemaDetails' title: create-assistant_Response_200 llm: type: string enum: - gpt-4.1 - gpt-4.1-nano - gpt-4.1-mini - gpt-5-mini - gpt-5-nano - gpt-5.1 - gpt-5.2 - gpt-5.4 - gpt-5.4-mini - gpt-5.4-nano - synthflow description: The LLM powering this agent. title: llm AssistantsPostRequestBodyContentApplicationJsonSchemaAgentNoiseCancellation: type: string enum: - standard - advanced description: Removes background noise on the customer's side (like chatter in a café or keyboard clicks) to make their voice clearer and easier for the agent to understand. title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentNoiseCancellation AnalyticsGetResponsesContentApplicationJsonSchemaEndCallReasonStatItemsItems: type: object properties: reason: type: string value: type: integer percentage: type: integer title: AnalyticsGetResponsesContentApplicationJsonSchemaEndCallReasonStatItemsItems KnowledgeBaseKnowledgeBaseIdSourcesSourceIdPutResponsesContentApplicationJsonSchemaResponse: type: object properties: source_id: type: string description: Source ID. title: KnowledgeBaseKnowledgeBaseIdSourcesSourceIdPutResponsesContentApplicationJsonSchemaResponse ActionsPostRequestBodyContentApplicationJsonSchemaCustomEval: type: object properties: question: $ref: '#/components/schemas/ActionsPostRequestBodyContentApplicationJsonSchemaCustomEvalQuestion' title: ActionsPostRequestBodyContentApplicationJsonSchemaCustomEval SimulationCaseSummary: type: object properties: simulation_case_id: type: string format: uuid description: Unique identifier for the simulation case name: type: string description: Name of the simulation case required: - simulation_case_id - name title: SimulationCaseSummary Delete-simulation-suiteRequestBadRequestError: type: object properties: {} title: Delete-simulation-suiteRequestBadRequestError SimulationCaseReadOutType: type: string enum: - custom - agent_based title: SimulationCaseReadOutType SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaGrantPermissionsItems: type: string enum: - inbound - outbound - widget - chat - assistants - knowledge_base - actions - workflows - contacts - phone_numbers - logs - simulations - analytics title: SubaccountsSubaccountIdPutRequestBodyContentApplicationJsonSchemaGrantPermissionsItems updateAMemoryStore_Response_200: type: object properties: id: type: string title: updateAMemoryStore_Response_200 AgentEndCallReasonsV2ItemsClosingMessageMode: type: string enum: - static - prompt - none description: 'Controls how the farewell message is generated. static: message is spoken verbatim. prompt: message is an instruction to the LLM. none: LLM generates its own farewell.' title: AgentEndCallReasonsV2ItemsClosingMessageMode analyticsExport_Response_200: type: object properties: executed_actions: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaExecutedActions' description: List of actions executed during the call, as well as their success and frequency rates. assistant_performance: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaAssistantPerformance' description: Agent performance overview. call_status_stat: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaCallStatusStat' description: Call status overview. recent_call_history: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaRecentCallHistory' description: Log of all recent calls. duration_metrics: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaDurationMetrics' description: Duration metrics overview. end_call_reason_stat: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaEndCallReasonStat' description: An overview of reasons calls ended. For details on all the possible reasons, see [End Call Reasons](/logs#end-call-reasons). sentiment_stat: $ref: '#/components/schemas/AnalyticsGetResponsesContentApplicationJsonSchemaSentimentStat' description: Sentiment overview. title: analyticsExport_Response_200 LiveTransferCreatePhoneBookConfig: type: object properties: transfer_mode: $ref: '#/components/schemas/LiveTransferCreatePhoneBookConfigTransferMode' description: Transfer mode. phone_book_id: type: string description: Phone book ID. message_to_transfer_target: type: string description: The message the human agent will hear after the call is transferred to them. instructions: type: string description: 'What words can trigger the transfer call, for example: like I want to talk with a manager' timeout: type: integer description: How long to wait for the transfer call to happen before stop trying to do the transfer digits: type: string description: Extension digits for the transfer call initiating_msg: type: string description: Message that the agent will say before starting the transfer call goodbye_msg: type: string description: Message that the agent will say before leaving the call and connecting you with the transfer call number to start the conversation failed_msg: type: string description: The message that the agent will say in case the person that should answer the phone is not able to answer before the timeout stop_recording_after_transfer: type: boolean description: Whether the call should stop being recorded once it's transferred. human_detection: type: boolean description: If true, the agent will detect whether the transfer target is a human, and once detected, will complete the transfer to the target. human_detection_timeout_seconds: type: integer description: Time in seconds to wait for human detection before giving up. Used in conjunction with human_detection. Minimum 30 seconds, maximum 1800 seconds (30 minutes). summarization_prompt: type: string description: Custom prompt used to generate the warm transfer context summary for the warm transfer leg. preserve_caller_id: type: boolean description: If true, the transfer target will see the caller's phone number instead of the agent's phone number. Only works for numbers purchased through a Synthflow Twilio account; for other numbers the call will fail. screened: type: boolean description: If true, the transfer target will first speak with the AI agent, who can answer questions about the caller and the transcript. The transfer target can then choose to accept or decline the transfer. required: - transfer_mode - phone_book_id - instructions - initiating_msg title: LiveTransferCreatePhoneBookConfig Update-actionRequestBadRequestError: type: object properties: {} title: Update-actionRequestBadRequestError SimulationCasesPostResponsesContentApplicationJsonSchemaResponse: type: object properties: simulation_case: $ref: '#/components/schemas/SimulationCaseReadOut' title: SimulationCasesPostResponsesContentApplicationJsonSchemaResponse ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionQueryParametersItems: type: object properties: key: type: string description: Key name value: type: string description: Value that will be assigned to the key required: - key - value title: ActionsActionIdPutRequestBodyContentApplicationJsonSchemaCustomActionQueryParametersItems update-simulation-case_Response_200: type: object properties: status: $ref: '#/components/schemas/status' response: $ref: '#/components/schemas/SimulationCaseReadOut' title: update-simulation-case_Response_200 securitySchemes: sec0: type: http scheme: bearer