---
title: "Update a workflow"
method: PATCH
path: "/workflows/{workflow_id}"
tags: ["Workflows"]
---

# Update a workflow

`PATCH /workflows/{workflow_id}`

## Request

- Base URL: `https://api.indexone.io`
- URL: `https://api.indexone.io/workflows/{workflow_id}`
- Auth: API key in header `x-api-key` and API key in header `Authorization`

Partially updates a workflow row.

The fields `id`, `team_id`, `stage` and `created_at` are blacklisted and silently dropped from the patch — in particular you cannot promote a draft to live this way — going live is what the planned `POST /workflows` does.

When the patch touches `operations`, `updated_at` is refreshed and a `workflow_updated` trigger is posted to the coordinator so the running schedule reloads; the outcome of that notification is reported back in `trigger_notification`.

The caller must belong to a team that owns the workflow, or be a site admin.

## Path parameters

- `workflow_id` string, required

## Request body

- object: Any workflow field except `id`, `team_id`, `stage` and `created_at`.
  - `name` string
  - `description` string
  - `visibility` 'private' | 'public' | 'unlisted': `public` is readable by anyone and listed in the Index Directory; `unlisted` is readable by anyone with the link but not listed.
  - `operations` object[]: The full operation DAG. Replaces the existing one wholesale.
  - `exchange_calendar` string
  - `timezone` string

## Response `200`

The updated workflow record (`ALL_NEW`), plus `trigger_notification` when `operations` changed.

- object

## Other responses

- `400`: `id required`, or `no editable fields` when the body was empty or contained only blacklisted keys.
- `401`: Missing or invalid id token.
- `403`: The caller's teams do not own this workflow.
- `429`: API key usage-plan rate limit exceeded.

---

[API](https://skmtc.dev/indexone/apis/index-one-rest-api.md) · [All operations](https://skmtc.dev/indexone/apis/index-one-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/indexone/apis/index-one-rest-api/revisions/df5a92216a9c?raw)
