> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.vapi.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.vapi.ai/_mcp/server.

# Versioning with assistants

> Publish assistant changes, review version history, restore an earlier configuration as a new current version, and select the published assistant version for a call.

## How assistant versioning works

[Assistants](/assistants) follow the [versioning lifecycle](/assistants/versioning). Edit the draft, then publish it to create a version. Published versions do not change. To reuse an earlier configuration, restore it. Vapi immediately creates a new version from that configuration and makes it current.

The assistant list and header show the selected version. A draft appears separately when the assistant has unpublished changes.

![Jamie assistant with the Versions menu open and version v1 named First draft marked Current](/_fern-img/00662e9a91c1e23d4d27b66d057650a02b6212d1169b3b5756bf5d50a6b610f2.webp)

## Test draft changes in Chat

In the assistant editor, select the down arrow next to **Talk**, then select **Chat**.

![Assistant editor menu opened from the arrow next to Talk, with Chat as the first option](/_fern-img/f3f8ba09e32817524568b3af4865ddebcf01ff7483c5b4327aa5e0e1ddc5c8c9.webp)

Chat uses the unsaved configuration shown in the editor instead of the current published version, so you can test your changes before publishing.

## Publish a new version

Publishing turns your current draft into a new version and makes it the **current** version.

#### Edit your draft

In the [Dashboard](https://dashboard.vapi.ai), select **Assistants** in the sidebar and open the assistant. Make changes in the editor. Vapi saves your edits automatically as a draft. The changes do not affect live calls.

#### Review the changes

Select **Publish** to compare the draft with the current published version. In the diff, you can copy individual lines, wrap long lines, move between changes, or copy the complete diff.

![Publish Assistant dialog comparing Jamie's draft first message with the current published version](/_fern-img/906eef6fac90a5373c7f6b42514eb0ffa091087b9aeeb4b90258af47a46e2045.webp)

#### Name and describe the version

Give the version a name. You can also add a short description so teammates understand what changed and why.

![Publish Assistant dialog with Clarify opening message entered as the version name and a description of the update](/_fern-img/3cd64e0f8f7fa8273b76a4bf3e577dd92f3f34115c75015b5a2873f960b9fbc3.webp)

#### Publish

Select **Publish** to create the version and make it current. To publish with the default settings, select **Quick Publish**. To remove the draft changes, select **Discard Changes…**.

## View version history

In the [Dashboard](https://dashboard.vapi.ai), select **Assistants** in the sidebar and open the assistant. Select the version number below its name to see recent versions, then **View Full History** to see all versions. The current published version is marked **Current**. Each version includes its version number, name, description, and publication time.

![Jamie assistant Version History panel showing Clarify opening message as the current v2 and First draft as v1](/_fern-img/d73b2206fc53e001cf90c4c71f038ad3914fde9995e434b30ea517be4f93aaa7.webp)

From the version history, you can:

* Select **View changes** to compare a version with the previous version
* Select **Export** to download a version as JSON
* Select **Restore** to make an earlier configuration current as a new version

![Changes in v2 compared with v1 showing the updated firstMessage value](/_fern-img/f1db9e403828f2612a1525c769a57544550f1a828fd0d1de24461eb5b69ddb95.webp)

## Restore a previous version

Open the version history and select **Restore** for an earlier version. Review the confirmation, then select **Restore version**. Vapi immediately creates a new version from the selected configuration and makes the new version current. For example, restoring v1 while v2 is current creates v3 with the v1 configuration.

![Restore version confirmation explaining that restoring v1 as the active version takes effect immediately](/_fern-img/4d4fe99c5d7a48a15c70e17f6afea6f32e8da495add407f94c79b4dc58dd8cd6.webp)

> **Warning**
>
> Restoring a version takes effect immediately and replaces any current draft changes.

The new version includes the tool version selections saved with the restored assistant version. A tool set to **Latest** continues to use its newest published version. See [How versioning works with assistants and tools](/assistants/versioning/versioning-with-assistants-and-tools).

## Which version a call uses

* **Inbound calls** use the assistant's current published version. You cannot select another version for an inbound call.
* **Outbound and web calls** use the current published version by default. To use a specific published version, pass `assistantVersion` with `assistantId` in the [create call request](/api-reference/calls/create).

## Next steps

#### [Versioning overview](/assistants/versioning)

Save, publish, and restore versions of your assistants and tools.

#### [How versioning works with assistants and tools](/assistants/versioning/versioning-with-assistants-and-tools)

Choose the tool versions an assistant uses and learn how restoring an assistant affects them.