Skip to main content
POST
/
api
/
v1
/
pods
/
Create Pod
curl --request POST \
  --url https://api.primeintellect.ai/api/v1/pods/ \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "pod": {
    "cloudId": "<string>",
    "gpuCount": 123,
    "name": "<string>",
    "diskSize": 1,
    "vcpus": 1,
    "memory": 1,
    "maxPrice": 123,
    "image": "ubuntu_22_cuda_12",
    "customTemplateId": "<string>",
    "dataCenterId": "<string>",
    "country": "<string>",
    "envVars": [
      {
        "key": "<string>",
        "value": "<string>"
      }
    ],
    "jupyterPassword": "<string>",
    "sshKeyId": "<string>",
    "autoRestart": false,
    "prepaidForHr": 1
  },
  "provider": {},
  "disks": [
    "<string>"
  ],
  "team": {
    "teamId": "<string>"
  },
  "team_member_ids": [
    "<string>"
  ],
  "shared_with_team": false
}
'
import requests

url = "https://api.primeintellect.ai/api/v1/pods/"

payload = {
"pod": {
"cloudId": "<string>",
"gpuCount": 123,
"name": "<string>",
"diskSize": 1,
"vcpus": 1,
"memory": 1,
"maxPrice": 123,
"image": "ubuntu_22_cuda_12",
"customTemplateId": "<string>",
"dataCenterId": "<string>",
"country": "<string>",
"envVars": [
{
"key": "<string>",
"value": "<string>"
}
],
"jupyterPassword": "<string>",
"sshKeyId": "<string>",
"autoRestart": False,
"prepaidForHr": 1
},
"provider": {},
"disks": ["<string>"],
"team": { "teamId": "<string>" },
"team_member_ids": ["<string>"],
"shared_with_team": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
pod: {
cloudId: '<string>',
gpuCount: 123,
name: '<string>',
diskSize: 1,
vcpus: 1,
memory: 1,
maxPrice: 123,
image: 'ubuntu_22_cuda_12',
customTemplateId: '<string>',
dataCenterId: '<string>',
country: '<string>',
envVars: [{key: '<string>', value: '<string>'}],
jupyterPassword: '<string>',
sshKeyId: '<string>',
autoRestart: false,
prepaidForHr: 1
},
provider: {},
disks: ['<string>'],
team: {teamId: '<string>'},
team_member_ids: ['<string>'],
shared_with_team: false
})
};

fetch('https://api.primeintellect.ai/api/v1/pods/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.primeintellect.ai/api/v1/pods/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pod' => [
'cloudId' => '<string>',
'gpuCount' => 123,
'name' => '<string>',
'diskSize' => 1,
'vcpus' => 1,
'memory' => 1,
'maxPrice' => 123,
'image' => 'ubuntu_22_cuda_12',
'customTemplateId' => '<string>',
'dataCenterId' => '<string>',
'country' => '<string>',
'envVars' => [
[
'key' => '<string>',
'value' => '<string>'
]
],
'jupyterPassword' => '<string>',
'sshKeyId' => '<string>',
'autoRestart' => false,
'prepaidForHr' => 1
],
'provider' => [

],
'disks' => [
'<string>'
],
'team' => [
'teamId' => '<string>'
],
'team_member_ids' => [
'<string>'
],
'shared_with_team' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.primeintellect.ai/api/v1/pods/"

payload := strings.NewReader("{\n \"pod\": {\n \"cloudId\": \"<string>\",\n \"gpuCount\": 123,\n \"name\": \"<string>\",\n \"diskSize\": 1,\n \"vcpus\": 1,\n \"memory\": 1,\n \"maxPrice\": 123,\n \"image\": \"ubuntu_22_cuda_12\",\n \"customTemplateId\": \"<string>\",\n \"dataCenterId\": \"<string>\",\n \"country\": \"<string>\",\n \"envVars\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"jupyterPassword\": \"<string>\",\n \"sshKeyId\": \"<string>\",\n \"autoRestart\": false,\n \"prepaidForHr\": 1\n },\n \"provider\": {},\n \"disks\": [\n \"<string>\"\n ],\n \"team\": {\n \"teamId\": \"<string>\"\n },\n \"team_member_ids\": [\n \"<string>\"\n ],\n \"shared_with_team\": false\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.primeintellect.ai/api/v1/pods/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pod\": {\n \"cloudId\": \"<string>\",\n \"gpuCount\": 123,\n \"name\": \"<string>\",\n \"diskSize\": 1,\n \"vcpus\": 1,\n \"memory\": 1,\n \"maxPrice\": 123,\n \"image\": \"ubuntu_22_cuda_12\",\n \"customTemplateId\": \"<string>\",\n \"dataCenterId\": \"<string>\",\n \"country\": \"<string>\",\n \"envVars\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"jupyterPassword\": \"<string>\",\n \"sshKeyId\": \"<string>\",\n \"autoRestart\": false,\n \"prepaidForHr\": 1\n },\n \"provider\": {},\n \"disks\": [\n \"<string>\"\n ],\n \"team\": {\n \"teamId\": \"<string>\"\n },\n \"team_member_ids\": [\n \"<string>\"\n ],\n \"shared_with_team\": false\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.primeintellect.ai/api/v1/pods/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pod\": {\n \"cloudId\": \"<string>\",\n \"gpuCount\": 123,\n \"name\": \"<string>\",\n \"diskSize\": 1,\n \"vcpus\": 1,\n \"memory\": 1,\n \"maxPrice\": 123,\n \"image\": \"ubuntu_22_cuda_12\",\n \"customTemplateId\": \"<string>\",\n \"dataCenterId\": \"<string>\",\n \"country\": \"<string>\",\n \"envVars\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"jupyterPassword\": \"<string>\",\n \"sshKeyId\": \"<string>\",\n \"autoRestart\": false,\n \"prepaidForHr\": 1\n },\n \"provider\": {},\n \"disks\": [\n \"<string>\"\n ],\n \"team\": {\n \"teamId\": \"<string>\"\n },\n \"team_member_ids\": [\n \"<string>\"\n ],\n \"shared_with_team\": false\n}"

response = http.request(request)
puts response.read_body
{
  "userId": "<string>",
  "name": "<string>",
  "gpuCount": 123,
  "priceHr": 123,
  "id": "<string>",
  "teamId": "<string>",
  "walletId": "<string>",
  "type": "HOSTED",
  "status": "PROVISIONING",
  "installationStatus": "PENDING",
  "installationFailure": "<string>",
  "installationProgress": 123,
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "terminatedAt": "2023-11-07T05:31:56Z",
  "stoppedPriceHr": 0.005,
  "provisioningPriceHr": 0,
  "environmentType": "ubuntu_22_cuda_12",
  "customTemplateId": "<string>",
  "clusterId": "<string>",
  "primePortMapping": [],
  "sshConnection": "<string>",
  "ip": "<string>",
  "resources": {
    "memory": "128",
    "disk": "1000",
    "shared_disk": "1000",
    "vcpus": "32"
  },
  "attachedResources": [],
  "isSpot": true,
  "autoRestart": true
}
{
"errors": [
{
"param": "<string>",
"details": "<string>"
}
]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
pod
PodRequestConfig · object
required
provider
ProviderConfig · object
required
disks
string[] | null
team
TeamConfig · object | null
team_member_ids
string[] | null
shared_with_team
boolean
default:false

Response

Successful Response

userId
string
required

ID of the user associated with this pod, if applicable.

name
string
required

Name of the pod.

providerType
enum<string>
required

Type of provider associated with the pod, based on ProviderTypeEnum.

Available options:
runpod,
fluidstack,
lambdalabs,
hyperstack,
oblivus,
cudocompute,
scaleway,
tensordock,
datacrunch,
latitude,
crusoecloud,
massedcompute,
akash,
primeintellect,
primecompute,
dc_impala,
dc_kudu,
dc_roan,
nebius,
dc_eland,
dc_wildebeest,
vultr,
dc_gnu,
denvr
gpuName
enum<string>
required

Model of the GPU allocated.

Available options:
CPU_NODE,
A10_24GB,
A100_80GB,
A100_40GB,
A30_24GB,
A40_48GB,
B200_180GB,
B300_262GB,
GB200,
GB300,
RTX3070_8GB,
RTX3070_8GB,
RTX3080_10GB,
RTX3080Ti_12GB,
RTX3090_24GB,
RTX3090Ti_24GB,
RTX4070Ti_12GB,
RTX4080_16GB,
RTX4080Ti_16GB,
RTX4090_24GB,
RTX5090_32GB,
H100_80GB,
H200_96GB,
GH200_96GB,
H200_141GB,
GH200_480GB,
GH200_624GB,
L4_24GB,
L40_48GB,
L40S_48GB,
RTX4000_8GB,
RTX5000_16GB,
RTX6000_24GB,
RTX8000_48GB,
RTX2000Ada_16GB,
RTX4000Ada_20GB,
RTX5000Ada_32GB,
RTX6000Ada_48GB,
A2000_6GB,
A4000_16GB,
A4500_20GB,
A5000_24GB,
A6000_48GB,
V100_16GB,
V100_32GB,
P100_16GB,
T4_16GB,
P4_8GB,
P40_24GB,
RTX_PRO_6000B_96GB
gpuCount
integer
required

Number of GPUs allocated to the node.

Example:

1

socket
enum<string>
required

Type of socket used by the GPU.

Available options:
PCIe,
SXM2,
SXM3,
SXM4,
SXM5,
SXM6
priceHr
number
required

Hourly price for running the pod.

Example:

1.23

id
string

Unique identifier for the pod, generated as a UUID.

teamId
string | null

ID of the team owning this pod, if applicable.

walletId
string | null

ID of the wallet associated with this pod for billing or resource tracking.

type
enum<string>
default:HOSTED
deprecated

Type of the pod, based on PodTypeEnum.

Available options:
HOSTED,
EXTERNAL
status
enum<string>
default:PROVISIONING

Current status of the pod, based on PodStatusEnum.

Available options:
PROVISIONING,
PENDING,
ACTIVE,
STOPPED,
ERROR,
DELETING,
UNKNOWN,
TERMINATED
installationStatus
enum<string>
default:PENDING

Installation status of the pod, based on InstallationStatusEnum.

Available options:
PENDING,
ACTIVE,
FINISHED,
ERROR,
TERMINATED
installationFailure
string | null

Details about any installation failures that occurred, if applicable.

installationProgress
integer | null

Percentage of the installation process completed.

createdAt
string<date-time>

Timestamp when the pod was created.

updatedAt
string<date-time>

Timestamp when the pod was last updated.

terminatedAt
string<date-time> | null

Timestamp when the pod was terminated.

stoppedPriceHr
number | null

Hourly price when the pod is stopped. If empty then priceHr is used.

Example:

0.005

provisioningPriceHr
number | null
default:0

Hourly price during the provisioning process. If empty then priceHr is used.

environmentType
enum<string>
default:ubuntu_22_cuda_12

Type of image selected for the pod.

Available options:
ubuntu_22_cuda_12,
ubuntu_26,
cuda_12_1_pytorch_2_2,
cuda_11_8_pytorch_2_1,
cuda_12_1_pytorch_2_3,
cuda_12_1_pytorch_2_4,
cuda_12_4_pytorch_2_4,
cuda_12_4_pytorch_2_5,
cuda_12_4_pytorch_2_6,
cuda_12_6_pytorch_2_7,
stable_diffusion,
axolotl,
bittensor,
hivemind,
petals_llama,
vllm_llama_8b,
vllm_llama_70b,
vllm_llama_405b,
custom_template,
flux,
prime_rl
customTemplateId
string | null

ID of the custom template applied to the pod, if applicable.

clusterId
string | null

ID of the cluster to which the pod belongs.

primePortMapping
PortMapping · object[] | null

Port mapping.

sshConnection

SSH connection/connections details.

ip

IP address/addresses of the instance.

resources
InstanceResources · object | null

Instance resources.

attachedResources
AttachedResources · object[] | null

Instance attached resources.

isSpot
boolean | null

Whether the instance is spot.

autoRestart
boolean | null

Automatically restart the instance.