## Documentation Index

Fetch the complete documentation index at: [/llms.txt](https://docs.cognigy.com/llms.txt)

Use this file to discover all available pages before exploring further.

GET

/simulations/{simulationReference}/batches

### Try it
### Get simulations by scenarios

#### cURL

```bash
curl --request GET \
  --url 'https://api-trial.cognigy.ai/testing/simulations/{simulationReference}/batches?limit=20' \
  --header 'Authorization: Bearer <token>'
```

#### Python

```python
import requests

url = "https://api-trial.cognigy.ai/testing/simulations/{simulationReference}/batches?limit=20"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
```

#### JavaScript (Fetch)

```javascript
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api-trial.cognigy.ai/testing/simulations/{simulationReference}/batches?limit=20', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
```

#### PHP

```php
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api-trial.cognigy.ai/testing/simulations/{simulationReference}/batches?limit=20",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
```

#### Go

```go
package main

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

func main() {

url := "https://api-trial.cognigy.ai/testing/simulations/{simulationReference}/batches?limit=20"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

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

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

fmt.Println(string(body))
}
```

### HTTP Responses

#### 200
```json
{
  "data": [
    {
      "id": "<string>",
      "referenceId": "<string>",
      "simulationReference": "<string>",
      "runs": 123,
      "completedRuns": 123,
      "failedRuns": 123,
      "createdAt": 123,
      "startedAt": 123,
      "completedAt": 123
    }
  ],
  "pagination": {
    "limit": 123,
    "skip": 123,
    "total": 123,
    "hasNext": true,
    "hasPrevious": true,
    "next": "<string>",
    "previous": "<string>"
  }
}
```

#### 400, 401, 403, 500
```json
{
  "error": "<string>",
  "field": "<string>",
  "code": "<string>",
  "traceId": "<string>"
}
```

### Authorizations

**Authorization**
- Type: `string`
- Location: `header`
- Required: Yes
- Description: JWT Bearer Token for authentication

### Path Parameters

**simulationReference**
- Type: `string`
- Required: Yes
- Description: Reference ID of the scenario

### Query Parameters

- **projectId**: string, required, Project identifier
- **filter**: string, Filter criteria for searching simulations
- **limit**: integer, default: 20, Number of items to return per page, required range: `1 <= x <= 100`
- **skip**: integer, default: 0, Number of items to skip, required range: `x >= 0`
- **sort**: string, Sort order (e.g., 'name:asc', 'createdAt:desc')
- **next**: string, Pagination cursor for the next page
- **previous**: string, Pagination cursor for the previous page
- **status**: enum<string>, Filter by simulation status, available options: `STOPPED`, `IN_PROGRESS`, `COMPLETED`, `FAILED`
- **timespan**: string, Filter by time range (e.g., '7d', '30d', '1y')
- **timezone**: string, Timezone for timespan filtering (e.g., 'UTC', 'America/New_York')
- **endPointType**: string, Filter by endpoint type

### Response

**200**
- `application/json`: List of simulations retrieved successfully.
