# List a workflow's versions

> Returns the workflow's archived state machines, newest first.

Returns the workflow's archived state machines, newest first. A version is written on create and on every subsequent write that changes the definition (`states`, `transitions`, `payload_schema`) — through the REST API or a formation apply alike. Metadata-only edits (name, description) do not archive a version. See [Versioning](/docs/modules/workflows#versioning).

  Request

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

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

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