---
title: "Create pod"
method: POST
path: "/openapi/v1/pods/create"
tags: ["OpenapiPod"]
---

# Create pod

`POST /openapi/v1/pods/create`

Create pod

## Request body

- OpenapiPodCreateRequest — OpenapiPodCreateRequest
  - `imagePublicType` string — ImagePublicTypeEnum: PUBLIC, PRIVATE
  - `resourceType` string — ResourceTypeEnum: GPU,CPU
  - `region` string — Region
  - `regionList` string[] — Region List
  - `podName` string — pod nick name
  - `image` string, required — image name
  - `imageRegistry` string — image registry url
  - `credentialId` integer — container registry credential ID
  - `imageRegistryUsername` string — image registry username
  - `imageRegistryToken` string — image registry token or password
  - `gpuType` string, required — gpu type
  - `gpuCount` integer — gpu count
  - `isSpot` boolean — Create on Spot resource when true; default false
  - `maxPrice` number — Spot instance max hourly price cap for the whole machine; only valid when isSpot=true
  - `shmInGb` integer — shm unit:GB
  - `minSingleCardRamInGb` integer — min single card ram unit: GB
  - `minSingleCardVramInGb` integer — min single card vram unit: GB
  - `minSingleCardVcpu` integer — min single card vcpu unit: count
  - `containerVolumeInGb` integer — container volume unit:GB
  - `initializationCommand` string — initialization command
  - `environmentVars` KeyValuePairDTO[] — image needed environment vars [{"key":"myKey", "value": myValue}]
    - `key` string, required — key
    - `value` string, required — value
  - `expose` OpenapiPodExposePortRequest[] — expose ports [{"port": 8000, "protocol": "HTTP"]
    - `port` integer, required — port
    - `protocol` 'HTTP' | 'TCP' — protocol
  - `persistentVolumes` PersistentVolumesRequest[] — persistent volumes
    - `id` integer — pv id
    - `name` string — pv name
    - `volumeType` 'CloudStorage' | 'Ceph' | 'System', required — Persistent volume type
    - `mountMode` 'Data' | 'System' — mountMode
    - `volumeSize` integer — volumeSize, required when volumeType is System
    - `volumePrice` number — volume price
    - `mountPath` string, required — mount path
    - `cloudStorageType` 'S3' | 'R2' — cloud storage type, required when volumeType is CloudStorage
    - `systemVolumeType` 'Local' | 'Ceph' — System volume type: Local or Ceph. Required when volumeType is System
  - `callbackUrl` string — Pod lifecycle webhook callback URL. When creating a Pod, you can provide a `callbackUrl` in the request body. The platform will send HTTP POST notifications to this URL whenever the Pod transitions into a key lifecycle state (RUNNING, TERMINATED, FAILED, or DEGRADED).

## Response `200`

OK

## Other responses

- `400` — Bad Request
- `500` — Internal Server Error

---

[API](https://skmtc.net/yottalabs/apis/docs-yottalabs-ai.md) · [All operations](https://skmtc.net/yottalabs/apis/docs-yottalabs-ai/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/yottalabs/docs-yottalabs-ai/revisions/998cc08df103/schema)
