> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.vapi.ai/assistants/versioning/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.vapi.ai/_mcp/server. # Versioning > Versioning saves published assistant and tool configurations so you can make changes in a draft, review their history, and restore an earlier version. Versioning lets you change an [assistant](/assistants) or [tool](/tools) without affecting live calls. Publish the draft when it is ready, review earlier versions, or restore an earlier configuration. ## The versioning lifecycle Assistants and tools both support drafts, publishing, and version history: * **Draft**: Contains your unpublished changes. Drafts are per user, so your edits stay separate from your teammates'. Draft changes do not affect live calls. * **Publish**: Creates a new version from the draft. The new version becomes the current published version. * **History**: Keeps every published version so you can review what changed and when. * **Restore an assistant**: Immediately creates a new current version from an earlier configuration and replaces any draft changes. * **Restore a tool**: Loads an earlier configuration into the draft. Publish the restored draft to create the next current version. > **Note** > > The **current** version is the configuration used by live calls. Publishing a draft makes the new version current. Restoring an assistant version creates a new current version immediately. ## 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 with assistants](/assistants/versioning/versioning-assistants) Publish, view history, and restore versions of an assistant. #### [Versioning with tools](/assistants/versioning/versioning-tools) Publish, view history, and restore versions of a tool. #### [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. #### [Versioning with squads](/assistants/versioning/versioning-with-squads) Save versions of a squad, review its history, and pin members to assistant versions. > Save, publish, and restore versions of your assistants and tools ## Docs - [Versioning with assistants](https://docs.vapi.ai/assistants/versioning/versioning-assistants.md): Publish assistant changes, review version history, restore an earlier configuration as a new current version, and select the published assistant version for a call. - [Versioning with tools](https://docs.vapi.ai/assistants/versioning/versioning-tools.md): Publish tool changes, review version history, restore an earlier configuration to the draft, and select the specific tool version that an assistant uses. - [How versioning works with assistants and tools](https://docs.vapi.ai/assistants/versioning/versioning-with-assistants-and-tools.md): Select a specific or latest tool version for an assistant, and learn how restoring an assistant also restores the tool version selections saved with it. - [How squad versioning works with assistant versions](https://docs.vapi.ai/assistants/versioning/versioning-with-squads.md): Create and review squad versions, pin members to specific published assistant versions or use Latest, and choose a squad version for outbound calls. - [Traffic splitting](https://docs.vapi.ai/assistants/versioning/traffic-splitting.md): Split live call traffic between published assistant versions by percentage, so you can canary a new version, run experiments, and roll back instantly.