Skip to main content
Tenants are isolated environments within a workspace, each with their own infrastructure, data, and configuration. The CLI provides full lifecycle management for tenants and their backups.
Tenant commands require a workspace ID, either from your profile or via the -w flag. Most tenant commands identify tenants by their name (e.g., t1234-abcd-xyz1), not a numeric ID.

CRUD

List Tenants

Terminal
xano tenant list
Use -o json for the full JSON response.

Get Tenant Details

Terminal
xano tenant get TENANT_NAME

Create a Tenant

Terminal
xano tenant create "My Tenant"
Argument / FlagDescription
displayDisplay name (required, positional)
-dDescription
--licenseLicense tier: tier1 (default), tier2, tier3
--cluster_idCluster ID (required for tier2/tier3)
--platform_idPlatform ID to use
--domainCustom domain
--ephemeralMark tenant as ephemeral (allows push operations)
--[no-]ingressEnable/disable ingress (default: enabled)
--[no-]tasksEnable/disable background tasks (default: enabled)
-wWorkspace ID
-oOutput format: summary or json

Edit a Tenant

Terminal
xano tenant edit TENANT_NAME --display "New Name" -d "Updated description"
Additional flags: --domain, --proxy, --[no-]ingress, --[no-]tasks, --[no-]rbac.

Delete a Tenant

Terminal
xano tenant delete TENANT_NAME
Add -f to skip the confirmation prompt.
Deleting a tenant destroys all associated infrastructure and data. This cannot be undone.

Impersonate

Open a tenant’s dashboard in your browser, or retrieve the impersonation URL for scripting.
Terminal
xano tenant impersonate TENANT_NAME
Print the URL without opening the browser:
Terminal
xano tenant impersonate TENANT_NAME --url-only
Output credentials as JSON:
Terminal
xano tenant impersonate TENANT_NAME -o json

Pull & Push

You can pull a tenant’s content down as local XanoScript files, or push local files to a tenant. This works the same way as workspace pull & push, but targets a specific tenant.

Pull a Tenant

Terminal
xano tenant pull ./my-tenant -t TENANT_NAME
FlagDescription
-tTenant name (required)
--envInclude environment variables
--recordsInclude database records
--draftInclude draft versions of resources
-wWorkspace ID

Push to a Tenant

Terminal
xano tenant push ./my-tenant -t TENANT_NAME
FlagDescription
-tTenant name (required)
--no-recordsSkip importing table records
--no-envSkip overwriting environment variables
--truncateTruncate all table records before importing
-wWorkspace ID

Deployments

Deploy a Release

Deploy a release to a tenant by name:
Terminal
xano tenant deploy_release TENANT_NAME --release v1.0

Deploy a Platform

Terminal
xano tenant deploy_platform TENANT_NAME --platform_id 5

Tenant License

Terminal
# Get tenant license
xano tenant license get TENANT_NAME

# Set tenant license
xano tenant license set TENANT_NAME --license tier2

Tenant Environment Variables

Manage environment variables on a per-tenant basis.

List Env Var Keys

Terminal
xano tenant env list TENANT_NAME

Get a Single Env Var

Terminal
xano tenant env get TENANT_NAME --name DATABASE_URL

Set an Env Var

Terminal
xano tenant env set TENANT_NAME --name DATABASE_URL --value "postgres://..."

Delete an Env Var

Terminal
xano tenant env delete TENANT_NAME --name DATABASE_URL

Export All Env Vars

Export all environment variables to a YAML file:
Terminal
xano tenant env get_all TENANT_NAME
xano tenant env get_all TENANT_NAME --file ./env.yaml

Import All Env Vars

Import environment variables from a YAML file (replaces existing):
Terminal
xano tenant env set_all TENANT_NAME
xano tenant env set_all TENANT_NAME --file ./env.yaml --clean

Tenant Backups

List Backups

Terminal
xano tenant backup list TENANT_NAME
Use --page for pagination.

Create a Backup

Terminal
xano tenant backup create TENANT_NAME

Restore from a Backup

Terminal
xano tenant backup restore TENANT_NAME --backup_id 10
You’ll be asked to confirm before the restore proceeds. Use -f to skip confirmation.
Restoring a backup replaces the current tenant data entirely.

Export a Backup

Download a backup as a .tar.gz file:
Terminal
xano tenant backup export TENANT_NAME --backup_id 10
Specify a custom output path with --output:
Terminal
xano tenant backup export TENANT_NAME --backup_id 10 --output ./backups/my-backup.tar.gz

Import a Backup

Import a backup file into a tenant:
Terminal
xano tenant backup import TENANT_NAME --file ./my-backup.tar.gz

Delete a Backup

Terminal
xano tenant backup delete TENANT_NAME --backup_id 10
Add -f to skip the confirmation prompt.

Clusters

Manage tenant clusters for multi-tenant deployments.

List Clusters

Terminal
xano tenant cluster list

Get Cluster Details

Terminal
xano tenant cluster get CLUSTER_ID

Create a Cluster

Terminal
xano tenant cluster create --name "us-east-1" --credentials_file ./kubeconfig.yaml
FlagDescription
--nameCluster name (required)
--credentials_filePath to kubeconfig YAML file
--typeCluster type (e.g., run)
-dDescription

Edit a Cluster

Terminal
xano tenant cluster edit CLUSTER_ID --name "us-east-1" -d "Updated" --domain "us-east.xano.io"

Delete a Cluster

Terminal
xano tenant cluster delete CLUSTER_ID
Add -f to skip the confirmation prompt.

Cluster License (Kubeconfig)

Terminal
# Get cluster kubeconfig
xano tenant cluster license get CLUSTER_ID

# Set cluster kubeconfig
xano tenant cluster license set CLUSTER_ID --file ./kubeconfig.yaml