SMLL Docs

Command Reference

Complete reference for all SMLL CLI commands.

Context

Most commands require a workspace and VPC context. Set it once and all subsequent commands use it automatically.

# List your workspaces
smll workspaces list

# Set workspace (and optionally VPC) context
smll context set my-workspace
smll context set my-workspace production-vpc

# Show current context
smll context show

Workspaces

# List all workspaces you're a member of
smll workspaces list

VPCs

Requires workspace context. All commands accept VPC name as a positional argument or via --name. Alias: smll vpc.

List VPCs

smll vpcs list

Show VPC details

smll vpcs show production

Create a VPC

smll vpcs create --name production --region eu-central-1
FlagDefaultDescription
--namerequiredVPC name
--regioneu-central-1Region

Update a VPC

smll vpcs update production --rename staging
FlagDescription
--renameNew name for the VPC

Delete a VPC

Deletes the VPC and all its resources (services, databases, caches, queues, secrets, buckets). Requires --force.

smll vpcs delete production --force

S3 credentials

Get or create S3 credentials for accessing object storage in a VPC.

smll vpcs s3-credentials production

Returns the endpoint, access key, secret key, and region.

Services

Requires workspace and VPC context. All commands accept service name as a positional argument or via --name. Alias: smll svc.

List services

smll services list

Shows name, type, plan, image, status, replicas, and creation time.

Show service details

smll services show my-app

Displays full service configuration including deployment mode, health check, port, replicas, idle timeout, cron schedule, disk, and URL.

Create a service

# Basic web service
smll services create --name my-app --image registry.smll.io/vpc-abc/myapp:latest --port 3000

# Worker (no ingress)
smll services create --name worker --image myapp:latest --type worker

# Cron job
smll services create --name nightly-sync --image myapp:latest --type cron --cron "0 0 * * *"

# With all options
smll services create --name my-app --image myapp:latest \
  --port 8080 --plan smll.small --type web --mode on_demand \
  --min-replicas 0 --max-replicas 3 --health-check /health \
  --disk-size 5 --disk-mount /data

Create flags

FlagDefaultDescription
--namerequiredService name
--imagerequiredContainer image
--port3000Container port
--plansmll.nanoInstance size (smll.nano, smll.small, smll.medium, smll.large, smll.xlarge)
--typewebService type: web, worker, or cron
--modealways_onDeployment mode: always_on or on_demand (scale-to-zero)
--min-replicas1Minimum replicas
--max-replicas1Maximum replicas
--health-checkHealth check path (e.g. /health)
--cronCron schedule (for cron services)
--disk-sizePersistent disk size in GB
--disk-mount/dataDisk mount path

Update a service

# Rename
smll services update my-app --rename new-name

# Change plan
smll services update my-app --plan smll.medium

# Scale replicas
smll services update my-app --min-replicas 2 --max-replicas 5

# Switch to scale-to-zero with idle timeout
smll services update my-app --mode on_demand --idle-timeout 300

# Change port and health check
smll services update my-app --port 8080 --health-check /healthz

# Add persistent disk
smll services update my-app --disk-size 10 --disk-mount /data

Update flags

FlagDescription
--renameNew name for the service
--planInstance type
--portContainer port
--health-checkHealth check path
--min-replicasMinimum replicas
--max-replicasMaximum replicas
--modeDeployment mode: always_on or on_demand
--cronCron schedule
--idle-timeoutIdle timeout in seconds (for on_demand mode)
--disk-sizePersistent disk size in GB
--disk-mountDisk mount path

View logs

smll services logs my-app
smll services logs my-app --follow         # stream logs
smll services logs my-app --tail 50        # last 50 lines
FlagDefaultDescription
--follow, -ffalseStream logs in real time
--tail100Number of log lines

Restart a service

smll services restart my-app

Deployment history

View all deployments for a service with image tags, status, and timing.

smll services deployments my-app

Rollback

Roll back to a previous deployment. Use smll services deployments to find the deployment ID.

smll services rollback my-app --deployment abc12345
FlagDescription
--deploymentrequired — Deployment ID to roll back to

Environment variables

# List env vars
smll services env list my-app

# Set env vars (multiple at once)
smll services env set my-app DATABASE_URL=postgresql://... REDIS_URL=redis://...

# Set using flags
smll services env set --name my-app --var DATABASE_URL=postgresql://... --var API_KEY=secret

# Link a secret as an env var
smll services env set my-app --from-secret DB_PASS=my-db-secret/password

# Mix plain values and secret references
smll services env set my-app PORT=3000 --from-secret DB_URL=db-creds/url

# Delete env vars
smll services env delete my-app DATABASE_URL REDIS_URL
FlagDescription
--varKEY=VALUE pair (can be repeated)
--from-secretKEY=SECRET_NAME/SECRET_KEY — link a VPC secret as an env var (can be repeated)
--keyKey to delete (for env delete, can be repeated)

Uptime

View uptime status and latency for a service (from Gatus monitoring).

smll services uptime my-app

Service backups

Manage disk backups for services with persistent storage.

# List backups
smll services backups list my-app

# Create a backup
smll services backups create my-app

# Restore from a backup
smll services backups restore my-app --backup abc12345

# View backup schedule
smll services backups schedule my-app

# Configure backup schedule
smll services backups schedule my-app --enabled on --frequency daily --retention 7
CommandFlagDescription
backups restore--backuprequired — Backup ID to restore from
backups schedule--enabledEnable/disable: on/off
backups schedule--frequencyBackup frequency: hourly, daily, weekly
backups schedule--retentionNumber of backups to retain

Delete a service

Requires --force to confirm.

smll services delete my-app --force

Deploy

Deploy a service from source code or a container image.

# Deploy a container image
smll deploy --name my-app --image registry.smll.io/vpc-abc/myapp:v2.0.0

# Deploy from source (current directory)
smll deploy --name my-app

# Deploy from a specific directory
smll deploy --name my-app --dir ./backend
FlagDescription
--namerequired — Service name
--imageContainer image (skips source build)
--dirSource directory (default: current directory)

Source deploys package the directory, upload it, and stream build logs in real time.

Databases

Requires workspace and VPC context. All commands that take a database name accept it as a positional argument or via --name.

List databases

smll db list

Show database details

smll db show mydb
smll db show --name mydb

Displays engine, version, instance type, storage, replicas, external access status, and creation time.

Create a database

# PostgreSQL (default)
smll db create --name mydb

# MySQL
smll db create --name mydb --engine mysql

# With all options
smll db create --name mydb --engine postgresql --instance-type smll.small \
  --storage-gb 10 --version 17 --replicas 1 --external-access

Create flags

FlagDefaultDescription
--namerequiredDatabase name
--enginepostgresqlEngine: postgresql or mysql
--instance-typesmll.nanoInstance size (smll.nano, smll.small, smll.medium, smll.large, smll.xlarge)
--storage-gb1Storage in GB (1–100)
--version17 (PG) / 8.0 (MySQL)Engine version
--replicas0Number of read replicas
--external-accessfalseEnable external access on creation

Get connection info

smll db connect mydb
smll db connect --name mydb

Shows internal and external connection strings, read-only endpoints, and pooler info when available.

Engine:       PostgreSQL
Host:         db-mydb-rw.vpc-abc12345.svc
Port:         5432
Database:     app
Username:     app
Password:     xxxxxxxx

Internal URL: postgresql://app:xxxxxxxx@db-mydb-rw.vpc-abc12345.svc:5432/app

── External ─────────────────────────────────
Host:         abc12345.eu-central-1.database.smllapp.com
Port:         5432
URL:          postgresql://app:xxxxxxxx@abc12345.eu-central-1.database.smllapp.com:5432/abc12345

Update a database

Rename, resize, or toggle external access.

# Rename
smll db update mydb --rename new-name

# Change instance type
smll db update mydb --instance-type smll.medium

# Enable external access
smll db update mydb --external-access on

# Disable external access
smll db update mydb --external-access off

# Multiple changes at once
smll db update mydb --instance-type smll.large --external-access on

Update flags

FlagDescription
--renameNew name for the database
--instance-typeNew instance size
--external-accessEnable/disable: on/off, true/false, enable/disable

Scale replicas

Add or remove read replicas.

# Add 2 read replicas
smll db replicas mydb --count 2

# Remove all replicas
smll db replicas mydb --count 0
FlagDescription
--countrequired — Number of read replicas (0 to remove all)

Fork a database

Create a copy of a database from its latest backup.

smll db fork mydb --target mydb-staging
FlagDescription
--targetrequired — Name for the new forked database

Run SQL queries

Execute SQL queries against a PostgreSQL database (max 1000 rows).

smll db query mydb "SELECT * FROM users LIMIT 10"
smll db query --name mydb "SELECT count(*) FROM orders"

Results are displayed as a table with column headers, row count, and execution time.

View schema

List all tables, columns, types, constraints, and indexes.

smll db schema mydb
smll db schema --name mydb --json

Slow queries

View and manage slow query insights (PostgreSQL only, requires pg_stat_statements).

# Show top slow queries (sorted by average execution time)
smll db slow-queries mydb

# Sort by total time
smll db slow-queries mydb --sort total_exec_time

# Limit results
smll db slow-queries mydb --limit 10

# Reset statistics
smll db slow-queries reset mydb
FlagDefaultDescription
--sortmean_exec_timeSort by: mean_exec_time, total_exec_time, calls, rows
--limit20Number of queries to show

Delete a database

Requires --force to confirm. This destroys all data and cannot be undone.

smll db delete mydb --force

Backups

Manage database backups, restores, and scheduled backup configuration.

List backups

smll db backups list mydb

Shows all backups with status, method, and completion time. Also displays the recovery window (for PostgreSQL PITR) and any configured backup schedule.

Create an on-demand backup

smll db backups create mydb

Restore from a backup

# PostgreSQL: point-in-time recovery
smll db backups restore mydb --target mydb-restored \
  --target-time "2026-03-27T10:00:00Z"

# MySQL: restore from a specific backup
smll db backups restore mydb --target mydb-restored \
  --backup "mydb-backup-20260327"
FlagDescription
--targetrequired — Name for the restored database
--backupBackup name (required for MySQL)
--target-timeRFC3339 timestamp for point-in-time recovery (PostgreSQL only)

Delete a backup

smll db backups delete mydb --backup "mydb-backup-20260327"

Configure backup schedule

# Set a daily backup at 2am UTC
smll db backups schedule mydb --cron "0 2 * * *"

# Disable scheduled backups
smll db backups schedule mydb --enabled off

# Set retention to 14 days
smll db backups schedule mydb --retention-days 14

# Multiple changes
smll db backups schedule mydb --cron "0 2 * * *" --retention-days 30 --enabled on
FlagDescription
--cronCron expression for backup schedule
--enabledEnable/disable: on/off or true/false
--retention-daysNumber of days to retain backups

Logs

Requires workspace and VPC context. View logs across all services in a VPC or for a specific service.

# View recent logs for the VPC
smll logs

# Follow logs in real time
smll logs --follow

# Filter by service
smll logs --service my-api

# Filter by severity
smll logs --severity error

# Search logs by keyword
smll logs --search "connection refused"

# Combine filters
smll logs --service my-api --severity error --follow

# Limit output
smll logs --tail 100

# Custom time range
smll logs --since 2h
smll logs --since 2026-03-01T00:00:00Z

Logs flags

FlagDefaultDescription
--follow, -ffalseStream logs in real time
--tail, -n1000Number of lines to show
--serviceFilter by service name
--severityFilter by level: error, warn, info, debug
--searchText or regex pattern to match
--since1hTime range: duration (e.g. 2h, 30m) or RFC3339 timestamp
--jsonfalseOutput raw JSON log entries

Secrets

Requires workspace and VPC context. All commands accept secret name as a positional argument or via --name. Alias: smll secret.

List secrets

smll secrets list

Shows name, ID, and creation time. Values are never displayed.

Show secret details

smll secrets show DATABASE_URL

Shows the secret metadata and key names (values are masked).

Set a secret

Secrets contain one or more key-value pairs.

# Single key-value pair
smll secrets set db-creds DATABASE_URL=postgresql://...

# Multiple key-value pairs
smll secrets set db-creds DATABASE_URL=postgresql://... PASSWORD=secret123

# Using flags
smll secrets set --name api-keys --kv STRIPE_KEY=sk_live_... --kv SENDGRID_KEY=SG...

Creates the secret if it doesn't exist, or updates it if it does.

Delete a secret

Requires --force to confirm.

smll secrets delete DATABASE_URL --force

Object Storage

Requires workspace and VPC context.

Buckets

# List all buckets
smll storage buckets list

# Show bucket details (size, object count, static hosting, credentials)
smll storage buckets show my-bucket

# Create a private bucket
smll storage buckets create --name my-bucket

# Create a public bucket
smll storage buckets create --name assets --public

# Update bucket visibility
smll storage buckets update --name my-bucket --visibility public

# Enable static hosting
smll storage buckets update --name my-bucket --static-hosting \
  --index-document index.html --error-document 404.html

# Delete a bucket (requires --force)
smll storage buckets delete --name my-bucket --force

Files

# List files in a bucket
smll storage ls --bucket my-bucket
smll storage ls --bucket my-bucket --prefix images/

# Upload a file
smll storage upload --bucket my-bucket --file ./backup.sql

# Upload with a custom key
smll storage upload --bucket my-bucket --file ./photo.jpg --key images/photo.jpg

# Upload an entire directory
smll storage upload --bucket my-bucket --dir ./dist --prefix assets/

# Download a file
smll storage download --bucket my-bucket --key backup.sql --output ./backup.sql

# Delete a file
smll storage rm --bucket my-bucket --key backup.sql

# Sync a local directory to a bucket
smll storage sync --bucket my-bucket --dir ./build
smll storage sync --bucket my-bucket --dir ./build --prefix static/ --delete

Sync flags

FlagDefaultDescription
--bucketrequiredBucket name
--dirrequiredLocal directory to sync
--prefixRemote key prefix
--deletefalseRemove remote files not present locally

Caches (Redis)

Requires workspace and VPC context. All commands accept cache name as a positional argument or via --name.

List caches

smll cache list

Shows name, instance type, memory, version, replicas, external access, and status.

Show cache details

smll cache show my-cache

Displays full configuration including persistence, external access, and memory policy.

Create a cache

# Basic cache
smll cache create --name my-cache

# With all options
smll cache create --name my-cache --instance-type smll.small --version 7.4 \
  --replicas 2 --persistence --external-access --maxmemory-policy allkeys-lru

Create flags

FlagDefaultDescription
--namerequiredCache name
--instance-typesmll.nanoInstance size (smll.nano, smll.small, smll.medium, smll.large, smll.xlarge)
--version7.4Redis version
--replicas1Number of replicas
--persistencefalseEnable AOF persistence
--external-accessfalseEnable external access (TLS via rediss://)
--maxmemory-policyEviction policy (e.g. allkeys-lru, noeviction)

Get connection info

smll cache info my-cache

Shows internal host/port/password and external TLS URL when external access is enabled.

Engine:       Redis
Host:         cache-my-cache.vpc-abc12345.svc
Port:         6379
Password:     xxxxxxxx

Internal URL: redis://:xxxxxxxx@cache-my-cache.vpc-abc12345.svc:6379

── External ─────────────────────────────────
Host:         abc12345.eu-central-1.cache.smllapp.com
Port:         6379
URL:          rediss://:xxxxxxxx@abc12345.eu-central-1.cache.smllapp.com:6379

Update a cache

# Rename
smll cache update my-cache --rename new-name

# Resize
smll cache update my-cache --instance-type smll.medium

# Enable external access
smll cache update my-cache --external-access on

# Change replicas and eviction policy
smll cache update my-cache --replicas 3 --maxmemory-policy allkeys-lfu

Update flags

FlagDescription
--renameNew name
--instance-typeNew instance size
--replicasNumber of replicas
--external-accessEnable/disable: on/off, true/false, enable/disable
--maxmemory-policyEviction policy

Delete a cache

Requires --force to confirm.

smll cache delete my-cache --force

IP allowlist

Restrict which IPs can connect to a cache when external access is enabled.

# List rules
smll cache ip-allowlist list my-cache

# Add a rule
smll cache ip-allowlist add my-cache --cidr 203.0.113.0/24 --description "Office"

# Delete a rule
smll cache ip-allowlist delete my-cache --rule-id abc12345 --force
CommandFlagDescription
add--cidrrequired — CIDR range (e.g. 203.0.113.0/24, 198.51.100.5/32)
add--descriptionDescription for the rule
delete--rule-idrequired — Rule ID to delete
delete--forceSkip confirmation

Queues (NATS)

Requires workspace and VPC context. All commands accept queue name as a positional argument or via --name.

List queues

smll queue list

Shows name, plan, storage, version, external access, and status.

Show queue details

smll queue show my-queue

Displays full configuration including plan limits (max streams, max consumers), storage, and external access.

Create a queue

# Basic queue (starter plan)
smll queue create --name my-queue

# With options
smll queue create --name my-queue --plan standard --external-access

Create flags

FlagDefaultDescription
--namerequiredQueue name
--planstarterPlan: starter (1GB, 10 streams), standard (5GB, 50 streams), pro (20GB, 200 streams), business (50GB, 500 streams)
--external-accessfalseEnable external access (TLS via tls://)

Get connection info

smll queue info my-queue

Shows internal host/port/token and external TLS URL when external access is enabled.

Engine:          NATS
Host:            queue-my-queue.vpc-abc12345.svc
Port:            4222
Monitoring port: 8222
Token:           xxxxxxxx

Internal URL:    nats://xxxxxxxx@queue-my-queue.vpc-abc12345.svc:4222

── External ─────────────────────────────────
Host:            abc12345.eu-central-1.queue.smllapp.com
Port:            4222
URL:             tls://xxxxxxxx@abc12345.eu-central-1.queue.smllapp.com:4222

Update a queue

# Rename
smll queue update my-queue --rename new-name

# Upgrade plan
smll queue update my-queue --plan pro

# Enable external access
smll queue update my-queue --external-access on

Update flags

FlagDescription
--renameNew name
--planNew plan: starter, standard, pro, business
--external-accessEnable/disable: on/off, true/false, enable/disable

Delete a queue

Requires --force to confirm.

smll queue delete my-queue --force

Custom Domains

Requires workspace and VPC context. Domains are attached to services. Alias: smll domain.

List domains

smll domains list my-app
smll domains list --service my-app

Shows all custom domains attached to a service with their status.

Add a domain

smll domains add --domain app.example.com --service my-app
FlagDescription
--domainrequired — Domain name (e.g. app.example.com)
--servicerequired — Service to attach the domain to

After adding a domain:

  1. Create a CNAME record with your DNS provider pointing to the service endpoint
  2. Run smll domains verify to trigger DNS verification and TLS provisioning

Verify a domain

Triggers DNS verification and provisions a TLS certificate via Let's Encrypt.

smll domains verify --domain app.example.com --service my-app
FlagDescription
--domainrequired — Domain name to verify
--servicerequired — Service the domain is attached to

Delete a domain

Requires --force to confirm.

smll domains delete --domain app.example.com --service my-app --force
FlagDescription
--domainrequired — Domain name to remove
--servicerequired — Service the domain is attached to
--forceSkip confirmation

Billing

Requires workspace context. View usage, costs, projections, and manage spend alerts.

Balance

smll billing balance

Shows current workspace balance and recent transactions (last 10).

Usage

# Current month
smll billing usage

# Specific month
smll billing usage --period 2026-03
FlagDefaultDescription
--periodcurrent monthBilling period in YYYY-MM format

Shows a breakdown of all resources with quantities, units, and costs.

Daily spend

# Last 30 days (default)
smll billing daily

# Last 7 days
smll billing daily --days 7
FlagDefaultDescription
--days30Number of days to show (1–90)

Cost estimate

Estimate the monthly cost for a resource before creating it.

smll billing estimate --resource-type smll.small

# With custom hours
smll billing estimate --resource-type smll.medium --quantity 2 --hours 360
FlagDefaultDescription
--resource-typerequiredResource type (e.g. smll.nano, smll.small)
--quantity1Number of units
--hours720Hours per month

Projection

Show projected monthly spend based on current usage patterns.

smll billing projection

Displays current spend, projected end-of-month cost, and days elapsed/remaining.

Invoices

smll billing invoices

Lists all invoices with date, type, amount, description, and receipt URL.

Spend alerts

Set up alerts that notify you when spend reaches a threshold.

# List alerts
smll billing alerts list

# Create an alert at £5.00
smll billing alerts create --threshold 5.00

# Delete an alert
smll billing alerts delete <alert-id> --force
CommandFlagDescription
alerts create--thresholdrequired — Spend threshold in GBP
alerts delete--idAlert ID (or positional arg)
alerts delete--forceSkip confirmation

Billing config

View or update billing configuration (spend caps).

# Show current config
smll billing config show

# Set spend cap action
smll billing config set --spend-cap-action scale_down

# Set spend cap amount
smll billing config set --spend-cap 10.00
FlagDescription
--spend-cap-actionAction when cap is reached: scale_down or notify_only
--spend-capMonthly spend cap in GBP

Status

Show an overview of resources in your current workspace.

smll status

Container Registry

Requires workspace and VPC context. Manage container images in your VPC's private Harbor registry. Alias: smll reg.

List repositories

smll registry list

Get registry credentials

Shows the Docker login command for pushing images.

smll registry credentials

List artifacts

List image tags and digests in a repository.

smll registry artifacts my-app

View vulnerabilities

Show vulnerability scan results for a specific image.

smll registry vulnerabilities --repo my-app --ref latest
FlagDescription
--reporequired — Repository name
--refrequired — Tag or digest

Delete a repository or artifact

# Delete entire repository
smll registry delete --repo my-app --force

# Delete a specific tag
smll registry delete --repo my-app --ref v1.0.0 --force

Quotas

View resource quotas and current usage for the workspace. Alias: smll quota.

smll quotas

Shows each resource type with used count, limit, and usage percentage.

Alerting

Requires workspace context. Manage monitoring alert rules. Alias: smll alerts.

List alert rules

smll alerting list

Create an alert rule

smll alerting create --name "High CPU" --resource-type service \
  --metric cpu_percent --condition gt --threshold 80 --channel email

smll alerting create --name "DB connections" --resource-type database \
  --resource-id abc123 --metric connections --condition gt \
  --threshold 90 --duration 5m --channel webhook
FlagDefaultDescription
--namerequiredAlert name
--metricrequiredMetric to monitor
--resource-typeResource type: service, database, cache
--resource-idSpecific resource ID
--conditiongtCondition: gt, lt, eq
--threshold0Threshold value
--duration5mDuration before firing
--channelemailNotification channel

Update an alert rule

smll alerting update --id abc123 --threshold 90 --enabled off
FlagDescription
--idrequired — Alert rule ID
--nameNew name
--thresholdNew threshold
--enabledEnable/disable: on/off
--channelNotification channel

Delete an alert rule

smll alerting delete --id abc123 --force

Alert history

View past alert firings and resolutions.

smll alerting history
smll alerting history --limit 50

Webhooks

Requires workspace context. Manage webhook endpoints for event notifications. Alias: smll wh.

List webhooks

smll webhooks list

Create a webhook

smll webhooks create --url https://example.com/hook \
  --event service.deployed --event database.created

The webhook secret is shown once on creation — save it securely.

FlagDescription
--urlrequired — Webhook endpoint URL
--eventEvent to subscribe to (can be repeated)

Update a webhook

smll webhooks update --id abc123 --url https://new-url.com/hook --enabled off
FlagDescription
--idrequired — Webhook ID
--urlNew URL
--enabledEnable/disable: on/off
--eventEvents (replaces existing, can be repeated)

Delete a webhook

smll webhooks delete --id abc123 --force

Test a webhook

Send a test event to verify your endpoint is working.

smll webhooks test --id abc123

Activity

Requires workspace context. View the workspace activity feed.

List activity

smll activity list
smll activity list --limit 50
FlagDefaultDescription
--limit25Number of entries to show

Activity summary

smll activity summary

Audit Logs

Requires workspace context. View detailed audit trail of all actions. Alias: smll audit.

List audit logs

smll audit-logs list
smll audit-logs list --action database.created --user admin@example.com --limit 100
FlagDefaultDescription
--limit50Number of entries
--actionFilter by action (e.g. database.created, service.deleted)
--userFilter by user email

Export audit logs

Export all audit logs as JSON (useful for compliance).

smll audit-logs export > audit.json

Support

Requires workspace context. Manage support tickets.

List tickets

smll support list

Show a ticket

View a ticket with its full message history.

smll support show abc12345

Create a ticket

smll support create --subject "Database connection issue" \
  --body "My database is not accepting connections since 10am UTC" \
  --category technical --priority high
FlagDefaultDescription
--subjectrequiredTicket subject
--bodyrequiredTicket description
--categoryCategory: billing, technical, account
--prioritynormalPriority: low, normal, high, urgent

Reply to a ticket

smll support reply abc12345 --body "I've attached the logs, can you check?"

API Keys

Requires workspace context. Manage programmatic API keys. Alias: smll apikeys.

List API keys

smll api-keys list

Create an API key

The full key is shown once on creation — save it securely.

smll api-keys create --name "CI/CD"
smll api-keys create --name "Deploy Bot" --expires 90d
FlagDescription
--namerequired — Key name
--expiresExpiry duration (e.g. 30d, 90d, never)

Revoke an API key

smll api-keys revoke --id abc123 --force

JSON output

Add --json to any command to get machine-readable JSON output instead of tables:

smll services list --json
smll db list --json | jq '.[].name'

Shell completion

Generate shell completion scripts:

# Bash
smll completion bash > /etc/bash_completion.d/smll

# Zsh
smll completion zsh > "${fpath[1]}/_smll"

# Fish
smll completion fish > ~/.config/fish/completions/smll.fish

On this page

ContextWorkspacesVPCsList VPCsShow VPC detailsCreate a VPCUpdate a VPCDelete a VPCS3 credentialsServicesList servicesShow service detailsCreate a serviceCreate flagsUpdate a serviceUpdate flagsView logsRestart a serviceDeployment historyRollbackEnvironment variablesUptimeService backupsDelete a serviceDeployDatabasesList databasesShow database detailsCreate a databaseCreate flagsGet connection infoUpdate a databaseUpdate flagsScale replicasFork a databaseRun SQL queriesView schemaSlow queriesDelete a databaseBackupsList backupsCreate an on-demand backupRestore from a backupDelete a backupConfigure backup scheduleLogsLogs flagsSecretsList secretsShow secret detailsSet a secretDelete a secretObject StorageBucketsFilesSync flagsCaches (Redis)List cachesShow cache detailsCreate a cacheCreate flagsGet connection infoUpdate a cacheUpdate flagsDelete a cacheIP allowlistQueues (NATS)List queuesShow queue detailsCreate a queueCreate flagsGet connection infoUpdate a queueUpdate flagsDelete a queueCustom DomainsList domainsAdd a domainVerify a domainDelete a domainBillingBalanceUsageDaily spendCost estimateProjectionInvoicesSpend alertsBilling configStatusContainer RegistryList repositoriesGet registry credentialsList artifactsView vulnerabilitiesDelete a repository or artifactQuotasAlertingList alert rulesCreate an alert ruleUpdate an alert ruleDelete an alert ruleAlert historyWebhooksList webhooksCreate a webhookUpdate a webhookDelete a webhookTest a webhookActivityList activityActivity summaryAudit LogsList audit logsExport audit logsSupportList ticketsShow a ticketCreate a ticketReply to a ticketAPI KeysList API keysCreate an API keyRevoke an API keyJSON outputShell completion