---
title: "Update Workflow"
method: PUT
path: "/api/workflows/{workflow_id}"
tags: ["Workflows"]
---

# Update Workflow

`PUT /api/workflows/{workflow_id}`

Update an existing workflow.

Path Parameters:
    - workflow_id: UUID of the workflow

Request Body:
    - name: Optional new name
    - description: Optional new description
    - nodes: Optional new nodes
    - edges: Optional new edges
    - is_active: Optional active status
    - is_template: Optional template status
    - metadata_json: Optional metadata

Returns:
    Updated workflow

## Path parameters

- `workflow_id` string, required

## Request body

- WorkflowUpdate — Request model for updating a workflow
  - `name` string, nullable
  - `description` string, nullable
  - `nodes` WorkflowNode[], nullable
    - `id` string, required
    - `type` string, required
    - `position` object, required
    - `data` WorkflowNodeData, required — Configuration data for a workflow node
      - `label` string, required
      - `nodeType` string, nullable
  - `edges` WorkflowEdge[], nullable
    - `id` string, required
    - `source` string, required
    - `target` string, required
    - `sourceHandle` string, nullable
    - `targetHandle` string, nullable
  - `is_active` boolean, nullable
  - `is_template` boolean, nullable
  - `metadata_json` object, nullable
  - `project_id` string, nullable

## Response `200`

Successful Response

- WorkflowResponse — Response model for a workflow
  - `id` string, required
  - `user_id` string, required
  - `name` string, required
  - `description` string, nullable, required
  - `workflow_type` string, required
  - `nodes` object[], required
  - `edges` object[], required
  - `is_active` boolean, required
  - `is_template` boolean, required
  - `last_executed_at` string, nullable, required
  - `last_execution_status` string, nullable, required
  - `execution_count` integer, required
  - `created_at` string, required
  - `updated_at` string, required
  - `metadata_json` object, required
  - `project_id` string, nullable
  - `has_dashboard` boolean

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/qomplement/apis/fastapi.md) · [All operations](https://skmtc.net/qomplement/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/qomplement/fastapi/versions/b6c76b02a94a/schema)
