openapi: 3.1.0 info: title: Prime Intellect Compute API version: 0.1.0 description: 'GPU compute marketplace and pod orchestration: availability across providers, on-demand and multi-node GPU pod lifecycle, persistent network-attached disks, and SSH key management. Supports H100, H200, B200, B300, and other GPU families with 1-256 GPU configurations.' contact: name: Prime Intellect url: https://www.primeintellect.ai servers: - url: https://api.primeintellect.ai security: - HTTPBearer: [] tags: - name: Availability - name: Pods - name: Disks - name: SSH Keys paths: /api/v1/availability/: get: tags: - Availability summary: Get Legacygpu Availability operationId: get_legacygpu_availability_api_v1_availability__get security: - HTTPBearer: [] parameters: - name: page in: query required: false schema: type: integer minimum: 1 description: Page number (1-indexed) default: 1 title: Page description: Page number (1-indexed) - name: page_size in: query required: false schema: type: integer maximum: 500 minimum: 1 description: Number of results per page default: 500 title: Page Size description: Number of results per page - name: regions in: query required: false schema: anyOf: - type: array items: $ref: '#/components/schemas/Regions' - type: 'null' description: List of regions to filter title: Regions description: List of regions to filter - name: gpu_count in: query required: false schema: anyOf: - type: integer - type: 'null' description: Desired number of GPUs title: Gpu Count description: Desired number of GPUs - name: gpu_type in: query required: false schema: anyOf: - $ref: '#/components/schemas/GPUType' - type: 'null' description: GPU model title: Gpu Type description: GPU model - name: socket in: query required: false schema: anyOf: - $ref: '#/components/schemas/GPUSocket' - type: 'null' description: Socket for selected gpu model title: Socket description: Socket for selected gpu model - name: security in: query required: false schema: anyOf: - $ref: '#/components/schemas/SecurityType' - type: 'null' description: Security type title: Security description: Security type - name: data_center_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by data center ID title: Data Center Id description: Filter by data center ID - name: cloud_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by cloud ID title: Cloud Id description: Filter by cloud ID - name: disks in: query required: false schema: anyOf: - type: array items: type: string - type: 'null' description: List of disk IDs to filter instances by location title: Disks description: List of disk IDs to filter instances by location responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LegacyAvailabilityResponse' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/availability/clusters: get: tags: - Availability summary: Get Legacy Cluster Availability operationId: get_legacy_cluster_availability_api_v1_availability_clusters_get security: - HTTPBearer: [] parameters: - name: page in: query required: false schema: type: integer minimum: 1 description: Page number (1-indexed) default: 1 title: Page description: Page number (1-indexed) - name: page_size in: query required: false schema: type: integer maximum: 500 minimum: 1 description: Number of results per page default: 500 title: Page Size description: Number of results per page - name: regions in: query required: false schema: anyOf: - type: array items: $ref: '#/components/schemas/Regions' - type: 'null' description: List of regions to filter title: Regions description: List of regions to filter - name: gpu_count in: query required: false schema: anyOf: - type: integer - type: 'null' description: Desired number of GPUs title: Gpu Count description: Desired number of GPUs - name: gpu_type in: query required: false schema: anyOf: - $ref: '#/components/schemas/GPUType' - type: 'null' description: GPU model title: Gpu Type description: GPU model - name: socket in: query required: false schema: anyOf: - $ref: '#/components/schemas/GPUSocket' - type: 'null' description: Socket for selected gpu model title: Socket description: Socket for selected gpu model - name: security in: query required: false schema: anyOf: - $ref: '#/components/schemas/SecurityType' - type: 'null' description: Security type title: Security description: Security type - name: data_center_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by data center ID title: Data Center Id description: Filter by data center ID - name: cloud_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by cloud ID title: Cloud Id description: Filter by cloud ID - name: disks in: query required: false schema: anyOf: - type: array items: type: string - type: 'null' description: List of disk IDs to filter instances by location title: Disks description: List of disk IDs to filter instances by location responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LegacyAvailabilityResponse' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/availability/disks: get: tags: - Availability summary: Get Disks Availability operationId: get_disks_availability_api_v1_availability_disks_get security: - HTTPBearer: [] parameters: - name: page in: query required: false schema: type: integer minimum: 1 description: Page number (1-indexed) default: 1 title: Page description: Page number (1-indexed) - name: page_size in: query required: false schema: type: integer maximum: 100 minimum: 1 description: Number of results per page default: 100 title: Page Size description: Number of results per page - name: regions in: query required: false schema: anyOf: - type: array items: $ref: '#/components/schemas/Regions' - type: 'null' description: List of regions to filter title: Regions description: List of regions to filter - name: data_center_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by data center ID title: Data Center Id description: Filter by data center ID - name: cloud_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by cloud ID title: Cloud Id description: Filter by cloud ID responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DiskAvailabilityResponse' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/availability/gpu-summary: get: tags: - Availability summary: Get Gpu Summary description: Get GPU pricing summary data grouped by GPU type and instance count. operationId: get_gpu_summary_api_v1_availability_gpu_summary_get responses: '200': description: Successful Response content: application/json: schema: additionalProperties: additionalProperties: $ref: '#/components/schemas/InstanceCountPricing' type: object type: object title: Response Get Gpu Summary Api V1 Availability Gpu Summary Get '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - HTTPBearer: [] /api/v1/availability/gpus: get: tags: - Availability summary: Get Gpu Availability operationId: get_gpu_availability_api_v1_availability_gpus_get security: - HTTPBearer: [] parameters: - name: page in: query required: false schema: type: integer minimum: 1 description: Page number (1-indexed) default: 1 title: Page description: Page number (1-indexed) - name: page_size in: query required: false schema: type: integer maximum: 100 minimum: 1 description: Number of results per page default: 100 title: Page Size description: Number of results per page - name: regions in: query required: false schema: anyOf: - type: array items: $ref: '#/components/schemas/Regions' - type: 'null' description: List of regions to filter title: Regions description: List of regions to filter - name: gpu_count in: query required: false schema: anyOf: - type: integer - type: 'null' description: Desired number of GPUs title: Gpu Count description: Desired number of GPUs - name: gpu_type in: query required: false schema: anyOf: - $ref: '#/components/schemas/GPUType' - type: 'null' description: GPU model title: Gpu Type description: GPU model - name: socket in: query required: false schema: anyOf: - $ref: '#/components/schemas/GPUSocket' - type: 'null' description: Socket for selected gpu model title: Socket description: Socket for selected gpu model - name: security in: query required: false schema: anyOf: - $ref: '#/components/schemas/SecurityType' - type: 'null' description: Security type title: Security description: Security type - name: data_center_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by data center ID title: Data Center Id description: Filter by data center ID - name: cloud_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by cloud ID title: Cloud Id description: Filter by cloud ID - name: disks in: query required: false schema: anyOf: - type: array items: type: string - type: 'null' description: List of disk IDs to filter instances by location title: Disks description: List of disk IDs to filter instances by location responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AvailabilityResponse' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/availability/multi-node: get: tags: - Availability summary: Get Multinode Availability operationId: get_multinode_availability_api_v1_availability_multi_node_get security: - HTTPBearer: [] parameters: - name: page in: query required: false schema: type: integer minimum: 1 description: Page number (1-indexed) default: 1 title: Page description: Page number (1-indexed) - name: page_size in: query required: false schema: type: integer maximum: 100 minimum: 1 description: Number of results per page default: 100 title: Page Size description: Number of results per page - name: regions in: query required: false schema: anyOf: - type: array items: $ref: '#/components/schemas/Regions' - type: 'null' description: List of regions to filter title: Regions description: List of regions to filter - name: gpu_count in: query required: false schema: anyOf: - type: integer - type: 'null' description: Desired number of GPUs title: Gpu Count description: Desired number of GPUs - name: gpu_type in: query required: false schema: anyOf: - $ref: '#/components/schemas/GPUType' - type: 'null' description: GPU model title: Gpu Type description: GPU model - name: socket in: query required: false schema: anyOf: - $ref: '#/components/schemas/GPUSocket' - type: 'null' description: Socket for selected gpu model title: Socket description: Socket for selected gpu model - name: security in: query required: false schema: anyOf: - $ref: '#/components/schemas/SecurityType' - type: 'null' description: Security type title: Security description: Security type - name: data_center_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by data center ID title: Data Center Id description: Filter by data center ID - name: cloud_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by cloud ID title: Cloud Id description: Filter by cloud ID - name: disks in: query required: false schema: anyOf: - type: array items: type: string - type: 'null' description: List of disk IDs to filter instances by location title: Disks description: List of disk IDs to filter instances by location responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AvailabilityResponse' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/availability/multi-node-summary: get: tags: - Availability summary: Get Multinode Summary description: Get multi-node (cluster) pricing summary data grouped by GPU type and instance count. operationId: get_multinode_summary_api_v1_availability_multi_node_summary_get responses: '200': description: Successful Response content: application/json: schema: additionalProperties: additionalProperties: $ref: '#/components/schemas/InstanceCountPricing' type: object type: object title: Response Get Multinode Summary Api V1 Availability Multi Node Summary Get '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - HTTPBearer: [] /api/v1/disks/: get: tags: - Disks summary: List Disks operationId: list_disks_api_v1_disks__get security: - HTTPBearer: [] parameters: - name: offset in: query required: false schema: type: integer default: 0 title: Offset - name: limit in: query required: false schema: type: integer default: 100 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GenericPaginationResponse_List_APIDiskConfig__' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Disks summary: Create Disk operationId: create_disk_api_v1_disks__post security: - HTTPBearer: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Body_create_disk_api_v1_disks__post' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/APIDiskConfig' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/disks/{disk_id}: get: tags: - Disks summary: Get Disk operationId: get_disk_api_v1_disks__disk_id__get security: - HTTPBearer: [] parameters: - name: disk_id in: path required: true schema: type: string title: Disk Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/APIDiskConfig' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' patch: tags: - Disks summary: Update Disk operationId: update_disk_api_v1_disks__disk_id__patch security: - HTTPBearer: [] parameters: - name: disk_id in: path required: true schema: type: string title: Disk Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/APIDiskUpdateRequest' responses: '200': description: Successful Response content: application/json: schema: {} '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - Disks summary: Delete Disk operationId: delete_disk_api_v1_disks__disk_id__delete security: - HTTPBearer: [] parameters: - name: disk_id in: path required: true schema: type: string title: Disk Id responses: '200': description: Successful Response content: application/json: schema: {} '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/pods/: get: tags: - Pods summary: Get Pods operationId: get_pods_api_v1_pods__get security: - HTTPBearer: [] parameters: - name: offset in: query required: false schema: type: integer default: 0 title: Offset - name: limit in: query required: false schema: type: integer default: 100 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GenericPaginationResponse_List_APIPodConfig__' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Pods summary: Create Pod operationId: create_pod_api_v1_pods__post security: - HTTPBearer: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Body_create_pod_api_v1_pods__post' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/APIPodConfig' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/pods/history: get: tags: - Pods summary: Get Pods History operationId: get_pods_history_api_v1_pods_history_get security: - HTTPBearer: [] parameters: - name: sort_by in: query required: false schema: enum: - terminatedAt - createdAt type: string default: terminatedAt title: Sort By - name: sort_order in: query required: false schema: enum: - asc - desc type: string default: desc title: Sort Order - name: offset in: query required: false schema: type: integer default: 0 title: Offset - name: limit in: query required: false schema: type: integer default: 100 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GenericPaginationResponse_List_HistoryObj__' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/pods/status: get: tags: - Pods summary: Get Pods Status operationId: get_pods_status_api_v1_pods_status_get security: - HTTPBearer: [] parameters: - name: pod_ids in: query required: false schema: type: array items: type: string description: List of pod ids default: [] title: Pod Ids description: List of pod ids responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GenericResponse_List_APIPodStatusResponse__' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/pods/{pod_id}: get: tags: - Pods summary: Get Pod operationId: get_pod_api_v1_pods__pod_id__get security: - HTTPBearer: [] parameters: - name: pod_id in: path required: true schema: type: string title: Pod Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/APIPodConfig' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - Pods summary: Delete Pod operationId: delete_pod_api_v1_pods__pod_id__delete security: - HTTPBearer: [] parameters: - name: pod_id in: path required: true schema: type: string title: Pod Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/APIDeletePodResponse' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/pods/{pod_id}/log: get: tags: - Pods summary: Get Pod Logs Api description: "Get logs for a pod.\n\nArgs:\n tail: Number of most recent logs to return (default: 100)" operationId: get_pod_logs_api_api_v1_pods__pod_id__log_get security: - HTTPBearer: [] parameters: - name: pod_id in: path required: true schema: type: string title: Pod Id - name: tail in: query required: false schema: anyOf: - type: integer - type: 'null' title: Tail responses: '200': description: Successful Response content: application/json: schema: {} '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/ssh_keys/: get: tags: - SSH Keys summary: Get Ssh Keys operationId: get_ssh_keys_api_v1_ssh_keys__get security: - HTTPBearer: [] parameters: - name: offset in: query required: false schema: type: integer default: 0 title: Offset - name: limit in: query required: false schema: type: integer default: 100 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GenericPaginationResponse_List_APISSHKeyConfig__' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - SSH Keys summary: Upload Ssh Key operationId: upload_ssh_key_api_v1_ssh_keys__post security: - HTTPBearer: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/APISSHKeyUploadRequestConfig' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/APISSHKeyConfig' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/ssh_keys/{key_id}: delete: tags: - SSH Keys summary: Delete Ssh Key operationId: delete_ssh_key_api_v1_ssh_keys__key_id__delete security: - HTTPBearer: [] parameters: - name: key_id in: path required: true schema: type: string title: Key Id responses: '200': description: Successful Response content: application/json: schema: {} '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' patch: tags: - SSH Keys summary: Set Primary Key operationId: set_primary_key_api_v1_ssh_keys__key_id__patch security: - HTTPBearer: [] parameters: - name: key_id in: path required: true schema: type: string title: Key Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/APISSHKeyUpdateRequestConfig' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/APISSHKeyUpdateResponseConfig' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: securitySchemes: HTTPBearer: type: http scheme: bearer schemas: GenericResponse_List_APIPodStatusResponse__: properties: data: anyOf: - items: $ref: '#/components/schemas/APIPodStatusResponse' type: array - type: 'null' title: Data description: Response data status: anyOf: - type: string - type: 'null' title: Status description: Response status type: object title: GenericResponse[List[APIPodStatusResponse]] APIPodStatusResponse: properties: podId: type: string title: Podid description: Unique identifier for the pod. providerType: $ref: '#/components/schemas/ProviderTypeEnum' description: ID of the provider. status: $ref: '#/components/schemas/PodStatusEnum' description: Current status of the pod. sshConnection: anyOf: - type: string - items: anyOf: - type: string - type: 'null' type: array - type: 'null' title: Sshconnection description: SSH connection details for the pod, which may be a string or list of strings (if there are multiple nodes). examples: - root@135.23.125.123 -p 22 ip: anyOf: - type: string - items: anyOf: - type: string - type: 'null' type: array - type: 'null' title: Ip description: IP address or list (if there are multiple nodes) of IP addresses associated with the pod. examples: - 135.23.125.123 installationStatus: anyOf: - $ref: '#/components/schemas/InstallationStatusEnum' - type: 'null' description: Installation status of the pod, based on InstallationStatusEnum. installationFailure: anyOf: - type: string - type: 'null' title: Installationfailure description: Details about any installation failures that occurred, if applicable. installationProgress: anyOf: - type: integer - type: 'null' title: Installationprogress description: Percentage of the installation process that has been completed, if available. type: object required: - podId - providerType - status title: APIPodStatusResponse InstallationStatusEnum: type: string enum: - PENDING - ACTIVE - FINISHED - ERROR - TERMINATED title: InstallationStatusEnum PodStatusEnum: type: string enum: - PROVISIONING - PENDING - ACTIVE - STOPPED - ERROR - DELETING - UNKNOWN - TERMINATED title: PodStatusEnum ProviderTypeEnum: type: string enum: - 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 title: ProviderTypeEnum GenericPaginationResponse_List_APISSHKeyConfig__: properties: total_count: type: integer title: Total Count description: Total number of items available in the dataset default: 0 offset: type: integer minimum: 0.0 title: Offset description: Number of items to skip before starting to collect the result set default: 0 limit: type: integer minimum: 0.0 title: Limit description: Maximum number of items to return default: 100 data: items: $ref: '#/components/schemas/APISSHKeyConfig' type: array title: Data status: anyOf: - type: string - type: 'null' title: Status description: Response status type: object required: - data title: GenericPaginationResponse[List[APISSHKeyConfig]] APIDiskUpdateRequest: properties: name: type: string title: Name description: New human-friendly name for the disk. type: object required: - name title: APIDiskUpdateRequest GenericPaginationResponse_List_HistoryObj__: properties: total_count: type: integer title: Total Count description: Total number of items available in the dataset default: 0 offset: type: integer minimum: 0.0 title: Offset description: Number of items to skip before starting to collect the result set default: 0 limit: type: integer minimum: 0.0 title: Limit description: Maximum number of items to return default: 100 data: items: $ref: '#/components/schemas/HistoryObj' type: array title: Data status: anyOf: - type: string - type: 'null' title: Status description: Response status type: object required: - data title: GenericPaginationResponse[List[HistoryObj]] HistoryObj: properties: id: type: string title: Id description: Unique identifier for the record. name: type: string title: Name description: Name assigned to the resource. providerType: $ref: '#/components/schemas/ProviderTypeEnum' description: ID of the provider. provisionedBy: anyOf: - type: string - type: 'null' title: Provisionedby description: Name of the user who provisioned the resource. type: $ref: '#/components/schemas/ResourceType' description: Type of the resource. createdAt: type: string format: date-time title: Createdat description: Timestamp when the resource was created. terminatedAt: anyOf: - type: string format: date-time - type: 'null' title: Terminatedat description: Timestamp when the resource was terminated. gpuName: type: string title: Gpuname description: Model of the GPU used in the resource. gpuCount: type: integer title: Gpucount description: Number of GPUs allocated to the resource. examples: - 1 socket: anyOf: - type: string - type: 'null' title: Socket description: Type of socket used by the GPU, if applicable. priceHr: type: number title: Pricehr description: Price per hour for using the resource (average). examples: - 1.23 userId: type: string title: Userid description: ID of the user who owns the resource. teamId: anyOf: - type: string - type: 'null' title: Teamid description: ID of the team to which the resource is assigned, if applicable. totalBilledPrice: type: number title: Totalbilledprice description: Total amount billed for this resource. examples: - 123.45 type: object required: - id - name - providerType - type - createdAt - gpuName - gpuCount - priceHr - userId - totalBilledPrice title: HistoryObj ResourceType: type: string enum: - Instance - Cluster - Disk - Sandbox - Inference - Image - Training title: ResourceType APIPodConfig: properties: id: type: string title: Id description: Unique identifier for the pod, generated as a UUID. userId: type: string title: Userid description: ID of the user associated with this pod, if applicable. teamId: anyOf: - type: string - type: 'null' title: Teamid description: ID of the team owning this pod, if applicable. walletId: anyOf: - type: string - type: 'null' title: Walletid description: ID of the wallet associated with this pod for billing or resource tracking. name: type: string title: Name description: Name of the pod. type: $ref: '#/components/schemas/PodTypeEnum' description: Type of the pod, based on PodTypeEnum. default: HOSTED deprecated: true providerType: $ref: '#/components/schemas/ProviderTypeEnum' description: Type of provider associated with the pod, based on ProviderTypeEnum. status: $ref: '#/components/schemas/PodStatusEnum' description: Current status of the pod, based on PodStatusEnum. default: PROVISIONING installationStatus: $ref: '#/components/schemas/InstallationStatusEnum' description: Installation status of the pod, based on InstallationStatusEnum. default: PENDING installationFailure: anyOf: - type: string - type: 'null' title: Installationfailure description: Details about any installation failures that occurred, if applicable. installationProgress: anyOf: - type: integer - type: 'null' title: Installationprogress description: Percentage of the installation process completed. createdAt: type: string format: date-time title: Createdat description: Timestamp when the pod was created. updatedAt: type: string format: date-time title: Updatedat description: Timestamp when the pod was last updated. terminatedAt: anyOf: - type: string format: date-time - type: 'null' title: Terminatedat description: Timestamp when the pod was terminated. gpuName: $ref: '#/components/schemas/GPUType' description: Model of the GPU allocated. gpuCount: type: integer title: Gpucount description: Number of GPUs allocated to the node. examples: - 1 socket: $ref: '#/components/schemas/GPUSocket' description: Type of socket used by the GPU. priceHr: type: number title: Pricehr description: Hourly price for running the pod. examples: - 1.23 stoppedPriceHr: anyOf: - type: number - type: 'null' title: Stoppedpricehr description: Hourly price when the pod is stopped. If empty then `priceHr` is used. examples: - 0.005 provisioningPriceHr: anyOf: - type: number - type: 'null' title: Provisioningpricehr description: Hourly price during the provisioning process. If empty then `priceHr` is used. default: 0.0 environmentType: $ref: '#/components/schemas/EnvironmentTypeEnum' description: Type of image selected for the pod. default: ubuntu_22_cuda_12 customTemplateId: anyOf: - type: string - type: 'null' title: Customtemplateid description: ID of the custom template applied to the pod, if applicable. clusterId: anyOf: - type: string - type: 'null' title: Clusterid description: ID of the cluster to which the pod belongs. primePortMapping: anyOf: - items: $ref: '#/components/schemas/PortMapping' type: array - type: 'null' title: Primeportmapping description: Port mapping. default: [] sshConnection: anyOf: - type: string - items: anyOf: - type: string - type: 'null' type: array - type: 'null' title: Sshconnection description: SSH connection/connections details. ip: anyOf: - type: string - items: anyOf: - type: string - type: 'null' type: array - type: 'null' title: Ip description: IP address/addresses of the instance. resources: anyOf: - $ref: '#/components/schemas/InstanceResources' - type: 'null' description: Instance resources. attachedResources: anyOf: - items: $ref: '#/components/schemas/AttachedResources' type: array - type: 'null' title: Attachedresources description: Instance attached resources. default: [] isSpot: anyOf: - type: boolean - type: 'null' title: Isspot description: Whether the instance is spot. autoRestart: anyOf: - type: boolean - type: 'null' title: Autorestart description: Automatically restart the instance. type: object required: - userId - name - providerType - gpuName - gpuCount - socket - priceHr title: APIPodConfig PortMapping: properties: internal: type: string title: Internal examples: - '8080' external: type: string title: External examples: - '1234' protocol: $ref: '#/components/schemas/ProtocolEnum' usedBy: anyOf: - $ref: '#/components/schemas/UsedByEnum' - type: 'null' description: anyOf: - type: string - type: 'null' title: Description type: object required: - internal - external - protocol title: PortMapping UsedByEnum: type: string enum: - SSH - JUPYTER_NOTEBOOK - WEB_SERVER title: UsedByEnum ProtocolEnum: type: string enum: - TCP - UDP title: ProtocolEnum EnvironmentTypeEnum: type: string enum: - ubuntu_22_cuda_12 - 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 title: EnvironmentTypeEnum AttachedResources: properties: resourceType: $ref: '#/components/schemas/AttachableResourceType' description: Type of resource. examples: - DISK id: anyOf: - type: string - type: integer title: Id description: Unique identifier for the resource. status: $ref: '#/components/schemas/AttachableResourceStatus' description: Resource status. default: UNATTACHED isDetachable: type: boolean title: Isdetachable description: Whether the resource is detachable. default: true mountPath: type: string title: Mountpath description: Path to the mount point. default: /workspace resourcePath: anyOf: - type: string - type: 'null' title: Resourcepath description: Path to the resource. size: anyOf: - type: string - type: integer - type: 'null' title: Size description: Size of the resource. isShared: anyOf: - type: boolean - type: 'null' title: Isshared description: Whether the resource is shared. default: false type: object required: - resourceType - id title: AttachedResources AttachableResourceType: type: string enum: - DISK const: DISK title: AttachableResourceType AttachableResourceStatus: type: string enum: - UNATTACHED - ATTACHED - MOUNTED title: AttachableResourceStatus InstanceResources: properties: memory: anyOf: - type: integer - type: 'null' title: Memory description: RAM available (in GB) examples: - '128' disk: anyOf: - type: integer - type: 'null' title: Disk description: Total disk space (in GB) examples: - '1000' shared_disk: anyOf: - type: integer - type: 'null' title: Shared Disk description: Total external shared disk space (in GB) examples: - '1000' vcpus: anyOf: - type: integer - type: 'null' title: Vcpus description: vCPUs available examples: - '32' type: object title: InstanceResources PodTypeEnum: type: string enum: - HOSTED - EXTERNAL title: PodTypeEnum InstanceCountPricing: properties: cheapest: anyOf: - $ref: '#/components/schemas/PricingInfo' - type: 'null' description: Cheapest pricing across all regions additionalProperties: true type: object title: InstanceCountPricing PricingInfo: properties: onDemand: anyOf: - type: number - type: 'null' title: Ondemand description: On-demand pricing communityPrice: anyOf: - type: number - type: 'null' title: Communityprice description: Community cloud pricing spotPrice: anyOf: - type: number - type: 'null' title: Spotprice description: Spot instance pricing type: object title: PricingInfo DiskAvailabilityResponse: properties: items: items: $ref: '#/components/schemas/DiskAvailability' type: array title: Items description: List of available disk configurations totalCount: type: integer title: Totalcount description: Total number of matching disk configurations type: object required: - items - totalCount title: DiskAvailabilityResponse DiskAvailability: properties: cloudId: anyOf: - type: string - type: 'null' title: Cloudid description: Cloud ID, used for provisioning provider: $ref: '#/components/schemas/ProviderTypeEnum' description: Provider's ID dataCenter: anyOf: - type: string - type: 'null' title: Datacenter description: Location of the data center housing the disk. country: anyOf: - type: string - type: 'null' title: Country description: Country where the data center is located. region: anyOf: - $ref: '#/components/schemas/Regions' - type: 'null' description: Region where the disk is located. spec: $ref: '#/components/schemas/CustomSpecValue' description: Configurable shared disk size in GB and price per GB per hour. default: {} stockStatus: type: string enum: - Available - Low - Medium - High - Unavailable title: Stockstatus description: Current stock availability status of disks. default: Available security: $ref: '#/components/schemas/SecurityType' description: Disk security classification (e.g., secure_cloud or community_cloud). isMultinode: anyOf: - type: boolean - type: 'null' title: Ismultinode description: Indicates if the disk can be used with multiple instances. default: true type: object required: - provider - security title: DiskAvailability CustomSpecValue: properties: minCount: anyOf: - type: integer - type: 'null' title: Mincount description: Minimum count for this specification. examples: - 2 defaultCount: anyOf: - type: integer - type: 'null' title: Defaultcount description: Default count for the specification. examples: - 8 maxCount: anyOf: - type: integer - type: 'null' title: Maxcount description: Maximum allowable count for this specification. examples: - 24 pricePerUnit: anyOf: - type: number - type: 'null' title: Priceperunit description: Price per unit per hr. examples: - 0.005 step: anyOf: - type: integer - type: 'null' title: Step description: Increment step for adjusting the count (e.g., increments by 1 or 10). examples: - 2 defaultIncludedInPrice: anyOf: - type: boolean - type: 'null' title: Defaultincludedinprice description: Indicates if the default count is included in the base price. examples: - false additionalInfo: anyOf: - type: string - type: 'null' title: Additionalinfo description: Any additional information or notes regarding this specification. examples: - null - This price is charged even for stopped instance type: object title: CustomSpecValue Body_create_disk_api_v1_disks__post: properties: disk: $ref: '#/components/schemas/APIDiskCreateRequest' provider: $ref: '#/components/schemas/ProviderConfig' team: anyOf: - $ref: '#/components/schemas/TeamConfig' - type: 'null' type: object required: - disk - provider title: Body_create_disk_api_v1_disks__post APIDiskCreateRequest: properties: size: type: integer exclusiveMinimum: 0.0 title: Size description: Size of the disk in GB. name: type: string maxLength: 255 title: Name description: Optional name for the disk. country: anyOf: - type: string - type: 'null' title: Country description: Location country. cloudId: anyOf: - type: string - type: 'null' title: Cloudid description: Cloud ID. dataCenterId: anyOf: - type: string - type: 'null' title: Datacenterid description: Data center ID. additionalProperties: false type: object required: - size title: APIDiskCreateRequest ProviderConfig: properties: type: $ref: '#/components/schemas/ProviderTypeEnum' type: object required: - type title: ProviderConfig TeamConfig: properties: teamId: type: string title: Teamid type: object required: - teamId title: TeamConfig GenericPaginationResponse_List_APIPodConfig__: properties: total_count: type: integer title: Total Count description: Total number of items available in the dataset default: 0 offset: type: integer minimum: 0.0 title: Offset description: Number of items to skip before starting to collect the result set default: 0 limit: type: integer minimum: 0.0 title: Limit description: Maximum number of items to return default: 100 data: items: $ref: '#/components/schemas/APIPodConfig' type: array title: Data status: anyOf: - type: string - type: 'null' title: Status description: Response status type: object required: - data title: GenericPaginationResponse[List[APIPodConfig]] GenericPaginationResponse_List_APIDiskConfig__: properties: total_count: type: integer title: Total Count description: Total number of items available in the dataset default: 0 offset: type: integer minimum: 0.0 title: Offset description: Number of items to skip before starting to collect the result set default: 0 limit: type: integer minimum: 0.0 title: Limit description: Maximum number of items to return default: 100 data: items: $ref: '#/components/schemas/APIDiskConfig' type: array title: Data status: anyOf: - type: string - type: 'null' title: Status description: Response status type: object required: - data title: GenericPaginationResponse[List[APIDiskConfig]] APIDiskConfig: properties: id: type: string title: Id description: Unique identifier for the disk, generated as a UUID. name: type: string maxLength: 255 title: Name description: Name of the disk. createdAt: type: string format: date-time title: Createdat description: Timestamp when the disk was created. updatedAt: type: string format: date-time title: Updatedat description: Timestamp when the disk was last updated. terminatedAt: anyOf: - type: string format: date-time - type: 'null' title: Terminatedat description: Timestamp when the disk was terminated. status: $ref: '#/components/schemas/DiskStatusEnum' description: Current status of the disk. default: PROVISIONING providerType: $ref: '#/components/schemas/ProviderTypeEnum' description: Type of provider associated with the disk. size: type: integer title: Size description: Size of the disk in GB. default: 0 info: anyOf: - type: object - type: 'null' title: Info description: JSON field for additional information about the disk. priceHr: anyOf: - type: number - type: 'null' title: Pricehr description: Hourly price for using the disk. stoppedPriceHr: anyOf: - type: number - type: 'null' title: Stoppedpricehr description: Hourly price when the disk is stopped. provisioningPriceHr: anyOf: - type: number - type: 'null' title: Provisioningpricehr description: Hourly price during provisioning. default: 0.0 userId: anyOf: - type: string - type: 'null' title: Userid description: ID of the user associated with this disk. teamId: anyOf: - type: string - type: 'null' title: Teamid description: ID of the team owning this disk. walletId: anyOf: - type: string - type: 'null' title: Walletid description: ID of the wallet associated with this disk. pods: items: type: string type: array title: Pods description: Pods attached to the disk. default: [] clusters: items: type: string type: array title: Clusters description: Clusters attached to the disk. default: [] type: object required: - name - providerType - userId title: APIDiskConfig DiskStatusEnum: type: string enum: - PROVISIONING - PENDING - ACTIVE - STOPPED - ERROR - DELETING - UNKNOWN - TERMINATED title: DiskStatusEnum APISSHKeyConfig: properties: id: type: string title: Id description: Unique identifier for the SSH key. userId: type: string title: Userid description: ID of the user associated with this pod, if applicable. name: type: string title: Name description: Name of the SSH key. publicKey: type: string title: Publickey description: The public key part of the SSH key. isPrimary: type: boolean title: Isprimary description: Whether this SSH key is the primary key. isUserKey: type: boolean title: Isuserkey description: Whether this a custom key uploaded by the user. createdAt: type: string format: date-time title: Createdat description: Timestamp when the SSH key was added. updatedAt: type: string format: date-time title: Updatedat description: Timestamp when the SSH key was last updated. type: object required: - id - userId - name - publicKey - isPrimary - isUserKey title: APISSHKeyConfig GPUType: type: string enum: - 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 title: GPUType Regions: type: string enum: - africa - asia_south - asia_northeast - australia - canada - eu_east - eu_north - eu_west - middle_east - south_america - united_states title: Regions APIDeletePodResponse: properties: status: $ref: '#/components/schemas/PodStatusEnum' examples: - TERMINATED type: object required: - status title: APIDeletePodResponse APISSHKeyUpdateResponseConfig: properties: message: type: string title: Message updated_fields: type: object title: Updated Fields type: object required: - message - updated_fields title: APISSHKeyUpdateResponseConfig GPUSocket: type: string enum: - PCIe - SXM2 - SXM3 - SXM4 - SXM5 - SXM6 title: GPUSocket SecurityType: type: string enum: - secure_cloud - community_cloud title: SecurityType LegacyAvailabilityResponse: properties: '{GPUType}': items: $ref: '#/components/schemas/GpuAvailability' type: array type: object title: LegacyAvailabilityResponse GpuAvailability: properties: cloudId: type: string title: Cloudid description: Cloud ID, used for provisioning gpuType: $ref: '#/components/schemas/GPUType' description: GPU model socket: $ref: '#/components/schemas/GPUSocket' description: GPU socket provider: $ref: '#/components/schemas/ProviderTypeEnum' description: Provider's ID region: anyOf: - $ref: '#/components/schemas/Regions' - type: 'null' description: Region where the GPU is located. dataCenter: anyOf: - type: string - type: 'null' title: Datacenter description: Location of the data center housing the GPU. country: anyOf: - type: string - type: 'null' title: Country description: Country where the data center is located. gpuCount: type: integer title: Gpucount description: Total number of GPUs available in this configuration. gpuMemory: type: integer title: Gpumemory description: Amount of memory available per GPU in GB. disk: $ref: '#/components/schemas/CustomSpecValue' description: Disk capacity in GB. default: {} sharedDisk: $ref: '#/components/schemas/CustomSpecValue' description: Shared disk capacity in GB. default: {} vcpu: $ref: '#/components/schemas/CustomSpecValue' description: Number of virtual CPUs allocated. default: {} memory: $ref: '#/components/schemas/CustomSpecValue' description: RAM size available in GB. default: {} internetSpeed: anyOf: - type: integer - type: 'null' title: Internetspeed description: Internet speed available in Mbps. interconnect: anyOf: - type: integer - type: 'null' title: Interconnect description: Interconnect speed between GPUs or nodes in Gbps. interconnectType: anyOf: - type: string - type: 'null' title: Interconnecttype description: Type of interconnect technology (e.g. Infiniband). provisioningTime: anyOf: - type: integer - type: 'null' title: Provisioningtime description: Estimated time in minutes required for GPU provisioning. stockStatus: type: string enum: - Available - Low - Medium - High - Unavailable title: Stockstatus description: Current stock availability status of GPUs. default: Available security: $ref: '#/components/schemas/SecurityType' description: GPU is either from community cloud or secure cloud prices: $ref: '#/components/schemas/Prices' description: Hourly pricing details. images: items: $ref: '#/components/schemas/EnvironmentTypeEnum' type: array title: Images description: List of available images for this GPU. isSpot: anyOf: - type: boolean - type: 'null' title: Isspot description: Indicates if the GPU can be provisioned on a spot pricing model. prepaidTime: anyOf: - type: number - type: 'null' title: Prepaidtime description: If set, you will be pre-charged for the total number of hours specified in this field at the time of ordering, regardless of actual usage. After the prepaid time expires, the standard hourly rate will apply. type: object required: - cloudId - gpuType - socket - provider - gpuCount - gpuMemory - security - prices - images title: GpuAvailability Prices: properties: onDemand: anyOf: - type: number - type: 'null' title: Ondemand description: Price for on-demand usage, specified for secure_cloud security type. examples: - 1.15 communityPrice: anyOf: - type: number - type: 'null' title: Communityprice description: Price for community cloud instances, specified for community_cloud security type. examples: - null isVariable: anyOf: - type: boolean - type: 'null' title: Isvariable description: Indicates whether the price is variable and subject to change based on market conditions. examples: - false currency: $ref: '#/components/schemas/Currency' description: The currency in which the prices are denominated (e.g., USD, EUR). type: object required: - currency title: Prices Currency: type: string enum: - USD - EUR title: Currency ErrorResponse: properties: errors: items: $ref: '#/components/schemas/ErrorDetail' type: array title: Errors type: object required: - errors title: ErrorResponse ErrorDetail: properties: param: type: string title: Param details: type: string title: Details type: object required: - param - details title: ErrorDetail APISSHKeyUpdateRequestConfig: properties: isPrimary: anyOf: - type: boolean - type: 'null' title: Isprimary description: Whether to set the key as the primary key. Must be true when provided. type: object title: APISSHKeyUpdateRequestConfig APISSHKeyUploadRequestConfig: properties: name: type: string title: Name description: The name for the key. publicKey: type: string title: Publickey description: The public key part of the SSH key. type: object required: - name - publicKey title: APISSHKeyUploadRequestConfig Body_create_pod_api_v1_pods__post: properties: pod: $ref: '#/components/schemas/PodRequestConfig' provider: $ref: '#/components/schemas/ProviderConfig' disks: anyOf: - items: type: string type: array - type: 'null' title: Disks team: anyOf: - $ref: '#/components/schemas/TeamConfig' - type: 'null' team_member_ids: anyOf: - items: type: string type: array - type: 'null' title: Team Member Ids shared_with_team: type: boolean title: Shared With Team default: false type: object required: - pod - provider title: Body_create_pod_api_v1_pods__post PodRequestConfig: properties: name: type: string title: Name cloudId: type: string title: Cloudid gpuType: $ref: '#/components/schemas/GPUType' description: Model of the GPU allocated. socket: $ref: '#/components/schemas/GPUSocket' description: Type of socket used by the GPU. gpuCount: type: integer exclusiveMinimum: 0.0 title: Gpucount diskSize: anyOf: - type: integer exclusiveMinimum: 0.0 - type: 'null' title: Disksize vcpus: anyOf: - type: integer exclusiveMinimum: 0.0 - type: 'null' title: Vcpus memory: anyOf: - type: integer exclusiveMinimum: 0.0 - type: 'null' title: Memory maxPrice: anyOf: - type: number - type: 'null' title: Maxprice image: $ref: '#/components/schemas/EnvironmentTypeEnum' default: ubuntu_22_cuda_12 customTemplateId: anyOf: - type: string - type: 'null' title: Customtemplateid dataCenterId: anyOf: - type: string - type: 'null' title: Datacenterid country: anyOf: - type: string - type: 'null' title: Country security: anyOf: - $ref: '#/components/schemas/SecurityType' - type: 'null' envVars: anyOf: - items: $ref: '#/components/schemas/EnvVar' type: array - type: 'null' title: Envvars jupyterPassword: anyOf: - type: string - type: 'null' title: Jupyterpassword sshKeyId: anyOf: - type: string - type: 'null' title: Sshkeyid autoRestart: anyOf: - type: boolean - type: 'null' title: Autorestart default: false prepaidForHr: anyOf: - type: number exclusiveMinimum: 0.0 - type: 'null' title: Prepaidforhr description: Number of hours to prepay for (used for reserved instances) additionalProperties: false type: object required: - cloudId - gpuType - socket - gpuCount title: PodRequestConfig EnvVar: properties: key: type: string title: Key description: Environment variable key value: type: string title: Value description: Environment variable value type: object required: - key - value title: EnvVar AvailabilityResponse: properties: items: items: $ref: '#/components/schemas/GpuAvailability' type: array title: Items description: List of available GPU configurations totalCount: type: integer title: Totalcount description: Total number of matching GPU configurations type: object required: - items - totalCount title: AvailabilityResponse