Dry-run a workflow
/automation/{id}/dry-run
Runs as the CALLER, not the owner. Write-tier steps record their arguments without dispatching. `sample_id` replays a captured webhook delivery as the trigger payload (its payload replaces `input`); a sample that was too large to keep whole carries `truncated: true` and `truncated_parts` inside that payload.
Path Parameters
Resource id
Request Body
Response Body
Top-level steps finished out of all of them. Present only on a running or waiting row of a runs list page, null elsewhere.
2 properties
17 properties
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}'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);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())