Skip to main content

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.
Pods are GPU compute instances provisioned on RunPod. They boot with your lab’s environment, run experiments, and tear down when finished. The Pods API gives you full control over the lifecycle, SSH access, and cost monitoring.

Pod Status

Create a Pod

Provision a new GPU pod.
labId
string
required
Lab this pod belongs to.
gpuType
string
required
GPU type: H200, H100, A100.
gpuCount
number
default:1
Number of GPUs. Multi-GPU pods available for H100 and A100.
maxHours
number
Maximum runtime in hours. Pod auto-terminates after this limit. Omit for no limit (controlled by budget).
image
string
default:"hubify/base:latest"
Docker image for the pod environment.
env
object
Environment variables to set on the pod.
volumeSize
number
default:50
Persistent volume size in GB.
data
object

List Pods

labId
string
required
Lab ID.
status
string
Filter by status: creating, running, stopped, terminated.

Get Pod Status

Detailed status including GPU utilization, memory, and idle time.
data
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.
Termination is irreversible. Make sure experiment results have been synced back to the lab before terminating.

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

data
object

Idle Detection

Hubify monitors GPU utilization and alerts you when pods are sitting idle. This is accessible through the pod status endpoint (the idleMinutes 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.