Skip to content

Manage Cloud application versions

Info

Learn the concepts and fundamentals of versions in the Explanation page.

An app version represents a specific executable code. You can think of a version like a Git commit tag. It is a snapshot of the code at a specific point in time.

This how-to guide explains how to interact with the actions under the nextmv cloud version command tree. Go the reference section or use the --help option to see all the available options for each command.

Create a version

Use the nextmv cloud version create command to create a new version for an application.

nextmv cloud version create --app-id uncanny-rodent
 Creating version...
{
  "id": "version-evx6bssy",
  "application_id": "uncanny-rodent",
  "name": "version-evx6bssy",
  "description": "",
  "executable": {
    "id": "version-evx6bssy",
    "user_email": "sebastian@nextmv.io",
    "uploaded_at": "2026-07-23T03:57:56.409836Z",
    "requirements": {
      "executable_type": "python",
      "runtime": "ghcr.io/nextmv-io/runtime/python:3.11"
    }
  },
  "created_at": "2026-07-23T16:56:57.136127Z",
  "updated_at": "2026-07-23T16:56:57.136127Z"
}

The command above will create a random ID, and use the same identifier for the version name. The name of the version is used as a human-readable label. You can use the --version-id and/or --name options to specify a custom ID and name for the version. For example:

nextmv cloud version create --app-id uncanny-rodent --version-id v0.0.1 --name "Initial version"
 Creating version...
{
  "id": "v0.0.1",
  "application_id": "uncanny-rodent",
  "name": "Initial version",
  "description": "",
  "executable": {
    "id": "v0.0.1",
    "user_email": "sebastian@nextmv.io",
    "uploaded_at": "2026-07-23T03:57:56.409836Z",
    "requirements": {
      "executable_type": "python",
      "runtime": "ghcr.io/nextmv-io/runtime/python:3.11"
    }
  },
  "created_at": "2026-07-23T16:58:49.222640Z",
  "updated_at": "2026-07-23T16:58:49.222640Z"
}

In automated workflows, you don't have to check if a version exists before creating it. Use the --exist-ok option to avoid an error if the version already exists:

nextmv cloud version create --app-id uncanny-rodent --version-id v0.0.1 --exist-ok
 Creating or getting version...
{
  "id": "v0.0.1",
  "application_id": "uncanny-rodent",
  "name": "Initial version",
  "description": "",
  "executable": {
    "id": "v0.0.1",
    "user_email": "sebastian@nextmv.io",
    "uploaded_at": "2026-07-23T03:57:56.409836Z",
    "requirements": {
      "executable_type": "python",
      "runtime": "ghcr.io/nextmv-io/runtime/python:3.11"
    }
  },
  "created_at": "2026-07-23T16:58:49.222640Z",
  "updated_at": "2026-07-23T16:58:49.222640Z"
}

Get a version

Use the nextmv cloud version get command to retrieve an existing version for an application by its ID.

nextmv cloud version get --app-id uncanny-rodent --version-id v0.0.1
 Getting version...
{
  "id": "v0.0.1",
  "application_id": "uncanny-rodent",
  "name": "Initial version",
  "description": "",
  "executable": {
    "id": "v0.0.1",
    "user_email": "sebastian@nextmv.io",
    "uploaded_at": "2026-07-23T03:57:56.409836Z",
    "requirements": {
      "executable_type": "python",
      "runtime": "ghcr.io/nextmv-io/runtime/python:3.11"
    }
  },
  "created_at": "2026-07-23T16:58:49.222640Z",
  "updated_at": "2026-07-23T16:58:49.222640Z"
}

You can list all versions in the application using the nextmv cloud version list command. The same information is displayed as for the individual versions, but as an array of objects.

nextmv cloud version list --app-id uncanny-rodent
 Listing versions...
[
  {
    "id": "v0.0.1",
    "application_id": "uncanny-rodent",
    "name": "Initial version",
    "description": "",
    "executable": {
      "id": "v0.0.1",
      "user_email": "sebastian@nextmv.io",
      "uploaded_at": "2026-07-23T03:57:56.409836Z",
      "requirements": {
        "executable_type": "python",
        "runtime": "ghcr.io/nextmv-io/runtime/python:3.11"
      }
    },
    "created_at": "2026-07-23T16:58:49.222640Z",
    "updated_at": "2026-07-23T16:58:49.222640Z"
  },
  ...
  {
    "id": "version-evx6bssy",
    "application_id": "uncanny-rodent",
    "name": "version-evx6bssy",
    "description": "",
    "executable": {
      "id": "version-evx6bssy",
      "user_email": "sebastian@nextmv.io",
      "uploaded_at": "2026-07-23T03:57:56.409836Z",
      "requirements": {
        "executable_type": "python",
        "runtime": "ghcr.io/nextmv-io/runtime/python:3.11"
      }
    },
    "created_at": "2026-07-23T16:56:57.136127Z",
    "updated_at": "2026-07-23T16:56:57.136127Z"
  }
]

For automated workflows, you can check if a version exists with the nextmv cloud version exists command. The command will return a zero exit code if the version exists, and a non-zero exit code if it does not.

nextmv cloud version exists --app-id uncanny-rodent --version-id v0.0.1
 Checking if version exists...
{
  "exists": true
}

Update a version

You can update different attributes of a version using the nextmv cloud version update command, such as its:

  • Name
  • Description

Please note that you cannot change the executable associated with a version or the version ID. Once a version is created, the executable code will always be attached to this version no matter how many other ones are published. This is, the code is versioned. You can create as many versions from an executable as you want.

nextmv cloud version update \
    --app-id uncanny-rodent \
    --version-id v0.0.1 \
    --name "Beta deliverable" \
    --description "Pre-alpha launch"
 Updating version...
 Version v0.0.1 updated successfully in application uncanny-rodent.
{
  "id": "v0.0.1",
  "application_id": "uncanny-rodent",
  "name": "Beta deliverable",
  "description": "Pre-alpha launch",
  "executable": {
    "id": "v0.0.1",
    "user_email": "sebastian@nextmv.io",
    "uploaded_at": "2026-07-23T03:57:56.409836Z",
    "requirements": {
      "executable_type": "python",
      "runtime": "ghcr.io/nextmv-io/runtime/python:3.11"
    }
  },
  "created_at": "2026-07-23T16:58:49.222640Z",
  "updated_at": "2026-07-23T17:14:20.086684Z"
}

Delete a version

Warning

Deleting a version is irreversible. All the version's data will be permanently deleted.

Delete a version using the nextmv cloud version delete command. The CLI will prompt you to confirm deletion but you can override it with the --yes option.

nextmv cloud version delete --app-id uncanny-rodent --version-id v0.0.1
Are you sure you want to delete version v0.0.1 from application uncanny-rodent? This action cannot be undone.
💡 Confirm Yes
 Version v0.0.1 deleted successfully from application uncanny-rodent.