Synthflow Simulation Suites API

The Simulation Suites API from Synthflow — 3 operation(s) for simulation suites.

Operations 6

POST /simulation_suites Create a simulation suite #
GET /simulation_suites List simulation suites #
GET /simulation_suites/{suite_id} Get a simulation suite #
PUT /simulation_suites/{suite_id} Update a simulation suite #
DELETE /simulation_suites/{suite_id} Delete a simulation suite #
POST /simulation_suites/{suite_id}/execute Execute a simulation suite #

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-suites-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-suites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PLATFORM Simulation Suites 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 Suites
paths:
  /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:
      - Simulation Suites
      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:
      - Simulation Suites
      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:
      - Simulation Suites
      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:
      - Simulation Suites
      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:
      - Simulation Suites
      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:
      - Simulation Suites
      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'
components:
  schemas:
    get-simulation-suite_Response_200:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/status'
        response:
          $ref: '#/components/schemas/SimulationSuiteReadOut'
      title: get-simulation-suite_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
    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
    SimulationCaseReadOutCallSuccessType:
      type: string
      enum:
      - all
      - any
      title: SimulationCaseReadOutCallSuccessType
    Execute-simulation-suiteRequestBadRequestError:
      type: object
      properties: {}
      title: Execute-simulation-suiteRequestBadRequestError
    Execute-simulation-suiteRequestNotFoundError:
      type: object
      properties: {}
      title: Execute-simulation-suiteRequestNotFoundError
    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
    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
    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
    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
    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
    Delete-simulation-suiteRequestNotFoundError:
      type: object
      properties: {}
      title: Delete-simulation-suiteRequestNotFoundError
    SimulationCaseReadOutType:
      type: string
      enum:
      - custom
      - agent_based
      title: SimulationCaseReadOutType
    Delete-simulation-suiteRequestBadRequestError:
      type: object
      properties: {}
      title: Delete-simulation-suiteRequestBadRequestError
    create-simulation-suite_Response_200:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/status'
        response:
          $ref: '#/components/schemas/SimulationSuiteReadOut'
      title: create-simulation-suite_Response_200
    Get-simulation-suiteRequestBadRequestError:
      type: object
      properties: {}
      title: Get-simulation-suiteRequestBadRequestError
    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
    Update-simulation-suiteRequestNotFoundError:
      type: object
      properties: {}
      title: Update-simulation-suiteRequestNotFoundError
    Get-simulation-suiteRequestNotFoundError:
      type: object
      properties: {}
      title: Get-simulation-suiteRequestNotFoundError
    List-simulation-suitesRequestBadRequestError:
      type: object
      properties: {}
      title: List-simulation-suitesRequestBadRequestError
    update-simulation-suite_Response_200:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/status'
        response:
          $ref: '#/components/schemas/SimulationSuiteReadOut'
      title: update-simulation-suite_Response_200
    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
    AgentListItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        avatar:
          type:
          - string
          - 'null'
      title: AgentListItem
    status:
      type: string
      description: Whether the request was successful.
      title: status
    Create-simulation-suiteRequestBadRequestError:
      type: object
      properties: {}
      title: Create-simulation-suiteRequestBadRequestError
    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
    Update-simulation-suiteRequestBadRequestError:
      type: object
      properties: {}
      title: Update-simulation-suiteRequestBadRequestError
  securitySchemes:
    sec0:
      type: http
      scheme: bearer