gpuLabs API / Reference

Build on gpuLabs.

Launch GPU compute, deploy inference, manage storage, and handle billing through one predictable REST API.

https://gpulabs.cloud/api

Overview

Getting Started

Everything you need to start using the gpuLabs API in under 2 minutes.

01

Create an account

Sign up at gpulabs.cloud/register and add funds to your balance.

02

Generate an API key

Go to API Settings, create a key, and copy it. It starts with sk_ and won't be shown again.

03

Make your first request

shell
curl -H "x-api-key: YOUR_KEY" https://gpulabs.cloud/api/gpu/offers
04

Launch a GPU instance

shell
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" }
  }'
05

Connect via SSH

Once the instance status is active, connect using the IP from the response:

shell
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:

shell
x-api-key: sk_your_api_key_here

JWT Token

Alternatively, use a Bearer token from the login endpoint:

shell
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.

GET/api/auth/api-keys Auth
DELETE/api/auth/api-keys/:id Auth

Compute

GPU Instances

Browse GPU offers, launch bare-metal or VM instances, and manage compute.

GET/api/gpu/instances Auth
GET/api/gpu/instances/:id Auth

Compute

AI Inference

Deploy 40+ AI models as OpenAI-compatible API endpoints with one click.

GET/api/inference/models Auth
GET/api/inference/hardwares Auth
GET/api/inference/regions Auth
GET/api/inference/instances Auth
GET/api/inference/instances/:id Auth
POST/api/inference/instances/:id/start Auth
POST/api/inference/instances/:id/stop Auth
PATCH/api/inference/instances/:id Auth

Compute

Registries

Manage private container registries for custom model deployment.

GET/api/inference/registries Auth
PATCH/api/inference/registries/:id Auth
DELETE/api/inference/registries/:id Auth

Storage

Volumes

Persistent block storage that survives instance restarts. Attach to any GPU instance.

GET/api/volumes/offers Auth
GET/api/volumes Auth
GET/api/volumes/:id Auth
DELETE/api/volumes/:id Auth

Storage

SSH Keys

Manage SSH keys used to access GPU instances.

GET/api/ssh-keys Auth
PATCH/api/ssh-keys/:id/default Auth
DELETE/api/ssh-keys/:id Auth

Account

Billing

Check balance, view transactions, and pay with crypto.

GET/api/billing/invoices Auth
GET/api/billing/invoices/:id Auth
DELETE/api/billing/invoices/:id Auth

Reference

Errors

Standard HTTP status codes and error format.

All errors return a JSON body:

json
{
  "statusCode": 400,
  "message": "Insufficient balance",
  "path": "/api/gpu/instances",
  "timestamp": "2026-03-05T..."
}
CodeMeaning
400Bad request — check your parameters
401Unauthorized — invalid or missing API key
403Forbidden — admin-only endpoint
404Not found
409Conflict — e.g. email already registered
429Rate limited — max 60 requests/min
500Server 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

Cache GPU offers locally (they update every ~60s)
Use webhooks or polling with reasonable intervals for instance status
Batch operations where possible
Use API keys instead of JWT for server integrations
gpulabsAPI v1.0

© 2026 gpuLabs. All rights reserved.