> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nedzo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Versions

> List a workflow's published versions, and go back to an older one.

<Note>
  These endpoints are for the VIP plan only. Other plans get a `403`. See [Plan access](/api-reference/introduction#plan-access).
</Note>

## List versions

`GET /v1/workflows/{id}/versions`

Every published version, newest first. Each one has the steps as they were when it was published. Webhook header values are hidden, the same as on a workflow.

<ParamField query="limit" type="integer" optional default="50">
  How many to return, 1 to 100.
</ParamField>

<ParamField query="offset" type="integer" optional default="0">
  How many to skip.
</ParamField>

```json Response theme={null}
{
  "items": [
    {
      "id": "423e4567-e89b-12d3-a456-426614174000",
      "version": 3,
      "nodes": [],
      "publishedAt": "2026-10-11T09:00:00Z",
      "createdAt": "2026-10-11T09:00:00Z"
    }
  ],
  "total": 3,
  "limit": 50,
  "offset": 0,
  "hasMore": false
}
```

## Go back to a version

`POST /v1/workflows/{id}/revert`

Put back the steps of an older version. This saves a new version and unpublishes the workflow. Check it and [publish](/api-reference/workflows/publish) it again.

The API cannot bring back a step that turns DND off. If the old version has such a step, we answer `400`: "This workflow has a step that turns DND off. Remove that step in the dashboard first." Pick another version.

<ParamField body="version" type="integer" required>
  The version number to go back to.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.nedzo.ai/v1/workflows/123e4567-e89b-12d3-a456-426614174000/revert" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{ "version": 2 }'
  ```
</RequestExample>

It answers with the workflow, the same as [Get a workflow](/api-reference/workflows/get).

## Errors

| Status | When |
| - | - |
| `400` | `version` is missing or below 1, or the version has a step that turns DND off. |
| `402` | The account has no plan, or its subscription is not active. |
| `403` | Your plan is not VIP. |
| `404` | No workflow has this id, it is not in this key's scope, or the version does not exist. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.