# Migrate a workflow's open tasks to one of its versions

> Moves every open task of the workflow that runs on an older version, or on none, onto to_version.

Moves every open task of the workflow that runs on an older version, or on none, onto `to_version`. Each task is migrated as migrate-task migrates one and needs `tasks:MigrateTask` on it; a task it would refuse is reported as `refused` with the error, and the run goes on. The tasks and the caller's permission on each are fixed when the run is recorded. A `state_map` target the version lacks, or a terminal one, refuses the request before any task moves. Runs in the background by default (`status: queued`); `wait: true` answers once every task has settled. See [Migrating every open task](/docs/modules/workflows#migrating-every-open-task).

  Request

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

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

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