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

# Save and certify a version

> Capture a snapshot of a diagram or artifact, mark one version as certified, and restore it when you need it back.

## What you're building

A version is a recoverable checkpoint of a saved diagram or artifact. Certifying one version marks it as the snapshot teammates should generate from.

Three things stay distinct:

| What you see                  | What it is                                                                      |
| ----------------------------- | ------------------------------------------------------------------------------- |
| **Working draft**             | The live, editable copy. It is not a version.                                   |
| A named (or numbered) version | A snapshot of the draft at save time. Saving a version does **not** approve it. |
| **Certified**                 | The single approved version. At most one version holds this mark.               |

Use versions when you want to freeze a known-good model, recover after an edit, or generate [a data model](/guides/create-logical-physical-model#generate-a-data-model) or [DDL](/guides/create-artifact#ddl) from a specific snapshot instead of the live draft.

## Open Versions

1. Open a **saved** diagram or artifact.
2. Click **Versions** in the header.

You can also hover the diagram or artifact in **Diagrams** and choose **Versions** from its ⋯ menu. That opens the item and **Versions** together.

**Versions** lists **Working draft** at the top, then saved versions newest first. Use **Filter versions...** to search by name, author, or date.

If you see **Versions aren't available here** — *Open a saved document, code file, or diagram to view its version history* — save the item first, or switch to a tab that supports versions. The **Conceptual Model** has no **Versions** control.

## Save a version

1. Open **Versions**.
2. Click **New version**. If you see **No versions yet**, click **Create your first version** instead.
3. Optionally type a name in **Name this version**. Leave it blank to number the version automatically (**Version 1**, **Version 2**, and so on).
4. Click **Save version**, or press Enter. **Cancel** or Esc discards the name field without saving.

You see **Version saved**. **Working draft** then shows **Matches the latest version**, and **New version** stays unavailable until the draft changes again (*The draft already matches the latest version*). After you edit and save, the draft shows **Changes since last version**.

If the item is not saved yet, you see **Save this artifact before saving a version**.

## Preview a version

1. Click a version in the list.
2. The editor shows **Viewing** that version, with *Read-only. Your current draft is untouched.*
3. Click **Back to draft**, or click **Working draft** in the list, to return to the editable copy.

Preview does not change the draft. Diagrams and artifacts each open as a read-only snapshot.

## Certify a version

Certification tells others which snapshot to build from. Only one version can be certified at a time.

1. Open the version’s ⋯ menu.
2. Click **Mark as certified**.
3. In **Certify** that version, confirm: *Certification marks the version teammates should build from. Only one version can hold it, so it moves off whichever version has it now.*
4. Click **Mark as certified**.

You see that the version **is now the certified version**. It gains a **Certified** badge and a line such as **Certified by You** with the date and time.

To clear the mark without choosing a replacement, open the certified version’s ⋯ menu and click **Remove certification**. You see **Certification removed from** that version.

## Restore a version

Restore copies a snapshot back into **Working draft**. The version you restore stays in history.

1. Open the version’s ⋯ menu and click **Restore as current**, or click **Restore as current** while previewing.
2. In **Restore** that version, confirm: *This version's content becomes your current draft. Every version stays in history, including this one.*
3. Click **Restore as current**.

If the draft has changes no version captured, you also see: *Your current draft has unsaved changes. They'll be saved as a version first, so nothing is lost.* After restore, that snapshot appears as **Autosaved before restore** with an **Auto** badge, and you see that the restored version **is now current. Your previous draft was saved as a version.**

If the draft already matched the latest version, you see that the restored version **is now current**.

## Rename or delete a version

### Rename

1. Open the version’s ⋯ menu and click **Rename**.
2. Type the new name and press Enter (Esc cancels).

Named versions keep that label. Unnamed versions keep automatic numbers; those numbers update if you delete an unnamed version earlier in the list.

### Delete

1. Open the version’s ⋯ menu and click **Delete**.
2. In **Delete** that version, confirm: *This version and its snapshot are removed from history. Your current draft is not affected.*
3. Click **Delete version**.

You see the version **deleted**.

If you delete the certified version, you also see: *This is the certified version. Deleting it leaves this artifact with no certified version.*

## Use a version when generating

[Generate Model](/guides/create-logical-physical-model#generate-a-data-model) and [Forward Engineer](/guides/create-artifact#ddl) let you choose **Working draft** or a saved version of the source diagram. The **Certified** version is selected when one exists; otherwise the latest version; if there are no versions yet, **Working draft**. **Working draft** stays available in every list (*In-progress · Unversioned*).

Under **Version**, Snap Data Studio notes that **Saved-version labels are included in generated output names.**

### Generate Model

1. Open **Generate Model** with a diagram or the Conceptual Model active.
2. On **Source Model**, select a source diagram.
3. Under **Version**, pick **Working draft** or a saved version.
4. Click **Generate Model**.

A named source version is appended to the new diagram name — for example `Sales Model - Dimensional (Approved v2)`. Generating from **Working draft** does not add that qualifier.

### Forward Engineer

1. Open **Forward Engineer** from the diagram’s ⋯ menu.
2. Under **Version**, pick **Working draft** or a saved version.
3. Click **Generate DDL**.

A named source version is included in the artifact name — for example `Sales_Model_snowflake__Approved_v2.sql`.

If version history cannot load, you see **Version history failed to load. Only the current draft is available.**

## What's next

* [Create a logical & physical model](/guides/create-logical-physical-model)
* [Create an artifact](/guides/create-artifact)
