Skip to main content
Deployments are running instances of templates. Each deployment has a unique name, runs in a Kubernetes namespace, and is managed by the UserDeployment operator.

Deployment Operations

List Deployments

Returns all deployments for the authenticated user. Results are filtered by the current team context if a team is selected. Authentication: Required (session or API key with deployments:read scope) Query Parameters:
string
Filter by team ID
Response:
string
Unique deployment name
string
Deployment status: Pending, Provisioning, Ready, Error, Deleting
string
Template name used for this deployment
string
Visibility: public or internal
array
Array of ingress endpoints
string
Error message if status is Error
boolean
Whether the deployment can be deleted
Example:

Create Deployment

Create a new deployment from a template. The deployment is provisioned via the UserDeployment Kubernetes operator. Authentication: Required (deployments:write scope) Request Body:
string
required
Template name to deploy (e.g., “nginx”, “postgres”)
object
Environment variables as key-value pairs
string
Deployment visibility: public or internal (default: public)
Response: 201 Created
string
Generated deployment name
string
Initial status (typically Pending)
string
Template name
string
Deployment visibility
Example:
Tier Limits: Deployment creation is subject to tier limits when billing is enabled:
  • Free: 1 deployment
  • Business: 10 deployments
  • Enterprise: Unlimited
If the limit is reached, the API returns 403 Forbidden.

Get Deployment Status

Get the current status of a deployment, including ingress endpoints if ready. Query Parameters:
string
required
Deployment name
Response:
string
Current status
boolean
Whether the deployment is ready to receive traffic
boolean
Whether the deployment can be deleted
boolean
Whether a new deployment request is allowed
array
Array of ingress endpoints (only when ready)
string
Additional status information or error message
Example:

Delete Deployment

Delete a deployment. This marks the UserDeployment CR’s desiredState as deleted, and the operator handles cleanup via finalizers. Authentication: Required (deployments:write scope) Request Body:
string
required
Name of the deployment to delete
Response: Redirects to deployments page (for form POST) or returns JSON success Example:
Notes:
  • The API verifies deployment ownership before deletion
  • Deployment secrets are automatically cleaned up
  • Kubernetes resources are removed by the operator
  • Deletion is recorded in billing events

Restart Deployment

Restart all pods in a deployment by adding a restart annotation. Request Body:
string
required
Name of the deployment to restart
Response: 200 OK Example:

Deploy Raw Image

Deploy a raw container image without requiring a pre-existing template. Useful for custom images or CI/CD pipelines. Request Body:
string
required
Container image (e.g., nginx:latest, myregistry.com/app:v1.2.3)
string
Custom deployment name (auto-generated if not provided)
integer
Port the container listens on (default: 8080)
object
Environment variables as key-value pairs
string
Visibility: public or internal (default: public)
Response: 201 Created Example:

Get Deployment Configuration

Retrieve the configuration for a deployment, including environment variables. Query Parameters:
string
required
Deployment name
Response:
object
Key-value pairs of environment variables

Update Deployment Configuration

Update environment variables for a deployment. This triggers a pod restart. Request Body:
string
required
Deployment name
object
required
New environment variables (replaces existing)
Response: 200 OK Example:

Deployment Logs

Get Deployment Logs

Retrieve container logs from a deployment. Path Parameters:
string
required
Deployment name
Query Parameters:
string
Service name for multi-service deployments (default: first service)
integer
Number of recent lines to return (default: 100)
boolean
Stream logs in real-time (default: false)
Response:
string
Container logs
Example:

Stream Deployment Logs

Stream container logs in real-time using Server-Sent Events (SSE). Path Parameters:
string
required
Deployment name
Query Parameters:
string
Service name for multi-service deployments
Response: text/event-stream Example:

Deployment Metrics

Get Deployment Metrics

Retrieve CPU and memory metrics for a deployment. Path Parameters:
string
required
Deployment name
Query Parameters:
string
Service name for multi-service deployments
Response:
string
CPU usage in millicores (e.g., “150m”)
string
Memory usage in bytes (e.g., “256Mi”)
string
ISO 8601 timestamp of measurement
Example:

Deployment History

Get Deployment History

Retrieve deployment revision history (configuration changes, restarts, etc.). Path Parameters:
string
required
Deployment name
Response:
array
Array of revision objects
Example:

Auto-Update Configuration

Get Auto-Update Settings

Retrieve auto-update configuration for a deployment. Response:
boolean
Whether auto-update is enabled
string
Update strategy (e.g., “rolling”, “recreate”)

Update Auto-Update Settings

Configure auto-update settings for a deployment. Request Body:
string
required
Deployment name
boolean
required
Enable or disable auto-updates
string
Update strategy: rolling or recreate
Response: 200 OK Example:

Deployment Events

Get Deployment Events

Retrieve Kubernetes events for a deployment (useful for debugging). Path Parameters:
string
required
Deployment name
Response:
array
Array of Kubernetes event objects
Example:

Error Responses

All deployment endpoints may return the following errors:
string
Human-readable error message

Common Error Codes

  • 400 Bad Request - Missing or invalid parameters
  • 403 Forbidden - Deployment limit reached or ownership verification failed
  • 404 Not Found - Deployment does not exist
  • 409 Conflict - Deployment name already exists
  • 500 Internal Server Error - Kubernetes API error or database failure
  • 503 Service Unavailable - Operator not available