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.
⏳ 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:
⏳ 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:
⏳ 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.
⏳ 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.
⏳ 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.
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.
⏳ 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.