# Dry-run a workflow

> Source: https://elaichi.ai/docs/api-reference/workflows/automation/dryrunautomation/

`POST /automation/{id}/dry-run`

Resource: **Workflow** · API: **Workflows**

## Path parameters

- **`id`** _(string, required)_
  Resource id

## Request body

- **`definition`** _(unknown)_
- **`input`** _(object)_
- **`sample_id`** _(string)_
- **`wait_ms`** _(integer)_

## Response body

- **`run`** _(object)_
  - **`run_id`** _(string)_
  - **`automation_id`** _(string)_
  - **`mode`** _(string)_
  - **`status`** _(string)_
  - **`outcome`** _(string,null)_
  - **`skip_reason`** _(string,null)_
  - **`trigger_key`** _(string,null)_
  - **`trigger_type`** _(string)_
  - **`actor_user_id`** _(string,null)_
  - **`scheduled_at`** _(string,null)_
  - **`version_id`** _(string,null)_
  - **`version_number`** _(integer,null)_
  - **`queued_at`** _(string)_
  - **`started_at`** _(string,null)_
  - **`finished_at`** _(string,null)_
  - **`failing_step`** _(unknown)_
  - **`error`** _(unknown)_
  - **`retry_of_run_id`** _(string,null)_
  - **`from_step_key`** _(string,null)_
  - **`counts`** _(unknown)_
  - **`waiting`** _(unknown)_
  - **`chain`** _(unknown)_
  - **`can_retry`** _(boolean)_
  - **`can_cancel`** _(boolean)_
  - **`progress`** _(object,null)_
    Top-level steps finished out of all of them. Present only on a running or waiting row of a runs list page, null elsewhere.
- **`steps`** _(object)_
  - **`result`** _(array<object>)_
    - **`seq`** _(integer)_
    - **`path`** _(string)_
    - **`key`** _(string)_
    - **`type`** _(string)_
    - **`label`** _(string)_
    - **`status`** _(string)_
    - **`attempt`** _(integer)_
    - **`tier`** _(string,null)_
    - **`target`** _(string,null)_
    - **`started_at`** _(string)_
    - **`finished_at`** _(string)_
    - **`duration_ms`** _(integer)_
    - **`output_preview`** _(string,null)_
    - **`output_truncated`** _(boolean)_
    - **`has_output`** _(boolean)_
    - **`error`** _(unknown)_
    - **`iteration`** _(unknown)_
  - **`next_cursor`** _(string,null)_
  - **`prev_cursor`** _(string,null)_

## Code examples

### curl

```bash
curl -X POST 'https://api.elaichi.ai/automation/<id>/dry-run' \
  -H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"input":{},"sample_id":"your_sample_id","wait_ms":0}'
```

### JavaScript

```javascript
const body = {
  "input": {},
  "sample_id": "your_sample_id",
  "wait_ms": 0
};

const response = await fetch('https://api.elaichi.ai/automation/<id>/dry-run', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
});

const data = await response.json();
console.log(data);
```

### Python

```python
import os
import requests

url = "https://api.elaichi.ai/automation/<id>/dry-run"
headers = {
    "Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
    "Content-Type": "application/json",
}
payload = {
    "input": {},
    "sample_id": "your_sample_id",
    "wait_ms": 0
}

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