gpuLabs API / Reference
Build on gpuLabs.
Launch GPU compute, deploy inference, manage storage, and handle billing through one predictable REST API.
https://gpulabs.cloud/apiOverview
Getting Started
Everything you need to start using the gpuLabs API in under 2 minutes.
Create an account
Sign up at gpulabs.cloud/register and add funds to your balance.
Generate an API key
Go to API Settings, create a key, and copy it. It starts with sk_ and won't be shown again.
Make your first request
curl -H "x-api-key: YOUR_KEY" https://gpulabs.cloud/api/gpu/offers
Launch a GPU instance
curl -X POST -H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
https://gpulabs.cloud/api/gpu/instances \
-d '{
"name": "my-gpu",
"cloudProvider": "CLOUD_ID",
"instanceId": "INSTANCE_ID",
"region": "REGION_ID",
"sshKeyId": "SSH_KEY_ID",
"vm": { "os": "ubuntu22.04_cuda12.8_shade_os" }
}'Connect via SSH
Once the instance status is active, connect using the IP from the response:
ssh root@INSTANCE_IP
Overview
Authentication
All API requests require authentication via API key or JWT token.
API Key (recommended)
Pass your key in the x-api-key header:
x-api-key: sk_your_api_key_here
JWT Token
Alternatively, use a Bearer token from the login endpoint:
Authorization: Bearer eyJhbG...
API keys are simpler and recommended for server-to-server integrations. JWT tokens expire after 15 minutes and need to be refreshed.
/api/auth/api-keysList all active API keys Auth/api/auth/api-keys/:idRevoke an API key AuthCompute
GPU Instances
Browse GPU offers, launch bare-metal or VM instances, and manage compute.
/api/gpu/instancesList your active GPU instances Auth/api/gpu/instances/:idGet full details (IP, SSH, specs, status) AuthCompute
AI Inference
Deploy 40+ AI models as OpenAI-compatible API endpoints with one click.
/api/inference/modelsList all available AI models Auth/api/inference/hardwaresList hardware configurations for inference Auth/api/inference/regionsList available regions for deployment Auth/api/inference/instancesList your inference endpoints Auth/api/inference/instances/:idGet endpoint details and status Auth/api/inference/instances/:id/startStart a stopped endpoint Auth/api/inference/instances/:id/stopStop a running endpoint Auth/api/inference/instances/:idUpdate hardware or autoscaling config AuthCompute
Registries
Manage private container registries for custom model deployment.
/api/inference/registriesList your registries Auth/api/inference/registries/:idUpdate registry credentials Auth/api/inference/registries/:idDelete a registry AuthStorage
Volumes
Persistent block storage that survives instance restarts. Attach to any GPU instance.
/api/volumes/offersList storage offers per region with pricing Auth/api/volumesList your volumes Auth/api/volumes/:idGet volume details Auth/api/volumes/:idDelete a volume and all data on it AuthStorage
SSH Keys
Manage SSH keys used to access GPU instances.
/api/ssh-keysList all SSH keys Auth/api/ssh-keys/:id/defaultSet a key as default for new instances Auth/api/ssh-keys/:idRemove an SSH key AuthAccount
Billing
Check balance, view transactions, and pay with crypto.
/api/billing/invoicesList your invoices Auth/api/billing/invoices/:idGet invoice status (PENDING → CONFIRMING → PAID) Auth/api/billing/invoices/:idCancel a pending invoice AuthReference
Errors
Standard HTTP status codes and error format.
All errors return a JSON body:
{
"statusCode": 400,
"message": "Insufficient balance",
"path": "/api/gpu/instances",
"timestamp": "2026-03-05T..."
}| Code | Meaning |
|---|---|
| 400 | Bad request — check your parameters |
| 401 | Unauthorized — invalid or missing API key |
| 403 | Forbidden — admin-only endpoint |
| 404 | Not found |
| 409 | Conflict — e.g. email already registered |
| 429 | Rate limited — max 60 requests/min |
| 500 | Server error |
Reference
Rate Limits
Request throttling and best practices.
The API enforces 60 requests per minute per IP address. If you exceed this limit, you'll receive a 429 Too Many Requests response.
Best practices