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

# Update Workflow

`PUT /api/v1/workflows/{workflow_id}`

## Request

- Base URL: `https://platform-api.transform.unstructured.io` (the document declares no server; this is the origin it was published from)
- URL: `https://platform-api.transform.unstructured.io/api/v1/workflows/{workflow_id}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/unstructured/apis/platform-api/docs/api/v1/workflows/:workflow_id/put.ts> (a function with typed inputs; its response is checked against the schema)

Update an existing workflow's name, connectors, schedule, or workflow type.

## Path parameters

- `workflow_id` union, required
  - string, uuid
  - string

## Headers

- `unstructured-api-key` string, nullable

## Request body

- UpdateWorkflow
  - `name` string, nullable
  - `source_id` union
    - string, uuid
    - string
  - `destination_id` union
    - string, uuid
    - string
  - `workflow_type` 'basic' | 'advanced' | 'platinum' | 'custom'
  - `workflow_nodes` WorkflowNode[], nullable
    - `id` string, uuid, nullable
    - `name` string, required
    - `type` string, required
    - `subtype` string, required
    - `settings` object, nullable
  - `template_id` string, nullable
  - `schedule` 'every 15 minutes' | 'every hour' | 'every 2 hours' | 'every 4 hours' | 'every 6 hours' | 'every 8 hours' | 'every 10 hours' | 'every 12 hours' | 'daily' | 'weekly' | 'monthly', nullable
  - `reprocess_all` boolean, nullable
  - `skip_preflight` boolean, nullable: Skip the job preflight check for this workflow. Omit to leave the current value unchanged.
  - `state` 'active' | 'inactive'

## Response `200`

Successful Response

- WorkflowInformation
  - `id` string, uuid, required
  - `name` string, required
  - `key` string, nullable
  - `sources` string[], required
  - `destinations` string[], required
  - `workflow_type` 'basic' | 'advanced' | 'platinum' | 'custom'
  - `workflow_nodes` WorkflowNode[], required
    - `id` string, uuid, nullable
    - `name` string, required
    - `type` string, required
    - `subtype` string, required
    - `settings` object, nullable
  - `schedule` WorkflowSchedule
    - `crontab_entries` CronTabEntry[], required
      - `cron_expression` string, required
  - `status` 'active' | 'inactive', required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, nullable
  - `reprocess_all` boolean
  - `skip_preflight` boolean
  - `edit_lock` WorkflowEditLockResponse
    - `locked_by` string, nullable, required: Email of the user editing the workflow, when known.
    - `locked_at` string, date-time, required
    - `expires_at` string, date-time, required
    - `held_by_you` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/unstructured/apis/platform-api.md) - [All operations](https://skmtc.dev/unstructured/apis/platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/unstructured/apis/platform-api/revisions/16b4542093db?raw)
