Compute API

Use the compute API to list, launch, stop, and terminate multi-provider GPU instances.

GET /v1/compute

List all instances visible through your connected provider keys.

curl https://api-staging.pulserun.dev/v1/compute \
  -H "Authorization: Bearer YOUR_API_KEY"

POST /v1/compute/launch

Launch a new instance on a specific provider.

curl -X POST https://api-staging.pulserun.dev/v1/compute/launch \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "runpod",
    "gpu_type": "a100_80gb",
    "gpu_count": 1,
    "docker_image": "runpod/pytorch:2.1.0-py3.10-cuda12.1.0-devel-ubuntu22.04",
    "spot": false,
    "name": "training-a100"
  }'

Request fields

FieldTypeRequiredNotes
providerstringYesrunpod, vast, or lambda
gpu_typestringYesNormalized GPU slug
gpu_countintegerNoDefault 1
docker_imagestringNoImage to launch
spotbooleanNoSpot when supported
namestringNoInstance name
volume_gbintegerNoRunPod volume size
disk_gbintegerNoDisk size
regionstringNoRequired for Lambda
ssh_key_namestringNoLambda SSH key name
onstart_cmdstringNoVast startup command

POST /v1/compute/{provider_instance_id}/stop

Stop an instance.

curl -X POST https://api-staging.pulserun.dev/v1/compute/<provider_instance_id>/stop \
  -H "Authorization: Bearer YOUR_API_KEY"

Stop is currently supported for RunPod instances only.

POST /v1/compute/{provider_instance_id}/terminate

Terminate an instance.

curl -X POST https://api-staging.pulserun.dev/v1/compute/<provider_instance_id>/terminate \
  -H "Authorization: Bearer YOUR_API_KEY"