Pods API
Shipped today:
GET /v1/pods (list), POST /v1/pods/{id}/start, POST /v1/pods/{id}/stop. Lab cost summary lives at GET /v1/costs. Per-pod sub-routes documented below (GET /v1/pods/{id}, /restart, /ssh, /terminate, /pods/costs) are planned, not yet live. Use the web app’s Pods view for SSH and termination today.Pod Status
Create a Pod
Provision a new GPU pod.string
required
Lab this pod belongs to.
string
required
GPU type:
H200, H100, A100.number
default:1
Number of GPUs. Multi-GPU pods available for H100 and A100.
number
Maximum runtime in hours. Pod auto-terminates after this limit. Omit for no limit (controlled by budget).
string
default:"hubify/base:latest"
Docker image for the pod environment.
object
Environment variables to set on the pod.
number
default:50
Persistent volume size in GB.
object
List Pods
string
required
Lab ID.
string
Filter by status:
creating, running, stopped, terminated.Get Pod Status
Detailed status including GPU utilization, memory, and idle time.object
SSH Configuration
Once a pod is running, SSH credentials are available in the pod details.Stop a Pod
Stop a running pod. The persistent volume is preserved. The pod can be restarted later.Restart a Pod
Restart a stopped pod with the same configuration.Terminate a Pod
Permanently terminate a pod. The persistent volume is retained for 7 days, then deleted.GPU Types and Pricing
Prices are approximate and depend on RunPod availability. Actual costs are tracked in the
cost_tracking table and visible via the cost endpoints.Cost Tracking
Get Current Month Costs
object
Idle Detection
Hubify monitors GPU utilization and alerts you when pods are sitting idle. This is accessible through the pod status endpoint (theidleMinutes field) and triggers notifications when a configurable threshold is exceeded.
An idle GPU is a violation of the Hubify Labs philosophy. The system will suggest queued experiments to deploy on idle pods, and auto-deploy if you have auto-schedule enabled.
Configure Idle Threshold
PATCH /api/v1/labs/{slug}/settings is planned — not yet shipped. Configure idle thresholds via Settings in the web app. The auto-stop cron (shipped in v1.3.1) uses a default 6-hour threshold.