---
title: workflow_inactive — Workflow inactive
description: "HTTP 409 workflow_inactive: Only active workflows can run batches through the public API."
canonical_url: "https://cascades.crscreditapi.com/docs/api/errors/workflow_inactive"
doc_version: "1.0.0"
last_updated: "2026-10-09T18:04:24Z"
http_status: 409
source: config/api_error_codes.yml
---

# `workflow_inactive` — Workflow inactive

**HTTP 409 Conflict**

Message: "Only active workflows can run batches through the public API."

Envelope schema: `ErrorEnvelope` in [openapi.json](https://cascades.crscreditapi.com/openapi.json#/components/schemas/ErrorEnvelope) ([YAML](https://cascades.crscreditapi.com/openapi.yaml)).

## What causes it
- A live-mode trigger on a draft cascade ("Draft workflows run in test mode only. Activate the workflow before triggering it live."). Test-mode triggers on drafts are allowed.
- A batch create, resume, or retry on a cascade that is not active. Batches need an active cascade in test mode too, so a sandbox account (not approved for production) gets this on every batch create.
- A re-evaluation of an execution whose cascade has since been deactivated.

## How to fix it
1. Activate the cascade (`PATCH /workflows/{id}` with `active: true`, or the Activate toggle in the builder) and resend.
2. For a one-off test run against a draft, trigger it with `execution_mode: "test"`.
3. A sandbox account cannot activate a cascade, so it cannot run batches. Get approved for production through the activation form at /activate first.

## Operations that return it
- [POST /workflows/{id}/trigger](/docs/api/workflows/trigger-workflow) — Trigger a workflow
- [POST /workflows/{id}/batches](/docs/api/batches/create-batch) — Create a batch from N rows
- [POST /batches/{id}/resume](/docs/api/batches/resume-batch) — Resume an interrupted batch
- [POST /batches/{id}/retry_failed](/docs/api/batches/retry-failed-batch) — Retry failed and skipped rows
- [POST /executions/{id}/re_evaluations](/docs/api/executions/re-evaluate-execution) — Re-evaluate an execution

## Example response

```http
HTTP/1.1 409 Conflict
Content-Type: application/json
```

```json
{
  "error": {
    "code": "workflow_inactive",
    "message": "Only active workflows can run batches through the public API.",
    "details": [],
    "request_id": "6f1c2a3e-8d4b-4c5e-9f0a-1b2c3d4e5f60",
    "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/workflow_inactive"
  }
}
```

## Related
- [/docs/concepts/cascades](/docs/concepts/cascades)

[All error codes](https://cascades.crscreditapi.com/docs/api/errors.md)

## Sitemap

See the full [sitemap](https://cascades.crscreditapi.com/sitemap.md) for all pages.
