# Update a workflow

> Updates a workflow definition. Structural changes (states/transitions) are re-validated. Existing tasks in a removed state stay put but can only leave via transitions valid in the new definition.

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Update a workflow"}
>
</Heading>

<MethodEndpoint
  method={"patch"}
  path={"/api/v1/workflows/{workflow_id}"}
  context={"endpoint"}
>
  
</MethodEndpoint>

Updates a workflow definition. Structural changes (states/transitions) are re-validated. Existing tasks in a removed state stay put but can only leave via transitions valid in the new definition.

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
>
  <Translate id="theme.openapi.request.title">Request</Translate>
</Heading>

<ParamsDetails
  {...require("./update-workflow.ParamsDetails.json")}
>
  
</ParamsDetails>

<RequestSchema
  {...require("./update-workflow.RequestSchema.json")}
>
  
</RequestSchema>

<StatusCodes
  {...require("./update-workflow.StatusCodes.json")}
>
  
</StatusCodes>
