> For the complete documentation index, see [llms.txt](https://umber.gitbook.io/umber/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://umber.gitbook.io/umber/guides/managing-deployments.md).

# Managing Deployments

The **Deployments** page is where every deployment of an asset happens. It shows every environment and every version of the asset in one view, so you can deploy, promote, or take anything offline without navigating away.

## Opening it

Click **Deploy**. It appears in several places:

* At the top of the asset's detail page, once the asset has versions. It opens on the version selected on that page.
* On a version's own detail page.
* In the success dialog after [adding a version](/umber/guides/adding-a-version.md) (**Deploy Version**) or saving an [edited version](/umber/guides/adding-a-version.md#editing-a-version-instead-of-uploading-one).
* From the **Deployment flow** view (see below), by clicking a version.

Each of these opens `/virtualassets/<asset-id>/deployments?version=<version-id>`, with that version highlighted (see below).

{% hint style="info" %}
Earlier releases had a separate deployment page for each version, at `/virtualassets/<asset-id>/versions/<version-id>/deployment`. That page has been retired. Old links and bookmarks to it now redirect here, with that version highlighted.
{% endhint %}

## Opening on a specific version

When the page opens with `?version=<version-id>`:

* That version's row is outlined with a blue ring and scrolled into view.
* The platform tab opens on that version's platform, so its row is in the list. You can still switch tabs yourself.

Without `?version=`, the page opens on the first environment and the first platform, with no row highlighted.

## Layout

* **Left — Environments.** Every environment for your domain, each with a small hint showing what it's currently serving (e.g. `→ WEB2`), or "not deployed" if nothing's live there yet. Click one to select it.
* **Right — All versions.** Every version of the asset for the selected environment and platform, newest first.

A row of tabs, one per target platform (`generic`, `web`, `ios`, `android`), sits above the version list. Each tab lists only that platform's versions, so a tab can be empty for this asset. Platform belongs to the version, not the environment, so switching tabs never changes what's selected on the left.

## Reading a version's row

Each row shows a thumbnail (a real preview for images, a play icon for videos — click either to open a larger preview; other file types show a generic icon and aren't clickable), the version ID and name, and a state badge:

| Badge        | Meaning                                                  |
| ------------ | -------------------------------------------------------- |
| **Live**     | Deployed to this environment and servable.               |
| **Offline**  | Deployed to this environment but not currently servable. |
| *(no badge)* | Never deployed to this environment.                      |

The **current default** — the version this environment actually serves when its URL is requested — isn't a badge. It's a green border running through the row, with a pointer marker and a **Default** label breaking the border line, and it moves (animated) the moment a different version becomes default. See [Deployment States](/umber/concepts/deployment-states.md) for why default is shown this way instead of as a fourth badge.

## Actions

Which buttons a row shows depends on that version's current state in the selected environment:

| Row state         | Action           | Effect                                                                                                                                                                                                    |
| ----------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Not deployed here | **Deploy Here**  | Deploys the version to this environment as Live.                                                                                                                                                          |
| Live, not default | **Take Offline** | Marks the version Offline in this environment.                                                                                                                                                            |
| Live, not default | **Set Default**  | Promotes this version to the environment's default. If another version already holds that position, it's demoted and stays Live; if nothing is default yet, this is simply the channel's first promotion. |
| Offline           | **Set Live**     | Marks the version Live again.                                                                                                                                                                             |
| Current default   | **Revert**       | Reverts the environment's default back to whichever version it pointed to immediately before this promotion. Only reverts one step — if that previous version is no longer Live, the revert is rejected.  |

A confirmation dialog appears before **Set Default** and **Revert**, since both change what a live URL serves. Every action ends with a **Done** or **Action Failed** dialog giving the result.

{% hint style="info" %}
You can't take the current default offline directly. Make another version the default (or **Revert**), then take the demoted version offline if you want to.
{% endhint %}

Changing deployments takes the Owner, Admin, Developer or Creator [role](/umber/concepts/roles-and-permissions.md). The buttons show for everyone, but a Viewer's action is refused with **Action Failed**.

## Deployment flow

**Deployment flow** — a button at the top of the Deployments page, also on the asset's detail page — shows the whole asset as a diagram: every version and the environments it's deployed to, with filters. Click a version to open it on the Deployments page.

## Undeploying

**Take Offline** stops serving one version but keeps its deployment, so **Set Live** can bring it back. **Undeploy** removes deployments altogether: the environment goes back to "not deployed" for what you undeploy, and its public URLs stop serving.

|                   | Take Offline                 | Undeploy                                                                                                   |
| ----------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Scope             | One version, one environment | Every version of the asset on the platforms you choose, in one environment — including the current default |
| Deployment record | Kept, marked Offline         | Removed                                                                                                    |
| Public URL        | Stops serving that version   | Stops serving: nothing is deployed there any more                                                          |
| Coming back       | **Set Live**                 | **Deploy Here** again, as a fresh deployment                                                               |
| Default           | Must be reverted first       | Removed with everything else — no revert needed                                                            |

Use undeploy to clear an asset out of an environment in one step, for example before deleting its versions (see [Deleting Assets and Versions](/umber/guides/deleting-assets-and-versions.md)).

### Undeploying an asset

You need the **Owner**, **Admin** or **Developer** role. **Undeploy** is in the asset's **More actions** (⋯) menu on its detail page, once the asset has versions.

1. On the asset's detail page, open **More actions** (⋯) and choose **Undeploy**.
2. Choose the environment. The page lists, per target platform, the versions deployed there, with the current default marked **Default**.
3. Tick the platforms to remove (or **Select all**).
4. Click **Undeploy** and confirm: "All the versions from the selected Target Platforms deployed in the environment `<environment name>` will be undeployed."

Every version deployed on the chosen platforms in that environment is undeployed. Other environments, and platforms you didn't tick, are untouched. The versions themselves aren't deleted.

### Undeploying a collection

You need the **Owner**, **Admin** or **Developer** role, and the collection must be **Live** in the environment and editable. **Undeploy** is in the collection's actions menu on its detail page. It's greyed out, with the hint "Not deployed to any environment yet", until the collection is deployed somewhere.

1. On the collection's detail page, open the actions menu and choose **Undeploy**.
2. Choose the environment. The page shows the deployment (environment, target platform, when it was deployed) and the items it serves.
3. Click **Undeploy** and confirm: "All the items from the collection `<collection-id>` deployed in the environment `<env-id>` will be undeployed."

On success you'll see **Undeployment Successful!** The collection's URL in that environment stops serving. Unlike taking it offline, nothing is kept to set Live again; deploy it afresh if you need it there again. The collection and its items aren't deleted.

## The deployment URL

Once an environment and platform are selected, a URL bar appears showing the exact public URL this channel serves and which version it currently points to, with a copy button. It only appears once there's an actual URL to show.

## Deployment history

Click the clock icon in the version list's header to open **Deployment History** — a running log of every deploy, promotion, offline, and revert for the selected environment and platform, newest first, with who made the change and when. History starts from when this feature shipped; nothing before that was recorded. Entries are kept for 90 days.

## See also

* [Deployment States](/umber/concepts/deployment-states.md) — what Live, Offline, default and undeploy mean and how they relate.
* [Version Deployment API — Undeploy](/umber/api-reference-v2/virtual-assets/version-deployment.md#undeploy) and [Collection Deployment API — Undeploy](/umber/api-reference-v2/collections/collection-deployment.md#undeploy)
* [Environments](/umber/concepts/environments.md) — what an environment is.
* [Quickstart](/umber/getting-started/quickstart.md) — deploying a single version for the first time.
