Synthflow Simulation Cases API
The Simulation Cases API from Synthflow — 4 operation(s) for simulation cases.
The Simulation Cases API from Synthflow — 4 operation(s) for simulation cases.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/synthflow:synthflow-simulation-cases-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: PLATFORM Simulation Cases API
version: 1.0.0
servers:
- url: https://api.synthflow.ai/v2
description: Global
- url: https://api.us.synthflow.ai/v2
description: United States
- url: https://api.eu.synthflow.ai/v2
description: European Union
tags:
- name: Simulation Cases
paths:
/simulation_cases:
post:
operationId: create-simulation-case
summary: Create a simulation case
description: Create a new simulation case for a workspace.
tags:
- Simulation Cases
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:
- Simulation Cases
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:
- Simulation Cases
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:
- Simulation Cases
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:
- Simulation Cases
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:
- Simulation Cases
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:
- Simulation Cases
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'
components:
schemas:
Update-simulation-caseRequestNotFoundError:
type: object
properties: {}
title: Update-simulation-caseRequestNotFoundError
SimulationCaseGenerateInIncludeTestsItems:
type: string
enum:
- csat_score
- accuracy_of_responses
- script_compliance
- angry_user
- repetitive_phrases
- conversational_naturalness
- task_completion
title: SimulationCaseGenerateInIncludeTestsItems
SimulationCaseReadOutCallSuccessType:
type: string
enum:
- all
- any
title: SimulationCaseReadOutCallSuccessType
Get-simulation-caseRequestNotFoundError:
type: object
properties: {}
title: Get-simulation-caseRequestNotFoundError
List-simulation-cases-by-agentRequestBadRequestError:
type: object
properties: {}
title: List-simulation-cases-by-agentRequestBadRequestError
SimulationCaseUpdateInCallSuccessType:
type: string
enum:
- all
- any
title: SimulationCaseUpdateInCallSuccessType
Update-simulation-caseRequestBadRequestError:
type: object
properties: {}
title: Update-simulation-caseRequestBadRequestError
get-simulation-case_Response_200:
type: object
properties:
status:
$ref: '#/components/schemas/status'
response:
$ref: '#/components/schemas/SimulationCaseReadOut'
title: get-simulation-case_Response_200
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
Create-simulation-caseRequestBadRequestError:
type: object
properties: {}
title: Create-simulation-caseRequestBadRequestError
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
SimulationCaseCreateInType:
type: string
enum:
- custom
- agent_based
description: Simulation case type.
title: SimulationCaseCreateInType
Delete-simulation-caseRequestNotFoundError:
type: object
properties: {}
title: Delete-simulation-caseRequestNotFoundError
SimulationCaseReadOutType:
type: string
enum:
- custom
- agent_based
title: SimulationCaseReadOutType
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
SimulationCasesGetParametersSimulationCaseType:
type: string
enum:
- custom
- agent_based
title: SimulationCasesGetParametersSimulationCaseType
SimulationCasesPostResponsesContentApplicationJsonSchemaResponse:
type: object
properties:
simulation_case:
$ref: '#/components/schemas/SimulationCaseReadOut'
title: SimulationCasesPostResponsesContentApplicationJsonSchemaResponse
Generate-simulation-casesRequestUnprocessableEntityError:
type: object
properties: {}
title: Generate-simulation-casesRequestUnprocessableEntityError
pagination:
type: object
properties:
total_records:
type: integer
limit:
type: integer
offset:
type: integer
title: pagination
Generate-simulation-casesRequestBadRequestError:
type: object
properties: {}
title: Generate-simulation-casesRequestBadRequestError
create-simulation-case_Response_200:
type: object
properties:
status:
$ref: '#/components/schemas/status'
response:
$ref: '#/components/schemas/SimulationCasesPostResponsesContentApplicationJsonSchemaResponse'
title: create-simulation-case_Response_200
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
SimulationCasesGetResponsesContentApplicationJsonSchemaResponse:
type: object
properties:
pagination:
$ref: '#/components/schemas/pagination'
items:
type: array
items:
$ref: '#/components/schemas/SimulationCaseReadOut'
title: SimulationCasesGetResponsesContentApplicationJsonSchemaResponse
update-simulation-case_Response_200:
type: object
properties:
status:
$ref: '#/components/schemas/status'
response:
$ref: '#/components/schemas/SimulationCaseReadOut'
title: update-simulation-case_Response_200
Update-simulation-caseRequestUnprocessableEntityError:
type: object
properties: {}
title: Update-simulation-caseRequestUnprocessableEntityError
SimulationCaseCreateInCallSuccessType:
type: string
enum:
- all
- any
description: Success logic for the case.
title: SimulationCaseCreateInCallSuccessType
Delete-simulation-caseRequestBadRequestError:
type: object
properties: {}
title: Delete-simulation-caseRequestBadRequestError
List-simulation-casesRequestBadRequestError:
type: object
properties: {}
title: List-simulation-casesRequestBadRequestError
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
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
list-simulation-cases_Response_200:
type: object
properties:
status:
$ref: '#/components/schemas/status'
response:
$ref: '#/components/schemas/SimulationCasesGetResponsesContentApplicationJsonSchemaResponse'
title: list-simulation-cases_Response_200
Create-simulation-caseRequestUnprocessableEntityError:
type: object
properties: {}
title: Create-simulation-caseRequestUnprocessableEntityError
status:
type: string
description: Whether the request was successful.
title: status
Get-simulation-caseRequestBadRequestError:
type: object
properties: {}
title: Get-simulation-caseRequestBadRequestError
Generate-simulation-casesRequestNotFoundError:
type: object
properties: {}
title: Generate-simulation-casesRequestNotFoundError
securitySchemes:
sec0:
type: http
scheme: bearer