Synthflow Simulation Cases API

The Simulation Cases API from Synthflow — 4 operation(s) for simulation cases.

Business capability
Software Quality Engineering BC-4200.50

Operations 7

POST /simulation_cases Create a simulation case #
GET /simulation_cases List simulation cases #
GET /simulation_cases/{simulation_case_id} Get a simulation case #
PUT /simulation_cases/{simulation_case_id} Update a simulation case #
DELETE /simulation_cases/{simulation_case_id} Delete a simulation case #
POST /simulation_cases/generate Generate test cases #
GET /simulation_cases/by_agent List simulation cases by agent #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/synthflow:synthflow-simulation-cases-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

synthflow-simulation-cases-api-openapi.yml Raw ↑
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