For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://docs.synthflow.ai/api-reference/platform-api/simulations/llms.txt. For full documentation content, see https://docs.synthflow.ai/api-reference/platform-api/simulations/llms-full.txt.

# Generate test cases

POST https://api.synthflow.ai/v2/simulation_cases/generate
Content-Type: application/json

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.

Reference: https://docs.synthflow.ai/api-reference/platform-api/simulations/generate-simulation-cases

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: Synthflow APIs
  version: 1.0.0
paths:
  /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'
servers:
  - url: https://api.synthflow.ai/v2
  - url: https://api.us.synthflow.ai/v2
components:
  schemas:
    SimulationCaseGenerateInIncludeTestsItems:
      type: string
      enum:
        - csat_score
        - accuracy_of_responses
        - script_compliance
        - angry_user
        - repetitive_phrases
        - conversational_naturalness
        - task_completion
      title: SimulationCaseGenerateInIncludeTestsItems
    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
    Generate-simulation-casesRequestBadRequestError:
      type: object
      properties: {}
      title: Generate-simulation-casesRequestBadRequestError
    Generate-simulation-casesRequestNotFoundError:
      type: object
      properties: {}
      title: Generate-simulation-casesRequestNotFoundError
    Generate-simulation-casesRequestUnprocessableEntityError:
      type: object
      properties: {}
      title: Generate-simulation-casesRequestUnprocessableEntityError
  securitySchemes:
    sec0:
      type: http
      scheme: bearer

```

## SDK Code Examples

```python
import requests

url = "https://api.synthflow.ai/v2/simulation_cases/generate"

payload = {
    "agent_id": "1726005822670x239735712159542050",
    "include_tests": ["csat_score", "task_completion", "accuracy_of_responses"]
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.synthflow.ai/v2/simulation_cases/generate"

	payload := strings.NewReader("{\n  \"agent_id\": \"1726005822670x239735712159542050\",\n  \"include_tests\": [\n    \"csat_score\",\n    \"task_completion\",\n    \"accuracy_of_responses\"\n  ]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.synthflow.ai/v2/simulation_cases/generate")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"agent_id\": \"1726005822670x239735712159542050\",\n  \"include_tests\": [\n    \"csat_score\",\n    \"task_completion\",\n    \"accuracy_of_responses\"\n  ]\n}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.synthflow.ai/v2/simulation_cases/generate")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"agent_id\": \"1726005822670x239735712159542050\",\n  \"include_tests\": [\n    \"csat_score\",\n    \"task_completion\",\n    \"accuracy_of_responses\"\n  ]\n}")
  .asString();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.synthflow.ai/v2/simulation_cases/generate");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"agent_id\": \"1726005822670x239735712159542050\",\n  \"include_tests\": [\n    \"csat_score\",\n    \"task_completion\",\n    \"accuracy_of_responses\"\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "agent_id": "1726005822670x239735712159542050",
  "include_tests": ["csat_score", "task_completion", "accuracy_of_responses"]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.synthflow.ai/v2/simulation_cases/generate")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```