{
"openapi": "3.0.3",
"info": {
"title": "Runpod API",
"description": "Public Rest API for managing Runpod programmatically.",
"version": "0.1.0",
"contact": {
"name": "help",
"url": "https://contact.runpod.io/hc/requests/new",
"email": "help@runpod.io"
}
},
"externalDocs": {
"description": "Find out more about Runpod.",
"url": "https://runpod.io"
},
"servers": [
{
"url": "https://rest.runpod.io/v1"
}
],
"tags": [
{
"name": "docs",
"description": "This documentation page."
},
{
"name": "pods",
"description": "Manage Pods."
},
{
"name": "endpoints",
"description": "Manage Serverless endpoints."
},
{
"name": "network volumes",
"description": "Manage Runpod network volumes."
},
{
"name": "templates",
"description": "Manage Pod and Serverless templates."
},
{
"name": "container registry auths",
"description": "Manage authentication for container registries such as dockerhub to use private images."
},
{
"name": "billing",
"description": "Retrieve billing history for your Runpod account."
}
],
"paths": {
"/openapi.json": {
"get": {
"tags": [
"docs"
],
"security": [],
"responses": {
"200": {
"description": "The openapi.json specification.",
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {}
}
}
}
}
},
"summary": "OpenAPI 3.0 schema",
"description": "The OpenAPI 3.0 schema.",
"operationId": "GetOpenAPI"
}
},
"/docs": {
"get": {
"tags": [
"docs"
],
"security": [],
"responses": {
"200": {
"description": "The docs UI for the OpenAPI schema.",
"content": {
"text/html": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request - the request could not be processed."
}
},
"summary": "Documentation Page",
"description": "Interactive API documentation.",
"operationId": "GetDocs"
}
},
"/pods": {
"post": {
"tags": [
"pods"
],
"summary": "Create a new Pod",
"description": "Creates a new [Pod](#/components/schemas/Pod) and optionally deploys it.",
"operationId": "CreatePod",
"requestBody": {
"description": "Input for Pod creation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PodCreateInput"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Pod successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pod"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
},
"get": {
"tags": [
"pods"
],
"summary": "List Pods",
"description": "Returns a list of Pods.",
"operationId": "ListPods",
"parameters": [
{
"name": "computeType",
"in": "query",
"schema": {
"type": "string",
"enum": [
"GPU",
"CPU"
],
"example": "CPU",
"description": "Filter to only GPU or only CPU Pods."
}
},
{
"name": "cpuFlavorId",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"cpu3c",
"cpu5g"
],
"description": "Filter to CPU Pods with any of the listed CPU flavors."
}
},
{
"name": "dataCenterId",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"EU-RO-1"
],
"description": "Filter to Pods located in any of the provided Runpod data centers."
}
},
{
"name": "desiredStatus",
"in": "query",
"schema": {
"type": "string",
"example": "RUNNING",
"enum": [
"RUNNING",
"EXITED",
"TERMINATED"
],
"description": "Filter to Pods currently in the provided state."
}
},
{
"name": "endpointId",
"in": "query",
"schema": {
"type": "string",
"maxLength": 191,
"description": "Filter to workers on the provided Serverless endpoint (note that endpoint workers are not included in the response by default, set includeWorkers to true to include them)."
},
"required": false
},
{
"name": "gpuTypeId",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"NVIDIA GeForce RTX 4090",
"NVIDIA RTX A5000"
],
"description": "Filter to Pods with any of the listed GPU types attached."
}
},
{
"name": "id",
"in": "query",
"schema": {
"type": "string",
"example": "xedezhzb9la3ye",
"description": "Filter to a specific Pod."
},
"required": false
},
{
"name": "imageName",
"in": "query",
"schema": {
"type": "string",
"example": "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04",
"description": "Filter to Pods created with the provided image."
},
"required": false
},
{
"name": "includeMachine",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the machine the Pod is running on."
}
},
{
"name": "includeNetworkVolume",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the network volume attached to the returned Pod, if any."
}
},
{
"name": "includeSavingsPlans",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the savings plans applied to the Pod."
}
},
{
"name": "includeTemplate",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the template the Pod uses, if any."
}
},
{
"name": "includeWorkers",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Set to true to also list Pods which are Serverless workers."
}
},
{
"name": "name",
"in": "query",
"schema": {
"type": "string",
"maxLength": 191,
"description": "Filter to Pods with the provided name."
},
"required": false
},
{
"name": "networkVolumeId",
"in": "query",
"schema": {
"type": "string",
"example": "agv6w2qcg7",
"description": "Filter to Pods with the provided network volume attached."
}
},
{
"name": "templateId",
"in": "query",
"schema": {
"type": "string",
"example": "30zmvf89kd",
"description": "Filter to Pods created from the provided template."
},
"required": false
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pods"
}
}
}
},
"400": {
"description": "Invalid ID supplied."
},
"404": {
"description": "Pod not found."
}
}
}
},
"/pods/{podId}": {
"get": {
"tags": [
"pods"
],
"summary": "Find a Pod by ID",
"description": "Returns a single Pod.",
"operationId": "GetPod",
"parameters": [
{
"name": "includeMachine",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the machine the Pod is running on."
}
},
{
"name": "includeNetworkVolume",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the network volume attached to the returned Pod, if any."
}
},
{
"name": "includeSavingsPlans",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the savings plans applied to the Pod."
}
},
{
"name": "includeTemplate",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the template the Pod uses, if any."
}
},
{
"name": "includeWorkers",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Set to true to also list Pods which are Serverless workers."
}
},
{
"name": "podId",
"in": "path",
"description": "ID of Pod to return.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pod"
}
}
}
},
"400": {
"description": "Invalid ID supplied."
},
"404": {
"description": "Pod not found."
}
}
},
"patch": {
"tags": [
"pods"
],
"summary": "Update a Pod",
"description": "Update a Pod, potentially triggering a reset.",
"operationId": "UpdatePod",
"requestBody": {
"description": "Form data to update a Pod.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PodUpdateInput"
}
}
},
"required": true
},
"parameters": [
{
"name": "podId",
"in": "path",
"description": "ID of Pod that needs to be updated.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Pod successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pod"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
},
"delete": {
"tags": [
"pods"
],
"summary": "Delete a Pod",
"description": "Delete a Pod.",
"operationId": "DeletePod",
"parameters": [
{
"name": "podId",
"in": "path",
"description": "Pod ID to delete.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Pod successfully deleted."
},
"400": {
"description": "Invalid Pod ID."
},
"401": {
"description": "Unauthorized."
}
}
}
},
"/pods/{podId}/update": {
"post": {
"tags": [
"pods"
],
"summary": "Update a Pod",
"description": "Update a Pod - synonym for PATCH /pods/{podId}.",
"operationId": "UpdatePod",
"requestBody": {
"description": "Form data to update a Pod.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PodUpdateInput"
}
}
},
"required": true
},
"parameters": [
{
"name": "podId",
"in": "path",
"description": "ID of Pod that needs to be updated.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Pod successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pod"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
}
},
"/pods/{podId}/start": {
"post": {
"tags": [
"pods"
],
"summary": "Start or resume a Pod",
"description": "Start or resume a Pod.",
"operationId": "StartPod",
"parameters": [
{
"name": "podId",
"in": "path",
"description": "Pod ID to start.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Pod successfully started."
},
"400": {
"description": "Invalid Pod ID."
},
"401": {
"description": "Unauthorized."
}
}
}
},
"/pods/{podId}/stop": {
"post": {
"tags": [
"pods"
],
"summary": "Stop a Pod",
"description": "Stop a Pod.",
"operationId": "StopPod",
"parameters": [
{
"name": "podId",
"in": "path",
"description": "Pod ID to stop.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Pod successfully stopped."
},
"400": {
"description": "Invalid Pod ID."
},
"401": {
"description": "Unauthorized."
}
}
}
},
"/pods/{podId}/reset": {
"post": {
"tags": [
"pods"
],
"summary": "Reset a Pod",
"description": "Reset a Pod.",
"operationId": "ResetPod",
"parameters": [
{
"name": "podId",
"in": "path",
"description": "Pod ID to reset.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Pod successfully reset."
},
"400": {
"description": "Invalid Pod ID."
},
"401": {
"description": "Unauthorized."
}
}
}
},
"/pods/{podId}/restart": {
"post": {
"tags": [
"pods"
],
"summary": "Restart a Pod",
"description": "Restart a Pod.",
"operationId": "RestartPod",
"parameters": [
{
"name": "podId",
"in": "path",
"description": "Pod ID to restart.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"400": {
"description": "Invalid Pod ID."
},
"401": {
"description": "Unauthorized."
}
}
}
},
"/endpoints": {
"post": {
"tags": [
"endpoints"
],
"summary": "Create a new endpoint",
"description": "Create a new endpoint.",
"operationId": "CreateEndpoint",
"requestBody": {
"description": "Create a new endpoint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointCreateInput"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoint"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
},
"get": {
"tags": [
"endpoints"
],
"summary": "List endpoints",
"description": "Returns a list of endpoints.",
"operationId": "ListEndpoints",
"parameters": [
{
"name": "includeTemplate",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the template used to create the endpoint."
}
},
{
"name": "includeWorkers",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the workers running on the endpoint."
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoints"
}
}
}
},
"400": {
"description": "Invalid ID supplied."
},
"404": {
"description": "Endpoint not found."
}
}
}
},
"/endpoints/{endpointId}": {
"get": {
"tags": [
"endpoints"
],
"summary": "Find an endpoint by ID",
"description": "Returns a single endpoint.",
"operationId": "GetEndpoint",
"parameters": [
{
"name": "endpointId",
"in": "path",
"description": "ID of endpoint to return.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "includeTemplate",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the template used to create the endpoint."
}
},
{
"name": "includeWorkers",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include information about the workers running on the endpoint."
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoint"
}
}
}
},
"400": {
"description": "Invalid ID supplied."
},
"404": {
"description": "Endpoint not found."
}
}
},
"patch": {
"tags": [
"endpoints"
],
"summary": "Update an endpoint",
"description": "Update an endpoint.",
"operationId": "UpdateEndpoint",
"requestBody": {
"description": "Update an endpoint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointUpdateInput"
}
}
},
"required": true
},
"parameters": [
{
"name": "endpointId",
"in": "path",
"description": "ID of endpoint that needs to be updated.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoint"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
},
"delete": {
"tags": [
"endpoints"
],
"summary": "Delete an endpoint",
"description": "Delete an endpoint.",
"operationId": "DeleteEndpoint",
"parameters": [
{
"name": "endpointId",
"in": "path",
"description": "Endpoint ID to delete.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Endpoint successfully deleted."
},
"400": {
"description": "Invalid endpoint ID."
},
"401": {
"description": "Unauthorized."
}
}
}
},
"/endpoints/{endpointId}/update": {
"post": {
"tags": [
"endpoints"
],
"summary": "Update an endpoint",
"description": "Update an endpoint - synonym for PATCH /endpoints/{endpointId}.",
"operationId": "UpdateEndpoint",
"requestBody": {
"description": "Update an endpoint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointUpdateInput"
}
}
},
"required": true
},
"parameters": [
{
"name": "endpointId",
"in": "path",
"description": "ID of endpoint that needs to be updated.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoint"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
}
},
"/templates": {
"post": {
"tags": [
"templates"
],
"summary": "Create a new template",
"description": "Create a new template.",
"operationId": "CreateTemplate",
"requestBody": {
"description": "Create a new template.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TemplateCreateInput"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Template"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
},
"get": {
"tags": [
"templates"
],
"summary": "List templates",
"description": "Returns a list of templates.",
"operationId": "ListTemplates",
"parameters": [
{
"name": "includeEndpointBoundTemplates",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include templates bound to Serverless endpoints in the response."
}
},
{
"name": "includePublicTemplates",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include community-made public templates in the response."
}
},
{
"name": "includeRunpodTemplates",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include official Runpod templates in the response."
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Templates"
}
}
}
},
"400": {
"description": "Invalid ID supplied."
},
"404": {
"description": "Template not found."
}
}
}
},
"/templates/{templateId}": {
"get": {
"tags": [
"templates"
],
"summary": "Find a template by ID",
"description": "Returns a single template.",
"operationId": "GetTemplate",
"parameters": [
{
"name": "includeEndpointBoundTemplates",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include templates bound to Serverless endpoints in the response."
}
},
{
"name": "includePublicTemplates",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include community-made public templates in the response."
}
},
{
"name": "includeRunpodTemplates",
"in": "query",
"schema": {
"type": "boolean",
"default": false,
"example": true,
"description": "Include official Runpod templates in the response."
}
},
{
"name": "templateId",
"in": "path",
"description": "ID of template to return.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Template"
}
}
}
},
"400": {
"description": "Invalid ID supplied."
},
"404": {
"description": "Template not found."
}
}
},
"patch": {
"tags": [
"templates"
],
"summary": "Update a template",
"description": "Update a template.",
"operationId": "UpdateTemplate",
"requestBody": {
"description": "Update a template.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TemplateUpdateInput"
}
}
},
"required": true
},
"parameters": [
{
"name": "templateId",
"in": "path",
"description": "ID of template that needs to be updated.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Template"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
},
"delete": {
"tags": [
"templates"
],
"summary": "Delete a template",
"description": "Delete a template.",
"operationId": "DeleteTemplate",
"parameters": [
{
"name": "templateId",
"in": "path",
"description": "Template ID to delete.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Template successfully deleted."
},
"400": {
"description": "Invalid template ID."
},
"401": {
"description": "Unauthorized."
}
}
}
},
"/templates/{templateId}/update": {
"post": {
"tags": [
"templates"
],
"summary": "Update a template",
"description": "Update a template - synonym for PATCH /templates/{templateId}.",
"operationId": "UpdateTemplate",
"requestBody": {
"description": "Update a template.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TemplateUpdateInput"
}
}
},
"required": true
},
"parameters": [
{
"name": "templateId",
"in": "path",
"description": "ID of template that needs to be updated.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Template"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
}
},
"/networkvolumes": {
"post": {
"tags": [
"network volumes"
],
"summary": "Create a new network volume",
"description": "Create a new network volume.",
"operationId": "CreateNetworkVolume",
"requestBody": {
"description": "Create a new network volume.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NetworkVolumeCreateInput"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NetworkVolume"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
},
"get": {
"tags": [
"network volumes"
],
"summary": "List network volumes",
"description": "Returns a list of network volumes.",
"operationId": "ListNetworkVolumes",
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NetworkVolumes"
}
}
}
},
"400": {
"description": "Invalid ID supplied."
},
"404": {
"description": "Network volume not found."
}
}
}
},
"/networkvolumes/{networkVolumeId}": {
"get": {
"tags": [
"network volumes"
],
"summary": "Find a network volume by ID",
"description": "Returns a single network volume.",
"operationId": "GetNetworkVolume",
"parameters": [
{
"name": "networkVolumeId",
"in": "path",
"description": "ID of network volume to return.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NetworkVolume"
}
}
}
},
"400": {
"description": "Invalid ID supplied."
},
"404": {
"description": "Network volume not found."
}
}
},
"patch": {
"tags": [
"network volumes"
],
"summary": "Update a network volume",
"description": "Update a network volume.",
"operationId": "UpdateNetworkVolume",
"requestBody": {
"description": "Update a network volume.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NetworkVolumeUpdateInput"
}
}
},
"required": true
},
"parameters": [
{
"name": "networkVolumeId",
"in": "path",
"description": "ID of network volume that needs to be updated.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NetworkVolume"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
},
"delete": {
"tags": [
"network volumes"
],
"summary": "Delete a network volume",
"description": "Delete a network volume.",
"operationId": "DeleteNetworkVolume",
"parameters": [
{
"name": "networkVolumeId",
"in": "path",
"description": "Network volume ID to delete.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Network volume successfully deleted."
},
"400": {
"description": "Invalid network volume ID."
},
"401": {
"description": "Unauthorized."
}
}
}
},
"/networkvolumes/{networkVolumeId}/update": {
"post": {
"tags": [
"network volumes"
],
"summary": "Update a network volume",
"description": "Update a network volume - synonym for PATCH /networkvolumes/{networkVolumeId}.",
"operationId": "UpdateNetworkVolume",
"requestBody": {
"description": "Update a network volume.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NetworkVolumeUpdateInput"
}
}
},
"required": true
},
"parameters": [
{
"name": "networkVolumeId",
"in": "path",
"description": "ID of network volume that needs to be updated.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NetworkVolume"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
}
},
"/containerregistryauth": {
"post": {
"tags": [
"container registry auths"
],
"summary": "Create a new container registry auth",
"description": "Create a new container registry auth.",
"operationId": "CreateContainerRegistryAuth",
"requestBody": {
"description": "Create a new container registry auth.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContainerRegistryAuthCreateInput"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContainerRegistryAuth"
}
}
}
},
"400": {
"description": "Invalid input."
}
}
},
"get": {
"tags": [
"container registry auths"
],
"summary": "List container registry auths",
"description": "Returns a list of container registry auths.",
"operationId": "ListContainerRegistryAuths",
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContainerRegistryAuths"
}
}
}
},
"400": {
"description": "Invalid ID supplied."
},
"404": {
"description": "Container registry auth not found."
}
}
}
},
"/containerregistryauth/{containerRegistryAuthId}": {
"get": {
"tags": [
"container registry auths"
],
"summary": "Find a container registry auth by ID",
"description": "Returns a single container registry auth.",
"operationId": "GetContainerRegistryAuth",
"parameters": [
{
"name": "containerRegistryAuthId",
"in": "path",
"description": "ID of container registry auth to return.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContainerRegistryAuth"
}
}
}
},
"400": {
"description": "Invalid ID supplied."
},
"404": {
"description": "Container registry auth not found."
}
}
},
"delete": {
"tags": [
"container registry auths"
],
"summary": "Delete a container registry auth",
"description": "Delete a container registry auth.",
"operationId": "DeleteContainerRegistryAuth",
"parameters": [
{
"name": "containerRegistryAuthId",
"in": "path",
"description": "Container registry auth ID to delete.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Container registry auth successfully deleted."
},
"400": {
"description": "Invalid container registry auth ID."
},
"401": {
"description": "Unauthorized."
}
}
}
},
"/billing/pods": {
"get": {
"tags": [
"billing"
],
"summary": "Pod billing history",
"description": "Retrieve billing information about your Pods.",
"operationId": "PodBilling",
"parameters": [
{
"name": "bucketSize",
"in": "query",
"schema": {
"type": "string",
"enum": [
"hour",
"day",
"week",
"month",
"year"
],
"default": "day",
"description": "The length of each billing time bucket. The billing time bucket is the time range over which each billing record is aggregated."
}
},
{
"name": "endTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time",
"example": "2023-01-31T23:59:59Z",
"description": "The end date of the billing period to retrieve."
}
},
{
"name": "gpuTypeId",
"in": "query",
"schema": {
"type": "string",
"enum": [
"NVIDIA GeForce RTX 4090",
"NVIDIA A40",
"NVIDIA RTX A5000",
"NVIDIA GeForce RTX 5090",
"NVIDIA H100 80GB HBM3",
"NVIDIA GeForce RTX 3090",
"NVIDIA RTX A4500",
"NVIDIA L40S",
"NVIDIA H200",
"NVIDIA L4",
"NVIDIA RTX 6000 Ada Generation",
"NVIDIA A100-SXM4-80GB",
"NVIDIA RTX 4000 Ada Generation",
"NVIDIA RTX A6000",
"NVIDIA A100 80GB PCIe",
"NVIDIA RTX 2000 Ada Generation",
"NVIDIA RTX A4000",
"NVIDIA RTX PRO 6000 Blackwell Server Edition",
"NVIDIA H100 PCIe",
"NVIDIA H100 NVL",
"NVIDIA L40",
"NVIDIA B200",
"NVIDIA GeForce RTX 3080 Ti",
"NVIDIA RTX PRO 6000 Blackwell Workstation Edition",
"NVIDIA GeForce RTX 3080",
"NVIDIA GeForce RTX 3070",
"AMD Instinct MI300X OAM",
"NVIDIA GeForce RTX 4080 SUPER",
"Tesla V100-PCIE-16GB",
"Tesla V100-SXM2-32GB",
"NVIDIA RTX 5000 Ada Generation",
"NVIDIA GeForce RTX 4070 Ti",
"NVIDIA RTX 4000 SFF Ada Generation",
"NVIDIA GeForce RTX 3090 Ti",
"NVIDIA RTX A2000",
"NVIDIA GeForce RTX 4080",
"NVIDIA A30",
"NVIDIA GeForce RTX 5080",
"Tesla V100-FHHL-16GB",
"NVIDIA H200 NVL",
"Tesla V100-SXM2-16GB",
"NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition",
"NVIDIA A5000 Ada",
"Tesla V100-PCIE-32GB",
"NVIDIA RTX A4500",
"NVIDIA A30",
"NVIDIA GeForce RTX 3080TI",
"Tesla T4",
"NVIDIA RTX A30"
],
"example": "NVIDIA GeForce RTX 4090",
"description": "Filter to Pods with the provided GPU type attached."
}
},
{
"name": "grouping",
"in": "query",
"schema": {
"type": "string",
"enum": [
"podId",
"gpuTypeId"
],
"default": "gpuTypeId",
"description": "Group the billing records by the provided field."
}
},
{
"name": "podId",
"in": "query",
"schema": {
"type": "string",
"example": "xedezhzb9la3ye",
"description": "Filter to a specific Pod."
}
},
{
"name": "startTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time",
"example": "2023-01-01T00:00:00Z",
"description": "The start date of the billing period to retrieve."
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BillingRecords"
}
}
}
}
}
}
},
"/billing/endpoints": {
"get": {
"tags": [
"billing"
],
"summary": "Serverless billing history",
"description": "Retrieve billing information about your Serverless endpoints.",
"operationId": "EndpointBilling",
"parameters": [
{
"name": "bucketSize",
"in": "query",
"schema": {
"type": "string",
"enum": [
"hour",
"day",
"week",
"month",
"year"
],
"default": "day",
"description": "The length of each billing time bucket. The billing time bucket is the time range over which each billing record is aggregated."
}
},
{
"name": "dataCenterId",
"in": "query",
"schema": {
"type": "array",
"example": [
"EU-RO-1",
"CA-MTL-1"
],
"default": [
"EU-RO-1",
"CA-MTL-1",
"EU-SE-1",
"US-IL-1",
"EUR-IS-1",
"EU-CZ-1",
"US-TX-3",
"EUR-IS-2",
"US-KS-2",
"US-GA-2",
"US-WA-1",
"US-TX-1",
"CA-MTL-3",
"EU-NL-1",
"US-TX-4",
"US-CA-2",
"US-NC-1",
"OC-AU-1",
"US-DE-1",
"EUR-IS-3",
"CA-MTL-2",
"AP-JP-1",
"EUR-NO-1",
"EU-FR-1",
"US-KS-3",
"US-GA-1"
],
"items": {
"type": "string",
"enum": [
"EU-RO-1",
"CA-MTL-1",
"EU-SE-1",
"US-IL-1",
"EUR-IS-1",
"EU-CZ-1",
"US-TX-3",
"EUR-IS-2",
"US-KS-2",
"US-GA-2",
"US-WA-1",
"US-TX-1",
"CA-MTL-3",
"EU-NL-1",
"US-TX-4",
"US-CA-2",
"US-NC-1",
"OC-AU-1",
"US-DE-1",
"EUR-IS-3",
"CA-MTL-2",
"AP-JP-1",
"EUR-NO-1",
"EU-FR-1",
"US-KS-3",
"US-GA-1"
]
},
"description": "Filter to endpoints located in any of the provided Runpod data centers. The data center IDs are listed in the response of the /pods endpoint."
}
},
{
"name": "endpointId",
"in": "query",
"schema": {
"type": "string",
"example": "jpnw0v75y3qoql",
"description": "Filter to a specific endpoint."
}
},
{
"name": "endTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time",
"example": "2023-01-31T23:59:59Z",
"description": "The end date of the billing period to retrieve."
}
},
{
"name": "gpuTypeId",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"NVIDIA GeForce RTX 4090",
"NVIDIA A40",
"NVIDIA RTX A5000",
"NVIDIA GeForce RTX 5090",
"NVIDIA H100 80GB HBM3",
"NVIDIA GeForce RTX 3090",
"NVIDIA RTX A4500",
"NVIDIA L40S",
"NVIDIA H200",
"NVIDIA L4",
"NVIDIA RTX 6000 Ada Generation",
"NVIDIA A100-SXM4-80GB",
"NVIDIA RTX 4000 Ada Generation",
"NVIDIA RTX A6000",
"NVIDIA A100 80GB PCIe",
"NVIDIA RTX 2000 Ada Generation",
"NVIDIA RTX A4000",
"NVIDIA RTX PRO 6000 Blackwell Server Edition",
"NVIDIA H100 PCIe",
"NVIDIA H100 NVL",
"NVIDIA L40",
"NVIDIA B200",
"NVIDIA GeForce RTX 3080 Ti",
"NVIDIA RTX PRO 6000 Blackwell Workstation Edition",
"NVIDIA GeForce RTX 3080",
"NVIDIA GeForce RTX 3070",
"AMD Instinct MI300X OAM",
"NVIDIA GeForce RTX 4080 SUPER",
"Tesla V100-PCIE-16GB",
"Tesla V100-SXM2-32GB",
"NVIDIA RTX 5000 Ada Generation",
"NVIDIA GeForce RTX 4070 Ti",
"NVIDIA RTX 4000 SFF Ada Generation",
"NVIDIA GeForce RTX 3090 Ti",
"NVIDIA RTX A2000",
"NVIDIA GeForce RTX 4080",
"NVIDIA A30",
"NVIDIA GeForce RTX 5080",
"Tesla V100-FHHL-16GB",
"NVIDIA H200 NVL",
"Tesla V100-SXM2-16GB",
"NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition",
"NVIDIA A5000 Ada",
"Tesla V100-PCIE-32GB",
"NVIDIA RTX A4500",
"NVIDIA A30",
"NVIDIA GeForce RTX 3080TI",
"Tesla T4",
"NVIDIA RTX A30"
]
},
"example": "NVIDIA GeForce RTX 4090",
"description": "Filter to endpoints with the provided GPU type attached."
}
},
{
"name": "grouping",
"in": "query",
"schema": {
"type": "string",
"enum": [
"endpointId",
"podId",
"gpuTypeId"
],
"default": "endpointId",
"description": "Group the billing records by the provided field."
}
},
{
"name": "imageName",
"in": "query",
"schema": {
"type": "string",
"example": "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04",
"description": "Filter to endpoints created with the provided image."
}
},
{
"name": "startTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time",
"example": "2023-01-01T00:00:00Z",
"description": "The start date of the billing period to retrieve."
}
},
{
"name": "templateId",
"in": "query",
"schema": {
"type": "string",
"example": "30zmvf89kd",
"description": "Filter to endpoints created from the provided template."
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BillingRecords"
}
}
}
}
}
}
},
"/billing/networkvolumes": {
"get": {
"tags": [
"billing"
],
"summary": "Network volume billing history",
"description": "Retrieve billing information about your network volumes.",
"operationId": "NetworkVolumeBilling",
"parameters": [
{
"name": "bucketSize",
"in": "query",
"schema": {
"type": "string",
"enum": [
"hour",
"day",
"week",
"month",
"year"
],
"default": "day",
"description": "The length of each billing time bucket. The billing time bucket is the time range over which each billing record is aggregated."
}
},
{
"name": "endTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time",
"example": "2023-01-31T23:59:59Z",
"description": "The end date of the billing period to retrieve."
}
},
{
"name": "startTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time",
"example": "2023-01-01T00:00:00Z",
"description": "The start date of the billing period to retrieve."
}
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NetworkVolumeBillingRecords"
}
}
}
}
}
}
}
},
"components": {
"securitySchemes": {
"ApiKey": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "Bearer"
}
},
"schemas": {
"Pods": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Pod"
}
},
"Pod": {
"type": "object",
"properties": {
"adjustedCostPerHr": {
"type": "number",
"example": 0.69,
"description": "The effective cost in Runpod credits per hour of running a Pod, adjusted by active Savings Plans."
},
"aiApiId": {
"type": "string",
"example": null,
"description": "Synonym for endpointId (legacy name)."
},
"consumerUserId": {
"type": "string",
"example": "user_2PyTJrLzeuwfZilRZ7JhCQDuSqo",
"description": "A unique string identifying the Runpod user who rents a Pod."
},
"containerDiskInGb": {
"type": "integer",
"example": 50,
"description": "The amount of disk space, in gigabytes (GB), to allocate on the container disk for a Pod. The data on the container disk is wiped when the Pod restarts. To persist data across Pod restarts, set volumeInGb to configure the Pod network volume."
},
"containerRegistryAuthId": {
"type": "string",
"example": "clzdaifot0001l90809257ynb",
"description": "If a Pod is created with a container registry auth, the unique string identifying that container registry auth."
},
"costPerHr": {
"type": "number",
"example": "0.74",
"format": "currency",
"description": "The cost in Runpod credits per hour of running a Pod. Note that the actual cost may be lower if Savings Plans are applied."
},
"cpuFlavorId": {
"type": "string",
"example": "cpu3c",
"description": "If the Pod is a CPU Pod, the unique string identifying the CPU flavor the Pod is running on."
},
"desiredStatus": {
"type": "string",
"enum": [
"RUNNING",
"EXITED",
"TERMINATED"
],
"description": "The current expected status of a Pod."
},
"dockerEntrypoint": {
"type": "array",
"items": {
"type": "string"
},
"description": "If specified, overrides the ENTRYPOINT for the Docker image run on the created Pod. If [], uses the ENTRYPOINT defined in the image."
},
"dockerStartCmd": {
"type": "array",
"items": {
"type": "string"
},
"description": "If specified, overrides the start CMD for the Docker image run on the created Pod. If [], uses the start CMD defined in the image."
},
"endpointId": {
"type": "string",
"example": null,
"description": "If the Pod is a Serverless worker, a unique string identifying the associated endpoint."
},
"env": {
"type": "object",
"items": {
"type": "string"
},
"example": {
"ENV_VAR": "value"
},
"default": {}
},
"gpu": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"count": {
"type": "integer",
"example": 1,
"description": "The number of GPUs attached to a Pod."
},
"displayName": {
"type": "string"
},
"securePrice": {
"type": "number"
},
"communityPrice": {
"type": "number"
},
"oneMonthPrice": {
"type": "number"
},
"threeMonthPrice": {
"type": "number"
},
"sixMonthPrice": {
"type": "number"
},
"oneWeekPrice": {
"type": "number"
},
"communitySpotPrice": {
"type": "number"
},
"secureSpotPrice": {
"type": "number"
}
}
},
"id": {
"type": "string",
"example": "xedezhzb9la3ye",
"description": "A unique string identifying a [Pod](#/components/schema/Pod)."
},
"image": {
"type": "string",
"example": "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04",
"description": "The image tag for the container run on a Pod."
},
"interruptible": {
"type": "boolean",
"example": false,
"description": "Describes how a Pod is rented. An interruptible Pod can be rented at a lower cost but can be stopped at any time to free up resources for another Pod. A reserved Pod is rented at a higher cost but runs until it exits or is manually stopped."
},
"lastStartedAt": {
"type": "string",
"example": "2024-07-12T19:14:40.144Z",
"description": "The UTC timestamp when a Pod was last started."
},
"lastStatusChange": {
"type": "string",
"example": "Rented by User: Fri Jul 12 2024 15:14:40 GMT-0400 (Eastern Daylight Time)",
"description": "A string describing the last lifecycle event on a Pod."
},
"locked": {
"type": "boolean",
"example": false,
"description": "Set to true to lock a Pod. Locking a Pod disables stopping or resetting the Pod."
},
"machine": {
"type": "object",
"properties": {
"minPodGpuCount": {
"type": "integer"
},
"gpuTypeId": {
"type": "string"
},
"gpuType": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"count": {
"type": "integer",
"example": 1,
"description": "The number of GPUs attached to a Pod."
},
"displayName": {
"type": "string"
},
"securePrice": {
"type": "number"
},
"communityPrice": {
"type": "number"
},
"oneMonthPrice": {
"type": "number"
},
"threeMonthPrice": {
"type": "number"
},
"sixMonthPrice": {
"type": "number"
},
"oneWeekPrice": {
"type": "number"
},
"communitySpotPrice": {
"type": "number"
},
"secureSpotPrice": {
"type": "number"
}
}
},
"cpuCount": {
"type": "integer"
},
"cpuTypeId": {
"type": "string"
},
"cpuType": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"displayName": {
"type": "string"
},
"cores": {
"type": "number"
},
"threadsPerCore": {
"type": "number"
},
"groupId": {
"type": "string"
}
}
},
"location": {
"type": "string"
},
"dataCenterId": {
"type": "string"
},
"diskThroughputMBps": {
"type": "integer"
},
"maxDownloadSpeedMbps": {
"type": "integer"
},
"maxUploadSpeedMbps": {
"type": "integer"
},
"supportPublicIp": {
"type": "boolean"
},
"secureCloud": {
"type": "boolean"
},
"maintenanceStart": {
"type": "string"
},
"maintenanceEnd": {
"type": "string"
},
"maintenanceNote": {
"type": "string"
},
"note": {
"type": "string"
},
"costPerHr": {
"type": "number"
},
"currentPricePerGpu": {
"type": "number"
},
"gpuAvailable": {
"type": "integer"
},
"gpuDisplayName": {
"type": "string"
}
},
"description": "Information about the machine a Pod is running on (see [Machine](#/components/schemas/Machine))."
},
"machineId": {
"type": "string",
"example": "s194cr8pls2z",
"description": "A unique string identifying the host machine a Pod is running on."
},
"memoryInGb": {
"type": "number",
"example": 62,
"description": "The amount of RAM, in gigabytes (GB), attached to a Pod."
},
"name": {
"type": "string",
"maxLength": 191,
"description": "A user-defined name for the created Pod. The name does not need to be unique."
},
"networkVolume": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "agv6w2qcg7",
"description": "A unique string identifying a network volume."
},
"name": {
"type": "string",
"example": "my network volume",
"description": "A user-defined name for a network volume. The name does not need to be unique."
},
"size": {
"type": "integer",
"example": 50,
"description": "The amount of disk space, in gigabytes (GB), allocated to a network volume."
},
"dataCenterId": {
"type": "string",
"example": "EU-RO-1",
"description": "The Runpod data center ID where a network volume is located."
}
},
"description": "If a network volume is attached to a Pod, information about the network volume (see [network volume schema](#/components/schemas/NetworkVolume))."
},
"portMappings": {
"type": "object",
"nullable": true,
"items": {
"type": "integer"
},
"example": {
"22": 10341
},
"description": "A mapping of internal ports to public ports on a Pod. For example, { \"22\": 10341 } means that port 22 on the Pod is mapped to port 10341 and is publicly accessible at [public ip]:10341. If the Pod is still initializing, this mapping is not yet determined and will be empty."
},
"ports": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"8888/http",
"22/tcp"
],
"description": "A list of ports exposed on a Pod. Each port is formatted as [port number]/[protocol]. Protocol can be either http or tcp."
},
"publicIp": {
"type": "string",
"example": "100.65.0.119",
"format": "ipv4",
"nullable": true,
"description": "The public IP address of a Pod. If the Pod is still initializing, this IP is not yet determined and will be empty."
},
"savingsPlans": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SavingsPlan"
},
"description": "The list of active Savings Plans applied to a Pod (see [Savings Plans](#/components/schemas/SavingsPlan)). If none are applied, the list is empty."
},
"slsVersion": {
"type": "integer",
"example": 0,
"description": "If the Pod is a Serverless worker, the version of the associated endpoint (see [Endpoint Version](#/components/schemas/Endpoint/version))."
},
"templateId": {
"type": "string",
"example": null,
"description": "If a Pod is created with a template, the unique string identifying that template."
},
"vcpuCount": {
"type": "number",
"example": 24,
"description": "The number of virtual CPUs attached to a Pod."
},
"volumeEncrypted": {
"type": "boolean",
"example": false,
"description": "Set to true if the local network volume of a Pod is encrypted. Can only be set when creating a Pod."
},
"volumeInGb": {
"type": "integer",
"example": 20,
"description": "The amount of disk space, in gigabytes (GB), to allocate on the Pod volume for a Pod. The data on the Pod volume is persisted across Pod restarts. To persist data so that future Pods can access it, create a network volume and set networkVolumeId to attach it to the Pod."
},
"volumeMountPath": {
"type": "string",
"example": "/workspace",
"description": "If either a Pod volume or a network volume is attached to a Pod, the absolute path where the network volume is mounted in the filesystem."
}
}
},
"PodUpdateInPlaceInput": {
"type": "object",
"properties": {
"locked": {
"type": "boolean",
"default": false,
"description": "Set to true to lock a Pod. Locking a Pod disables stopping or resetting the Pod."
},
"name": {
"type": "string",
"default": "my pod",
"description": "A user-defined name for the created Pod. The name does not need to be unique.",
"maxLength": 191
}
}
},
"PodUpdateInput": {
"type": "object",
"description": "Input for updating a Pod which will trigger a reset.",
"properties": {
"containerDiskInGb": {
"type": "integer",
"default": 50,
"nullable": true,
"description": "The amount of disk space, in gigabytes (GB), to allocate on the container disk for the created Pod. The data on the container disk is wiped when the Pod restarts. To persist data across Pod restarts, set volumeInGb to configure the Pod network volume."
},
"containerRegistryAuthId": {
"type": "string",
"description": "Registry credentials ID.",
"example": "clzdaifot0001l90809257ynb"
},
"dockerEntrypoint": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "If specified, overrides the ENTRYPOINT for the Docker image run on the created Pod. If [], uses the ENTRYPOINT defined in the image."
},
"dockerStartCmd": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "If specified, overrides the start CMD for the Docker image run on the created Pod. If [], uses the start CMD defined in the image."
},
"env": {
"type": "object",
"items": {
"type": "string"
},
"example": {
"ENV_VAR": "value"
},
"default": {}
},
"globalNetworking": {
"type": "boolean",
"default": false,
"example": true,
"description": "Set to true to enable global networking for the created Pod. Currently only available for On-Demand GPU Pods on some Secure Cloud data centers."
},
"imageName": {
"type": "string",
"example": "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04",
"description": "The image tag for the container run on the created Pod."
},
"locked": {
"type": "boolean",
"default": false,
"description": "Set to true to lock a Pod. Locking a Pod disables stopping or resetting the Pod."
},
"name": {
"type": "string",
"default": "my pod",
"description": "A user-defined name for the created Pod. The name does not need to be unique.",
"maxLength": 191
},
"ports": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"8888/http",
"22/tcp"
],
"default": "8888/http,22/tcp",
"description": "A list of ports exposed on the created Pod. Each port is formatted as [port number]/[protocol]. Protocol can be either http or tcp."
},
"volumeInGb": {
"type": "integer",
"default": 20,
"nullable": true,
"description": "The amount of disk space, in gigabytes (GB), to allocate on the Pod volume for the created Pod. The data on the Pod volume is persisted across Pod restarts. To persist data so that future Pods can access it, create a network volume and set networkVolumeId to attach it to the Pod."
},
"volumeMountPath": {
"type": "string",
"default": "/workspace",
"description": "If either a Pod volume or a network volume is attached to a Pod, the absolute path where the network volume will be mounted in the filesystem."
}
}
},
"PodCreateInput": {
"type": "object",
"properties": {
"allowedCudaVersions": {
"type": "array",
"description": "If the created Pod is a GPU Pod, a list of acceptable CUDA versions on the [Pod](#/components/schemas/Pod). If not set, any CUDA version is acceptable.",
"items": {
"type": "string",
"enum": [
"13.0",
"12.9",
"12.8",
"12.7",
"12.6",
"12.5",
"12.4",
"12.3",
"12.2",
"12.1",
"12.0",
"11.8"
]
}
},
"cloudType": {
"type": "string",
"default": "SECURE",
"enum": [
"SECURE",
"COMMUNITY"
],
"description": "Set to SECURE to create the Pod in Secure Cloud. Set to COMMUNITY to create the Pod in Community Cloud. To determine which one suits your needs, see https://docs.runpod.io/pods/overview#pod-types."
},
"computeType": {
"type": "string",
"default": "GPU",
"enum": [
"GPU",
"CPU"
],
"description": "Set to GPU to create a GPU Pod. Set to CPU to create a CPU Pod. If set to CPU, the Pod will not have a GPU attached and properties related to GPUs such as gpuTypeIds will be ignored. If set to GPU, the Pod will have a GPU attached and properties related to CPUs such as cpuFlavorIds will be ignored."
},
"containerDiskInGb": {
"type": "integer",
"default": 50,
"nullable": true,
"description": "The amount of disk space, in gigabytes (GB), to allocate on the container disk for the created Pod. The data on the container disk is wiped when the Pod restarts. To persist data across Pod restarts, set volumeInGb to configure the Pod network volume."
},
"containerRegistryAuthId": {
"type": "string",
"description": "Registry credentials ID.",
"example": "clzdaifot0001l90809257ynb"
},
"countryCodes": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of country codes where the created Pod can be located. If not set, the Pod can be located in any country."
},
"cpuFlavorIds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"cpu3c",
"cpu3g",
"cpu3m",
"cpu5c",
"cpu5g",
"cpu5m"
]
},
"description": "If the created Pod is a CPU Pod, a list of Runpod CPU flavors which can be attached to the Pod. The order of the list determines the order to rent CPU flavors. See cpuFlavorPriority for how the order of the list affects Pod creation."
},
"cpuFlavorPriority": {
"type": "string",
"default": "availability",
"enum": [
"availability",
"custom"
],
"description": "If the created Pod is a CPU Pod, set to availability to respond to current CPU flavor availability. Set to custom to always try to rent CPU flavors in the order specified in cpuFlavorIds."
},
"dataCenterIds": {
"type": "array",
"example": [
"EU-RO-1",
"CA-MTL-1"
],
"default": [
"EU-RO-1",
"CA-MTL-1",
"EU-SE-1",
"US-IL-1",
"EUR-IS-1",
"EU-CZ-1",
"US-TX-3",
"EUR-IS-2",
"US-KS-2",
"US-GA-2",
"US-WA-1",
"US-TX-1",
"CA-MTL-3",
"EU-NL-1",
"US-TX-4",
"US-CA-2",
"US-NC-1",
"OC-AU-1",
"US-DE-1",
"EUR-IS-3",
"CA-MTL-2",
"AP-JP-1",
"EUR-NO-1",
"EU-FR-1",
"US-KS-3",
"US-GA-1"
],
"items": {
"type": "string",
"enum": [
"EU-RO-1",
"CA-MTL-1",
"EU-SE-1",
"US-IL-1",
"EUR-IS-1",
"EU-CZ-1",
"US-TX-3",
"EUR-IS-2",
"US-KS-2",
"US-GA-2",
"US-WA-1",
"US-TX-1",
"CA-MTL-3",
"EU-NL-1",
"US-TX-4",
"US-CA-2",
"US-NC-1",
"OC-AU-1",
"US-DE-1",
"EUR-IS-3",
"CA-MTL-2",
"AP-JP-1",
"EUR-NO-1",
"EU-FR-1",
"US-KS-3",
"US-GA-1"
]
},
"description": "A list of Runpod data center IDs where the created Pod can be located. See `dataCenterPriority` for information on how the order of the list affects Pod creation."
},
"dataCenterPriority": {
"type": "string",
"default": "availability",
"enum": [
"availability",
"custom"
],
"description": "Set to availability to respond to current machine availability. Set to custom to always try to rent machines from data centers in the order specified in dataCenterIds."
},
"dockerEntrypoint": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "If specified, overrides the ENTRYPOINT for the Docker image run on the created Pod. If [], uses the ENTRYPOINT defined in the image."
},
"dockerStartCmd": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "If specified, overrides the start CMD for the Docker image run on the created Pod. If [], uses the start CMD defined in the image."
},
"env": {
"type": "object",
"items": {
"type": "string"
},
"example": {
"ENV_VAR": "value"
},
"default": {}
},
"globalNetworking": {
"type": "boolean",
"default": false,
"example": true,
"description": "Set to true to enable global networking for the created Pod. Currently only available for On-Demand GPU Pods on some Secure Cloud data centers."
},
"gpuCount": {
"type": "integer",
"default": 1,
"description": "If the created Pod is a GPU Pod, the number of GPUs attached to the created Pod.",
"minimum": 1
},
"gpuTypeIds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"NVIDIA GeForce RTX 4090",
"NVIDIA A40",
"NVIDIA RTX A5000",
"NVIDIA GeForce RTX 5090",
"NVIDIA H100 80GB HBM3",
"NVIDIA GeForce RTX 3090",
"NVIDIA RTX A4500",
"NVIDIA L40S",
"NVIDIA H200",
"NVIDIA L4",
"NVIDIA RTX 6000 Ada Generation",
"NVIDIA A100-SXM4-80GB",
"NVIDIA RTX 4000 Ada Generation",
"NVIDIA RTX A6000",
"NVIDIA A100 80GB PCIe",
"NVIDIA RTX 2000 Ada Generation",
"NVIDIA RTX A4000",
"NVIDIA RTX PRO 6000 Blackwell Server Edition",
"NVIDIA H100 PCIe",
"NVIDIA H100 NVL",
"NVIDIA L40",
"NVIDIA B200",
"NVIDIA GeForce RTX 3080 Ti",
"NVIDIA RTX PRO 6000 Blackwell Workstation Edition",
"NVIDIA GeForce RTX 3080",
"NVIDIA GeForce RTX 3070",
"AMD Instinct MI300X OAM",
"NVIDIA GeForce RTX 4080 SUPER",
"Tesla V100-PCIE-16GB",
"Tesla V100-SXM2-32GB",
"NVIDIA RTX 5000 Ada Generation",
"NVIDIA GeForce RTX 4070 Ti",
"NVIDIA RTX 4000 SFF Ada Generation",
"NVIDIA GeForce RTX 3090 Ti",
"NVIDIA RTX A2000",
"NVIDIA GeForce RTX 4080",
"NVIDIA A30",
"NVIDIA GeForce RTX 5080",
"Tesla V100-FHHL-16GB",
"NVIDIA H200 NVL",
"Tesla V100-SXM2-16GB",
"NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition",
"NVIDIA A5000 Ada",
"Tesla V100-PCIE-32GB",
"NVIDIA RTX A4500",
"NVIDIA A30",
"NVIDIA GeForce RTX 3080TI",
"Tesla T4",
"NVIDIA RTX A30"
]
},
"description": "If the created Pod is a GPU Pod, a list of Runpod GPU types which can be attached to the created Pod. The order of the list determines the order to rent GPU types. See `gpuTypePriority` for information on how the order of the list affects Pod creation."
},
"gpuTypePriority": {
"type": "string",
"default": "availability",
"enum": [
"availability",
"custom"
],
"description": "If the created Pod is a GPU Pod, set to availability to respond to current GPU type availability. Set to custom to always try to rent GPU types in the order specified in gpuTypeIds."
},
"imageName": {
"type": "string",
"example": "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04",
"description": "The image tag for the container run on the created Pod."
},
"interruptible": {
"type": "boolean",
"default": false,
"description": "Set to true to create an interruptible or spot Pod. An interruptible Pod can be rented at a lower cost but can be stopped at any time to free up resources for another Pod. A reserved Pod is rented at a higher cost but runs until it exits or is manually stopped."
},
"locked": {
"type": "boolean",
"default": false,
"description": "Set to true to lock a Pod. Locking a Pod disables stopping or resetting the Pod."
},
"minDiskBandwidthMBps": {
"type": "number",
"description": "The minimum disk bandwidth, in megabytes per second (MBps), for the created Pod."
},
"minDownloadMbps": {
"type": "number",
"description": "The minimum download speed, in megabits per second (Mbps), for the created Pod."
},
"minRAMPerGPU": {
"type": "integer",
"default": 8,
"description": "If the created Pod is a GPU Pod, the minimum amount of RAM, in gigabytes (GB), allocated to the created Pod for each GPU attached to the Pod."
},
"minUploadMbps": {
"type": "number",
"description": "The minimum upload speed, in megabits per second (Mbps), for the created Pod."
},
"minVCPUPerGPU": {
"type": "integer",
"default": 2,
"description": "If the created Pod is a GPU Pod, the minimum number of virtual CPUs allocated to the created Pod for each GPU attached to the Pod."
},
"name": {
"type": "string",
"default": "my pod",
"description": "A user-defined name for the created Pod. The name does not need to be unique.",
"maxLength": 191
},
"networkVolumeId": {
"type": "string",
"description": "The unique string identifying the network volume to attach to the created Pod. If attached, a network volume replaces the Pod network volume."
},
"ports": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"8888/http",
"22/tcp"
],
"default": "8888/http,22/tcp",
"description": "A list of ports exposed on the created Pod. Each port is formatted as [port number]/[protocol]. Protocol can be either http or tcp."
},
"supportPublicIp": {
"type": "boolean",
"example": true,
"description": "If the created Pod is on Community Cloud, set to true if you need the Pod to expose a public IP address. If null, the Pod might not have a public IP address. On Secure Cloud, the Pod will always have a public IP address."
},
"templateId": {
"type": "string",
"example": null,
"description": "If the Pod is created with a template, the unique string identifying that template."
},
"vcpuCount": {
"type": "integer",
"default": 2,
"description": "If the created Pod is a CPU Pod, the number of vCPUs allocated to the Pod."
},
"volumeInGb": {
"type": "integer",
"default": 20,
"nullable": true,
"description": "The amount of disk space, in gigabytes (GB), to allocate on the Pod volume for the created Pod. The data on the Pod volume is persisted across Pod restarts. To persist data so that future Pods can access it, create a network volume and set networkVolumeId to attach it to the Pod."
},
"volumeMountPath": {
"type": "string",
"default": "/workspace",
"description": "If either a Pod volume or a network volume is attached to a Pod, the absolute path where the network volume will be mounted in the filesystem."
}
}
},
"NetworkVolumes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "agv6w2qcg7",
"description": "A unique string identifying a network volume."
},
"name": {
"type": "string",
"example": "my network volume",
"description": "A user-defined name for a network volume. The name does not need to be unique."
},
"size": {
"type": "integer",
"example": 50,
"description": "The amount of disk space, in gigabytes (GB), allocated to a network volume."
},
"dataCenterId": {
"type": "string",
"example": "EU-RO-1",
"description": "The Runpod data center ID where a network volume is located."
}
}
}
},
"NetworkVolume": {
"type": "object",
"properties": {
"dataCenterId": {
"type": "string",
"example": "EU-RO-1",
"description": "The Runpod data center ID where a network volume is located."
},
"id": {
"type": "string",
"example": "agv6w2qcg7",
"description": "A unique string identifying a network volume."
},
"name": {
"type": "string",
"example": "my network volume",
"description": "A user-defined name for a network volume. The name does not need to be unique."
},
"size": {
"type": "integer",
"example": 50,
"description": "The amount of disk space, in gigabytes (GB), allocated to a network volume."
}
}
},
"NetworkVolumeCreateInput": {
"type": "object",
"required": [
"name",
"size",
"dataCenterId"
],
"properties": {
"dataCenterId": {
"type": "string",
"example": "EU-RO-1",
"description": "The Runpod data center ID where the created network volume is located."
},
"name": {
"type": "string",
"example": "my network volume",
"description": "A user-defined name for the created network volume. The name does not need to be unique."
},
"size": {
"type": "integer",
"example": 50,
"description": "The amount of disk space, in gigabytes (GB), allocated to the created network volume.",
"minimum": 0,
"maximum": 4000
}
}
},
"NetworkVolumeUpdateInput": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "my network volume",
"description": "A user-defined name for the network volume. The name does not need to be unique."
},
"size": {
"type": "integer",
"example": 50,
"description": "The amount of disk space, in gigabytes (GB), which will be allocated to the network volume after the update. Must be greater than the current size of the network volume.",
"minimum": 0,
"maximum": 4000
}
}
},
"Templates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Template"
}
},
"Template": {
"type": "object",
"properties": {
"category": {
"type": "string",
"example": "NVIDIA",
"description": "The category of the template. The category can be used to filter templates in the Runpod UI. Current categories are NVIDIA, AMD, and CPU."
},
"containerDiskInGb": {
"type": "integer",
"example": 50,
"description": "The amount of disk space, in gigabytes (GB), to allocate on the container disk for a Pod or worker. The data on the container disk is wiped when the Pod or worker restarts. To persist data across restarts, set volumeInGb to configure the local network volume."
},
"containerRegistryAuthId": {
"type": "string"
},
"dockerEntrypoint": {
"type": "array",
"items": {
"type": "string"
},
"example": [],
"description": "If specified, overrides the ENTRYPOINT for the Docker image run on a Pod or worker. If [], uses the ENTRYPOINT defined in the image."
},
"dockerStartCmd": {
"type": "array",
"items": {
"type": "string"
},
"example": [],
"description": "If specified, overrides the start CMD for the Docker image run on a Pod or worker. If [], uses the start CMD defined in the image."
},
"earned": {
"type": "number",
"example": 100,
"description": "The amount of Runpod credits earned by the creator of a template by all Pods or workers created from the template."
},
"env": {
"type": "object",
"items": {
"type": "string"
},
"example": {
"ENV_VAR": "value"
},
"default": {}
},
"id": {
"type": "string",
"example": "30zmvf89kd",
"description": "A unique string identifying a template."
},
"imageName": {
"type": "string",
"example": "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04",
"description": "The image tag for the container run on Pods or workers created from a template."
},
"isPublic": {
"type": "boolean",
"example": false,
"description": "Set to true if a template is public and can be used by any Runpod user. Set to false if a template is private and can only be used by the creator."
},
"isRunpod": {
"type": "boolean",
"example": true,
"description": "If true, a template is an official template managed by Runpod."
},
"isServerless": {
"type": "boolean",
"example": true,
"description": "If true, instances created from a template are Serverless workers. If false, instances created from a template are Pods."
},
"name": {
"type": "string",
"example": "my template",
"description": "A user-defined name for a template. The name needs to be unique."
},
"ports": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"8888/http",
"22/tcp"
],
"description": "A list of ports exposed on a Pod or worker. Each port is formatted as [port number]/[protocol]. Protocol can be either http or tcp."
},
"readme": {
"type": "string",
"description": "A string of markdown-formatted text that describes a template. The readme is displayed in the Runpod UI when a user selects the template."
},
"runtimeInMin": {
"type": "integer"
},
"volumeInGb": {
"type": "integer",
"example": 20,
"description": "The amount of disk space, in gigabytes (GB), to allocate on the local network volume for a Pod or worker. The data on the local network volume is persisted across restarts. To persist data so that future Pods and workers can access it, create a network volume and set networkVolumeId to attach it to the Pod or worker."
},
"volumeMountPath": {
"type": "string",
"example": "/workspace",
"description": "If a local network volume or network volume is attached to a Pod or worker, the absolute path where the network volume is mounted in the filesystem."
}
}
},
"TemplateCreateInput": {
"type": "object",
"required": [
"name",
"imageName"
],
"properties": {
"category": {
"type": "string",
"enum": [
"NVIDIA",
"AMD",
"CPU"
],
"default": "NVIDIA",
"description": "The compute category of the resource defined by this template."
},
"containerDiskInGb": {
"type": "integer",
"default": 50,
"description": "The amount of disk space in GB to allocate for the container."
},
"containerRegistryAuthId": {
"type": "string",
"description": "The unique string representing the container auth object needed for a private image."
},
"dockerEntrypoint": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "If specified, overrides the ENTRYPOINT for the Docker image run on the Pods using this template. If [], uses the ENTRYPOINT defined in the DockerFile."
},
"dockerStartCmd": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "If specified, overrides the start CMD for the Docker image run on the Pods using this template. If [], uses the start CMD defined in the DockerFile."
},
"env": {
"type": "object",
"items": {
"type": "string"
},
"example": {
"ENV_VAR": "value"
},
"default": {}
},
"imageName": {
"type": "string",
"description": "Docker image name."
},
"isPublic": {
"type": "boolean",
"default": false,
"description": "If this is a Pod template, specifies whether the template is visible to other Runpod users."
},
"isServerless": {
"type": "boolean",
"default": false,
"description": "Whether the template specifies a Serverless worker or a Pod."
},
"name": {
"type": "string",
"description": "Template name."
},
"ports": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"8888/http",
"22/tcp"
],
"default": "8888/http,22/tcp",
"description": "A list of ports exposed on the created Pod. Each port is formatted as [port number]/[protocol]. Protocol can be either http or tcp."
},
"readme": {
"type": "string",
"default": "",
"description": "README content in markdown format."
},
"volumeInGb": {
"type": "integer",
"default": 20,
"description": "The amount of disk space, in gigabytes (GB), to allocate on the Pods deployed with this template."
},
"volumeMountPath": {
"type": "string",
"default": "/workspace",
"description": "If a volume is attached to a Pod deployed with this template, the absolute path where the volume will be mounted in the filesystem."
}
}
},
"TemplateUpdateInPlaceInput": {
"type": "object",
"properties": {
"isPublic": {
"type": "boolean",
"default": false,
"description": "If this is a Pod template, specifies whether the template is visible to other Runpod users."
},
"name": {
"type": "string",
"description": "Template name."
},
"readme": {
"type": "string",
"default": "",
"description": "README content in markdown format."
},
"volumeInGb": {
"type": "integer",
"default": 20,
"description": "The amount of disk space, in gigabytes (GB), to allocate on the Pods deployed with this template."
},
"volumeMountPath": {
"type": "string",
"default": "/workspace",
"description": "If a volume is attached to a Pod deployed with this template, the absolute path where the volume will be mounted in the filesystem."
}
}
},
"TemplateUpdateInput": {
"type": "object",
"description": "Input for updating a Template which will trigger a rolling release for any associated endpoints.",
"properties": {
"containerDiskInGb": {
"type": "integer",
"default": 50,
"description": "The amount of disk space in GB to allocate for the container."
},
"containerRegistryAuthId": {
"type": "string",
"description": "The unique string representing the container auth object needed for a private image."
},
"dockerEntrypoint": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "If specified, overrides the ENTRYPOINT for the Docker image run on the Pods using this template. If [], uses the ENTRYPOINT defined in the DockerFile."
},
"dockerStartCmd": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "If specified, overrides the start CMD for the Docker image run on the Pods using this template. If [], uses the start CMD defined in the DockerFile."
},
"env": {
"type": "object",
"items": {
"type": "string"
},
"example": {
"ENV_VAR": "value"
},
"default": {}
},
"imageName": {
"type": "string",
"description": "Docker image name."
},
"isPublic": {
"type": "boolean",
"default": false,
"description": "If this is a Pod template, specifies whether the template is visible to other Runpod users."
},
"name": {
"type": "string",
"description": "Template name."
},
"ports": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"8888/http",
"22/tcp"
],
"default": "8888/http,22/tcp",
"description": "A list of ports exposed on the created Pod. Each port is formatted as [port number]/[protocol]. Protocol can be either http or tcp."
},
"readme": {
"type": "string",
"default": "",
"description": "README content in markdown format."
},
"volumeInGb": {
"type": "integer",
"default": 20,
"description": "The amount of disk space, in gigabytes (GB), to allocate on the Pods deployed with this template."
},
"volumeMountPath": {
"type": "string",
"default": "/workspace",
"description": "If a volume is attached to a Pod deployed with this template, the absolute path where the volume will be mounted in the filesystem."
}
}
},
"Endpoints": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Endpoint"
}
},
"Endpoint": {
"type": "object",
"properties": {
"allowedCudaVersions": {
"type": "array",
"items": {
"type": "string",
"enum": [
"13.0",
"12.9",
"12.8",
"12.7",
"12.6",
"12.5",
"12.4",
"12.3",
"12.2",
"12.1",
"12.0",
"11.8"
]
},
"description": "A list of acceptable CUDA versions for the workers on a Serverless endpoint. If not set, any CUDA version is acceptable."
},
"computeType": {
"type": "string",
"enum": [
"CPU",
"GPU"
],
"example": "GPU",
"description": "The type of compute used by workers on a Serverless endpoint."
},
"createdAt": {
"type": "string",
"example": "2024-07-12T19:14:40.144Z",
"description": "The UTC timestamp when a Serverless endpoint was created."
},
"dataCenterIds": {
"type": "array",
"example": "EU-NL-1,EU-RO-1,EU-SE-1",
"default": [
"EU-RO-1",
"CA-MTL-1",
"EU-SE-1",
"US-IL-1",
"EUR-IS-1",
"EU-CZ-1",
"US-TX-3",
"EUR-IS-2",
"US-KS-2",
"US-GA-2",
"US-WA-1",
"US-TX-1",
"CA-MTL-3",
"EU-NL-1",
"US-TX-4",
"US-CA-2",
"US-NC-1",
"OC-AU-1",
"US-DE-1",
"EUR-IS-3",
"CA-MTL-2",
"AP-JP-1",
"EUR-NO-1",
"EU-FR-1",
"US-KS-3",
"US-GA-1"
],
"items": {
"type": "string",
"enum": [
"EU-RO-1",
"CA-MTL-1",
"EU-SE-1",
"US-IL-1",
"EUR-IS-1",
"EU-CZ-1",
"US-TX-3",
"EUR-IS-2",
"US-KS-2",
"US-GA-2",
"US-WA-1",
"US-TX-1",
"CA-MTL-3",
"EU-NL-1",
"US-TX-4",
"US-CA-2",
"US-NC-1",
"OC-AU-1",
"US-DE-1",
"EUR-IS-3",
"CA-MTL-2",
"AP-JP-1",
"EUR-NO-1",
"EU-FR-1",
"US-KS-3",
"US-GA-1"
]
},
"description": "A list of Runpod data center IDs where workers on a Serverless endpoint can be located."
},
"env": {
"type": "object",
"items": {
"type": "string"
},
"example": {
"ENV_VAR": "value"
},
"default": {}
},
"executionTimeoutMs": {
"type": "integer",
"example": 600000,
"description": "The maximum number of milliseconds an individual request can run on a Serverless endpoint before the worker is stopped and the request is marked as failed."
},
"gpuCount": {
"type": "integer",
"example": 1,
"description": "The number of GPUs attached to each worker on a Serverless endpoint."
},
"gpuTypeIds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"NVIDIA GeForce RTX 4090",
"NVIDIA A40",
"NVIDIA RTX A5000",
"NVIDIA GeForce RTX 5090",
"NVIDIA H100 80GB HBM3",
"NVIDIA GeForce RTX 3090",
"NVIDIA RTX A4500",
"NVIDIA L40S",
"NVIDIA H200",
"NVIDIA L4",
"NVIDIA RTX 6000 Ada Generation",
"NVIDIA A100-SXM4-80GB",
"NVIDIA RTX 4000 Ada Generation",
"NVIDIA RTX A6000",
"NVIDIA A100 80GB PCIe",
"NVIDIA RTX 2000 Ada Generation",
"NVIDIA RTX A4000",
"NVIDIA RTX PRO 6000 Blackwell Server Edition",
"NVIDIA H100 PCIe",
"NVIDIA H100 NVL",
"NVIDIA L40",
"NVIDIA B200",
"NVIDIA GeForce RTX 3080 Ti",
"NVIDIA RTX PRO 6000 Blackwell Workstation Edition",
"NVIDIA GeForce RTX 3080",
"NVIDIA GeForce RTX 3070",
"AMD Instinct MI300X OAM",
"NVIDIA GeForce RTX 4080 SUPER",
"Tesla V100-PCIE-16GB",
"Tesla V100-SXM2-32GB",
"NVIDIA RTX 5000 Ada Generation",
"NVIDIA GeForce RTX 4070 Ti",
"NVIDIA RTX 4000 SFF Ada Generation",
"NVIDIA GeForce RTX 3090 Ti",
"NVIDIA RTX A2000",
"NVIDIA GeForce RTX 4080",
"NVIDIA A30",
"NVIDIA GeForce RTX 5080",
"Tesla V100-FHHL-16GB",
"NVIDIA H200 NVL",
"Tesla V100-SXM2-16GB",
"NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition",
"NVIDIA A5000 Ada",
"Tesla V100-PCIE-32GB",
"NVIDIA RTX A4500",
"NVIDIA A30",
"NVIDIA GeForce RTX 3080TI",
"Tesla T4",
"NVIDIA RTX A30"
]
},
"description": "A list of Runpod GPU types which can be attached to a Serverless endpoint."
},
"id": {
"type": "string",
"example": "jpnw0v75y3qoql",
"description": "A unique string identifying a Serverless endpoint."
},
"idleTimeout": {
"type": "integer",
"example": 5,
"description": "The number of seconds a worker on a Serverless endpoint can be running without taking a job before the worker is scaled down."
},
"instanceIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"cpu3c-8-16"
],
"description": "For CPU Serverless endpoints, a list of instance IDs that can be attached to a Serverless endpoint."
},
"name": {
"type": "string",
"example": "my endpoint",
"description": "A user-defined name for a Serverless endpoint. The name does not need to be unique."
},
"networkVolumeId": {
"type": "string",
"example": "agv6w2qcg7",
"description": "The unique string identifying the network volume to attach to the Serverless endpoint."
},
"networkVolumeIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"agv6w2qcg7",
"bxh7w3rch8"
],
"description": "A list of network volume IDs attached to the Serverless endpoint. Allows multiple network volumes to be used with multi-region endpoints."
},
"scalerType": {
"type": "string",
"example": "QUEUE_DELAY",
"enum": [
"QUEUE_DELAY",
"REQUEST_COUNT"
],
"description": "The method used to scale up workers on a Serverless endpoint. If QUEUE_DELAY, workers are scaled based on a periodic check to see if any requests have been in queue for too long. If REQUEST_COUNT, the desired number of workers is periodically calculated based on the number of requests in the endpoint's queue. Use QUEUE_DELAY if you need to ensure requests take no longer than a maximum latency, and use REQUEST_COUNT if you need to scale based on the number of requests."
},
"scalerValue": {
"type": "integer",
"example": 4,
"description": "If the endpoint scalerType is QUEUE_DELAY, the number of seconds a request can remain in queue before a new worker is scaled up. If the endpoint scalerType is REQUEST_COUNT, the number of workers is increased as needed to meet the number of requests in the endpoint's queue divided by scalerValue."
},
"template": {
"$ref": "#/components/schemas/Template"
},
"templateId": {
"type": "string",
"example": "30zmvf89kd",
"description": "The unique string identifying the template used to create a Serverless endpoint."
},
"userId": {
"type": "string",
"example": "user_2PyTJrLzeuwfZilRZ7JhCQDuSqo",
"description": "A unique string identifying the Runpod user who created a Serverless endpoint."
},
"version": {
"type": "integer",
"example": 0,
"description": "The latest version of a Serverless endpoint, which is updated whenever the template or environment variables of the endpoint are changed."
},
"workers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Pod"
},
"description": "Information about current workers on a Serverless endpoint."
},
"workersMax": {
"type": "integer",
"example": 3,
"description": "The maximum number of workers that can be running at the same time on a Serverless endpoint."
},
"workersMin": {
"type": "integer",
"example": 0,
"description": "The minimum number of workers that will run at the same time on a Serverless endpoint. This number of workers will always stay running for the endpoint, and will be charged even if no requests are being processed, but they are charged at a lower rate than running autoscaling workers."
}
}
},
"EndpointUpdateInPlaceInput": {
"type": "object",
"properties": {
"executionTimeoutMs": {
"type": "integer",
"example": 600000,
"description": "The maximum number of milliseconds an individual request can run on a Serverless endpoint before the worker is stopped and the request is marked as failed."
},
"flashboot": {
"type": "boolean",
"example": true,
"description": "Whether to use flash boot for the created Serverless endpoint."
},
"idleTimeout": {
"type": "integer",
"default": 5,
"description": "The number of seconds a worker on the created Serverless endpoint can run without taking a job before the worker is scaled down.",
"minimum": 1,
"maximum": 3600
},
"name": {
"type": "string",
"example": "my endpoint",
"description": "A user-defined name for a Serverless endpoint. The name does not need to be unique."
},
"scalerType": {
"type": "string",
"enum": [
"QUEUE_DELAY",
"REQUEST_COUNT"
],
"default": "QUEUE_DELAY",
"description": "The method used to scale up workers on the created Serverless endpoint. If QUEUE_DELAY, workers are scaled based on a periodic check to see if any requests have been in queue for too long. If REQUEST_COUNT, the desired number of workers is periodically calculated based on the number of requests in the endpoint's queue. Use QUEUE_DELAY if you need to ensure requests take no longer than a maximum latency, and use REQUEST_COUNT if you need to scale based on the number of requests."
},
"scalerValue": {
"type": "integer",
"default": 4,
"description": "If the endpoint scalerType is QUEUE_DELAY, the number of seconds a request can remain in queue before a new worker is scaled up. If the endpoint scalerType is REQUEST_COUNT, the number of workers is increased as needed to meet the number of requests in the endpoint's queue divided by scalerValue.",
"minimum": 1
},
"workersMax": {
"type": "integer",
"example": 3,
"description": "The maximum number of workers that can be running at the same time on a Serverless endpoint.",
"minimum": 0
},
"workersMin": {
"type": "integer",
"example": 0,
"description": "The minimum number of workers that will run at the same time on a Serverless endpoint. This number of workers will always stay running for the endpoint, and will be charged even if no requests are being processed, but they are charged at a lower rate than running autoscaling workers.",
"minimum": 0
}
}
},
"EndpointUpdateInput": {
"type": "object",
"description": "Input for updating an endpoint which will trigger a rolling release on the endpoint.",
"properties": {
"allowedCudaVersions": {
"type": "array",
"description": "If the created Serverless endpoint is a GPU endpoint, a list of acceptable CUDA versions on the created workers. If not set, any CUDA version is acceptable.",
"items": {
"type": "string",
"enum": [
"13.0",
"12.9",
"12.8",
"12.7",
"12.6",
"12.5",
"12.4",
"12.3",
"12.2",
"12.1",
"12.0",
"11.8"
]
}
},
"cpuFlavorIds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"cpu3c",
"cpu3g",
"cpu5c",
"cpu5g"
]
},
"description": "If the created Serverless endpoint is a CPU endpoint, a list of Runpod CPU flavors which can be attached to the created workers. The order of the list determines the order to rent CPU flavors."
},
"dataCenterIds": {
"type": "array",
"example": [
"EU-RO-1",
"CA-MTL-1"
],
"default": [
"EU-RO-1",
"CA-MTL-1",
"EU-SE-1",
"US-IL-1",
"EUR-IS-1",
"EU-CZ-1",
"US-TX-3",
"EUR-IS-2",
"US-KS-2",
"US-GA-2",
"US-WA-1",
"US-TX-1",
"CA-MTL-3",
"EU-NL-1",
"US-TX-4",
"US-CA-2",
"US-NC-1",
"OC-AU-1",
"US-DE-1",
"EUR-IS-3",
"CA-MTL-2",
"AP-JP-1",
"EUR-NO-1",
"EU-FR-1",
"US-KS-3",
"US-GA-1"
],
"items": {
"type": "string",
"enum": [
"EU-RO-1",
"CA-MTL-1",
"EU-SE-1",
"US-IL-1",
"EUR-IS-1",
"EU-CZ-1",
"US-TX-3",
"EUR-IS-2",
"US-KS-2",
"US-GA-2",
"US-WA-1",
"US-TX-1",
"CA-MTL-3",
"EU-NL-1",
"US-TX-4",
"US-CA-2",
"US-NC-1",
"OC-AU-1",
"US-DE-1",
"EUR-IS-3",
"CA-MTL-2",
"AP-JP-1",
"EUR-NO-1",
"EU-FR-1",
"US-KS-3",
"US-GA-1"
]
},
"description": "A list of Runpod data center IDs where workers on the created Serverless endpoint can be located."
},
"executionTimeoutMs": {
"type": "integer",
"example": 600000,
"description": "The maximum number of milliseconds an individual request can run on a Serverless endpoint before the worker is stopped and the request is marked as failed."
},
"flashboot": {
"type": "boolean",
"example": true,
"description": "Whether to use flash boot for the created Serverless endpoint."
},
"gpuCount": {
"type": "integer",
"default": 1,
"description": "If the created Serverless endpoint is a GPU endpoint, the number of GPUs attached to each worker on the endpoint.",
"minimum": 1
},
"gpuTypeIds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"NVIDIA GeForce RTX 4090",
"NVIDIA A40",
"NVIDIA RTX A5000",
"NVIDIA GeForce RTX 5090",
"NVIDIA H100 80GB HBM3",
"NVIDIA GeForce RTX 3090",
"NVIDIA RTX A4500",
"NVIDIA L40S",
"NVIDIA H200",
"NVIDIA L4",
"NVIDIA RTX 6000 Ada Generation",
"NVIDIA A100-SXM4-80GB",
"NVIDIA RTX 4000 Ada Generation",
"NVIDIA RTX A6000",
"NVIDIA A100 80GB PCIe",
"NVIDIA RTX 2000 Ada Generation",
"NVIDIA RTX A4000",
"NVIDIA RTX PRO 6000 Blackwell Server Edition",
"NVIDIA H100 PCIe",
"NVIDIA H100 NVL",
"NVIDIA L40",
"NVIDIA B200",
"NVIDIA GeForce RTX 3080 Ti",
"NVIDIA RTX PRO 6000 Blackwell Workstation Edition",
"NVIDIA GeForce RTX 3080",
"NVIDIA GeForce RTX 3070",
"AMD Instinct MI300X OAM",
"NVIDIA GeForce RTX 4080 SUPER",
"Tesla V100-PCIE-16GB",
"Tesla V100-SXM2-32GB",
"NVIDIA RTX 5000 Ada Generation",
"NVIDIA GeForce RTX 4070 Ti",
"NVIDIA RTX 4000 SFF Ada Generation",
"NVIDIA GeForce RTX 3090 Ti",
"NVIDIA RTX A2000",
"NVIDIA GeForce RTX 4080",
"NVIDIA A30",
"NVIDIA GeForce RTX 5080",
"Tesla V100-FHHL-16GB",
"NVIDIA H200 NVL",
"Tesla V100-SXM2-16GB",
"NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition",
"NVIDIA A5000 Ada",
"Tesla V100-PCIE-32GB",
"NVIDIA RTX A4500",
"NVIDIA A30",
"NVIDIA GeForce RTX 3080TI",
"Tesla T4",
"NVIDIA RTX A30"
]
},
"description": "If the created Serverless endpoint is a GPU endpoint, a list of Runpod GPU types which can be attached to the created workers. The order of the list determines the order to rent GPU types."
},
"idleTimeout": {
"type": "integer",
"default": 5,
"description": "The number of seconds a worker on the created Serverless endpoint can run without taking a job before the worker is scaled down.",
"minimum": 1,
"maximum": 3600
},
"name": {
"type": "string",
"maxLength": 191,
"description": "A user-defined name for the created Serverless endpoint. The name does not need to be unique."
},
"networkVolumeId": {
"type": "string",
"description": "The unique string identifying the network volume to attach to the created Serverless endpoint."
},
"networkVolumeIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of network volume IDs to attach to the created Serverless endpoint. Allows multiple network volumes to be used with multi-region endpoints."
},
"scalerType": {
"type": "string",
"enum": [
"QUEUE_DELAY",
"REQUEST_COUNT"
],
"default": "QUEUE_DELAY",
"description": "The method used to scale up workers on the created Serverless endpoint. If QUEUE_DELAY, workers are scaled based on a periodic check to see if any requests have been in queue for too long. If REQUEST_COUNT, the desired number of workers is periodically calculated based on the number of requests in the endpoint's queue. Use QUEUE_DELAY if you need to ensure requests take no longer than a maximum latency, and use REQUEST_COUNT if you need to scale based on the number of requests."
},
"scalerValue": {
"type": "integer",
"default": 4,
"description": "If the endpoint scalerType is QUEUE_DELAY, the number of seconds a request can remain in queue before a new worker is scaled up. If the endpoint scalerType is REQUEST_COUNT, the number of workers is increased as needed to meet the number of requests in the endpoint's queue divided by scalerValue.",
"minimum": 1
},
"templateId": {
"type": "string",
"example": "30zmvf89kd",
"description": "The unique string identifying the template used to create the Serverless endpoint."
},
"vcpuCount": {
"type": "integer",
"default": 2,
"description": "If the created Serverless endpoint is a CPU endpoint, the number of vCPUs allocated to each created worker."
},
"workersMax": {
"type": "integer",
"example": 3,
"description": "The maximum number of workers that can be running at the same time on a Serverless endpoint.",
"minimum": 0
},
"workersMin": {
"type": "integer",
"example": 0,
"description": "The minimum number of workers that will run at the same time on a Serverless endpoint. This number of workers will always stay running for the endpoint, and will be charged even if no requests are being processed, but they are charged at a lower rate than running autoscaling workers.",
"minimum": 0
}
}
},
"EndpointCreateInput": {
"type": "object",
"required": [
"templateId"
],
"properties": {
"allowedCudaVersions": {
"type": "array",
"description": "If the created Serverless endpoint is a GPU endpoint, a list of acceptable CUDA versions on the created workers. If not set, any CUDA version is acceptable.",
"items": {
"type": "string",
"enum": [
"13.0",
"12.9",
"12.8",
"12.7",
"12.6",
"12.5",
"12.4",
"12.3",
"12.2",
"12.1",
"12.0",
"11.8"
]
}
},
"computeType": {
"type": "string",
"default": "GPU",
"enum": [
"GPU",
"CPU"
],
"description": "Set to GPU to create a Serverless endpoint with GPU workers. Set to CPU to create a Serverless endpoint with CPU workers. If set to CPU, properties related to GPUs such as gpuTypeIds will be ignored. If set to GPU, properties related to CPUs such as cpuFlavorIds will be ignored."
},
"cpuFlavorIds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"cpu3c",
"cpu3g",
"cpu5c",
"cpu5g"
]
},
"description": "If the created Serverless endpoint is a CPU endpoint, a list of Runpod CPU flavors which can be attached to the created workers. The order of the list determines the order to rent CPU flavors."
},
"dataCenterIds": {
"type": "array",
"example": [
"EU-RO-1",
"CA-MTL-1"
],
"default": [
"EU-RO-1",
"CA-MTL-1",
"EU-SE-1",
"US-IL-1",
"EUR-IS-1",
"EU-CZ-1",
"US-TX-3",
"EUR-IS-2",
"US-KS-2",
"US-GA-2",
"US-WA-1",
"US-TX-1",
"CA-MTL-3",
"EU-NL-1",
"US-TX-4",
"US-CA-2",
"US-NC-1",
"OC-AU-1",
"US-DE-1",
"EUR-IS-3",
"CA-MTL-2",
"AP-JP-1",
"EUR-NO-1",
"EU-FR-1",
"US-KS-3",
"US-GA-1"
],
"items": {
"type": "string",
"enum": [
"EU-RO-1",
"CA-MTL-1",
"EU-SE-1",
"US-IL-1",
"EUR-IS-1",
"EU-CZ-1",
"US-TX-3",
"EUR-IS-2",
"US-KS-2",
"US-GA-2",
"US-WA-1",
"US-TX-1",
"CA-MTL-3",
"EU-NL-1",
"US-TX-4",
"US-CA-2",
"US-NC-1",
"OC-AU-1",
"US-DE-1",
"EUR-IS-3",
"CA-MTL-2",
"AP-JP-1",
"EUR-NO-1",
"EU-FR-1",
"US-KS-3",
"US-GA-1"
]
},
"description": "A list of Runpod data center IDs where workers on the created Serverless endpoint can be located."
},
"executionTimeoutMs": {
"type": "integer",
"example": 600000,
"description": "The maximum number of milliseconds an individual request can run on a Serverless endpoint before the worker is stopped and the request is marked as failed."
},
"flashboot": {
"type": "boolean",
"example": true,
"description": "Whether to use flash boot for the created Serverless endpoint."
},
"gpuCount": {
"type": "integer",
"default": 1,
"description": "If the created Serverless endpoint is a GPU endpoint, the number of GPUs attached to each worker on the endpoint.",
"minimum": 1
},
"gpuTypeIds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"NVIDIA GeForce RTX 4090",
"NVIDIA A40",
"NVIDIA RTX A5000",
"NVIDIA GeForce RTX 5090",
"NVIDIA H100 80GB HBM3",
"NVIDIA GeForce RTX 3090",
"NVIDIA RTX A4500",
"NVIDIA L40S",
"NVIDIA H200",
"NVIDIA L4",
"NVIDIA RTX 6000 Ada Generation",
"NVIDIA A100-SXM4-80GB",
"NVIDIA RTX 4000 Ada Generation",
"NVIDIA RTX A6000",
"NVIDIA A100 80GB PCIe",
"NVIDIA RTX 2000 Ada Generation",
"NVIDIA RTX A4000",
"NVIDIA RTX PRO 6000 Blackwell Server Edition",
"NVIDIA H100 PCIe",
"NVIDIA H100 NVL",
"NVIDIA L40",
"NVIDIA B200",
"NVIDIA GeForce RTX 3080 Ti",
"NVIDIA RTX PRO 6000 Blackwell Workstation Edition",
"NVIDIA GeForce RTX 3080",
"NVIDIA GeForce RTX 3070",
"AMD Instinct MI300X OAM",
"NVIDIA GeForce RTX 4080 SUPER",
"Tesla V100-PCIE-16GB",
"Tesla V100-SXM2-32GB",
"NVIDIA RTX 5000 Ada Generation",
"NVIDIA GeForce RTX 4070 Ti",
"NVIDIA RTX 4000 SFF Ada Generation",
"NVIDIA GeForce RTX 3090 Ti",
"NVIDIA RTX A2000",
"NVIDIA GeForce RTX 4080",
"NVIDIA A30",
"NVIDIA GeForce RTX 5080",
"Tesla V100-FHHL-16GB",
"NVIDIA H200 NVL",
"Tesla V100-SXM2-16GB",
"NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition",
"NVIDIA A5000 Ada",
"Tesla V100-PCIE-32GB",
"NVIDIA RTX A4500",
"NVIDIA A30",
"NVIDIA GeForce RTX 3080TI",
"Tesla T4",
"NVIDIA RTX A30"
]
},
"description": "If the created Serverless endpoint is a GPU endpoint, a list of Runpod GPU types which can be attached to the created workers. The order of the list determines the order to rent GPU types."
},
"idleTimeout": {
"type": "integer",
"default": 5,
"description": "The number of seconds a worker on the created Serverless endpoint can run without taking a job before the worker is scaled down.",
"minimum": 1,
"maximum": 3600
},
"name": {
"type": "string",
"maxLength": 191,
"description": "A user-defined name for the created Serverless endpoint. The name does not need to be unique."
},
"networkVolumeId": {
"type": "string",
"description": "The unique string identifying the network volume to attach to the created Serverless endpoint."
},
"networkVolumeIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of network volume IDs to attach to the created Serverless endpoint. Allows multiple network volumes to be used with multi-region endpoints."
},
"scalerType": {
"type": "string",
"enum": [
"QUEUE_DELAY",
"REQUEST_COUNT"
],
"default": "QUEUE_DELAY",
"description": "The method used to scale up workers on the created Serverless endpoint. If QUEUE_DELAY, workers are scaled based on a periodic check to see if any requests have been in queue for too long. If REQUEST_COUNT, the desired number of workers is periodically calculated based on the number of requests in the endpoint's queue. Use QUEUE_DELAY if you need to ensure requests take no longer than a maximum latency, and use REQUEST_COUNT if you need to scale based on the number of requests."
},
"scalerValue": {
"type": "integer",
"default": 4,
"description": "If the endpoint scalerType is QUEUE_DELAY, the number of seconds a request can remain in queue before a new worker is scaled up. If the endpoint scalerType is REQUEST_COUNT, the number of workers is increased as needed to meet the number of requests in the endpoint's queue divided by scalerValue.",
"minimum": 1
},
"templateId": {
"type": "string",
"example": "30zmvf89kd",
"description": "The unique string identifying the template used to create the Serverless endpoint."
},
"vcpuCount": {
"type": "integer",
"default": 2,
"description": "If the created Serverless endpoint is a CPU endpoint, the number of vCPUs allocated to each created worker."
},
"workersMax": {
"type": "integer",
"example": 3,
"description": "The maximum number of workers that can be running at the same time on a Serverless endpoint.",
"minimum": 0
},
"workersMin": {
"type": "integer",
"example": 0,
"description": "The minimum number of workers that will run at the same time on a Serverless endpoint. This number of workers will always stay running for the endpoint, and will be charged even if no requests are being processed, but they are charged at a lower rate than running autoscaling workers.",
"minimum": 0
}
}
},
"User": {
"type": "string"
},
"SavingsPlan": {
"type": "object",
"properties": {
"costPerHr": {
"type": "number",
"example": 0.21
},
"endTime": {
"type": "string",
"example": "2024-07-12T19:14:40.144Z"
},
"gpuTypeId": {
"type": "string",
"example": "NVIDIA GeForce RTX 4090"
},
"id": {
"type": "string",
"example": "clkrb4qci0000mb09c7sualzo"
},
"podId": {
"type": "string",
"example": "xedezhzb9la3ye"
},
"startTime": {
"type": "string",
"example": "2024-05-12T19:14:40.144Z"
}
}
},
"Machine": {
"type": "object",
"properties": {
"costPerHr": {
"type": "number"
},
"cpuCount": {
"type": "integer"
},
"cpuType": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"displayName": {
"type": "string"
},
"cores": {
"type": "number"
},
"threadsPerCore": {
"type": "number"
},
"groupId": {
"type": "string"
}
}
},
"cpuTypeId": {
"type": "string"
},
"currentPricePerGpu": {
"type": "number"
},
"dataCenterId": {
"type": "string"
},
"diskThroughputMBps": {
"type": "integer"
},
"gpuAvailable": {
"type": "integer"
},
"gpuDisplayName": {
"type": "string"
},
"gpuType": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"count": {
"type": "integer",
"example": 1,
"description": "The number of GPUs attached to a Pod."
},
"displayName": {
"type": "string"
},
"securePrice": {
"type": "number"
},
"communityPrice": {
"type": "number"
},
"oneMonthPrice": {
"type": "number"
},
"threeMonthPrice": {
"type": "number"
},
"sixMonthPrice": {
"type": "number"
},
"oneWeekPrice": {
"type": "number"
},
"communitySpotPrice": {
"type": "number"
},
"secureSpotPrice": {
"type": "number"
}
}
},
"gpuTypeId": {
"type": "string"
},
"location": {
"type": "string"
},
"maintenanceEnd": {
"type": "string"
},
"maintenanceNote": {
"type": "string"
},
"maintenanceStart": {
"type": "string"
},
"maxDownloadSpeedMbps": {
"type": "integer"
},
"maxUploadSpeedMbps": {
"type": "integer"
},
"minPodGpuCount": {
"type": "integer"
},
"note": {
"type": "string"
},
"secureCloud": {
"type": "boolean"
},
"supportPublicIp": {
"type": "boolean"
}
}
},
"DataCenter": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
},
"UnauthorizedError": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
},
"CudaVersions": {
"type": "string",
"enum": [
"12.4",
"12.3",
"12.2",
"12.1",
"12.0",
"11.8"
]
},
"GPUTypeId": {
"type": "string",
"enum": [
"NVIDIA GeForce RTX 4090",
"NVIDIA RTX A5000",
"NVIDIA RTX A4000",
"NVIDIA GeForce RTX 3090",
"NVIDIA RTX A6000",
"NVIDIA A40",
"NVIDIA RTX A4500",
"NVIDIA A100 80GB PCIe",
"NVIDIA L4",
"NVIDIA RTX 4000 Ada Generation",
"NVIDIA RTX 6000 Ada Generation",
"NVIDIA A100-SXM4-80GB",
"NVIDIA H100 80GB HBM3",
"NVIDIA L40",
"NVIDIA H100 PCIe",
"NVIDIA L40S",
"NVIDIA GeForce RTX 3080",
"NVIDIA GeForce RTX 3070",
"NVIDIA GeForce RTX 3080 Ti",
"NVIDIA A30",
"NVIDIA GeForce RTX 4080",
"NVIDIA RTX A2000",
"NVIDIA GeForce RTX 3090 Ti",
"Tesla V100-SXM2-32GB",
"NVIDIA GeForce RTX 4070 Ti",
"NVIDIA RTX 4000 SFF Ada Generation",
"NVIDIA RTX 5000 Ada Generation",
"Tesla V100-SXM2-16GB",
"Tesla V100-FHHL-16GB",
"Tesla V100-PCIE-16GB",
"NVIDIA RTX 2000 Ada Generation",
"NVIDIA H100 NVL",
"AMD Instinct MI300X OAM",
"NVIDIA A100-SXM4-40GB"
]
},
"ContainerRegistryAuth": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "clzdaifot0001l90809257ynb",
"description": "A unique string identifying a container registry authentication."
},
"name": {
"type": "string",
"example": "my creds",
"description": "A user-defined name for a container registry authentication. The name must be unique."
}
}
},
"ContainerRegistryAuths": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ContainerRegistryAuth"
}
},
"ContainerRegistryAuthCreateInput": {
"type": "object",
"required": [
"name",
"username",
"password"
],
"properties": {
"name": {
"type": "string",
"example": "my creds",
"description": "A user-defined name for a container registry authentication. The name must be unique."
},
"password": {
"type": "string",
"example": "my-password",
"description": "The password for the container registry."
},
"username": {
"type": "string",
"example": "my-username",
"description": "The username for the container registry."
}
}
},
"BillingRecord": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"description": "The amount charged for the group for the billing period, in USD.",
"example": 100.5
},
"diskSpaceBilledGb": {
"type": "integer",
"description": "The amount of disk space billed for the billing period, in gigabytes (GB). Does not apply to all resource types.",
"example": 50
},
"endpointId": {
"type": "string",
"description": "If grouping by endpoint ID, the endpoint ID of the group."
},
"gpuTypeId": {
"type": "string",
"description": "If grouping by GPU type ID, the GPU type ID of the group."
},
"podId": {
"type": "string",
"description": "If grouping by Pod ID, the Pod ID of the group."
},
"time": {
"type": "string",
"format": "date-time",
"description": "The start of the period for which the billing record applies.",
"example": "2023-01-01T00:00:00Z"
},
"timeBilledMs": {
"type": "integer",
"description": "The total time billed for the billing period, in milliseconds. Does not apply to all resource types.",
"example": 3600000
}
}
},
"BillingRecords": {
"type": "array",
"items": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"description": "The amount charged for the group for the billing period, in USD.",
"example": 100.5
},
"diskSpaceBilledGb": {
"type": "integer",
"description": "The amount of disk space billed for the billing period, in gigabytes (GB). Does not apply to all resource types.",
"example": 50
},
"endpointId": {
"type": "string",
"description": "If grouping by endpoint ID, the endpoint ID of the group."
},
"gpuTypeId": {
"type": "string",
"description": "If grouping by GPU type ID, the GPU type ID of the group."
},
"podId": {
"type": "string",
"description": "If grouping by Pod ID, the Pod ID of the group."
},
"time": {
"type": "string",
"format": "date-time",
"description": "The start of the period for which the billing record applies.",
"example": "2023-01-01T00:00:00Z"
},
"timeBilledMs": {
"type": "integer",
"description": "The total time billed for the billing period, in milliseconds. Does not apply to all resource types.",
"example": 3600000
}
}
}
},
"NetworkVolumeBillingRecord": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"description": "The amount charged for the group for the billing period, in USD.",
"example": 100.5
},
"diskSpaceBilledGb": {
"type": "integer",
"description": "The amount of disk space billed for the billing period, in gigabytes (GB). Does not apply to all resource types.",
"example": 50
},
"highPerformanceStorageAmount": {
"type": "number",
"description": "The amount charged for high performance storage for the billing period, in USD.",
"example": 100.5
},
"highPerformanceStorageDiskSpaceBilledGb": {
"type": "integer",
"description": "The amount of high performance storage disk space billed for the billing period, in gigabytes (GB).",
"example": 50
},
"time": {
"type": "string",
"format": "date-time",
"description": "The start of the period for which the billing record applies.",
"example": "2023-01-01T00:00:00Z"
}
}
},
"NetworkVolumeBillingRecords": {
"type": "array",
"items": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"description": "The amount charged for the group for the billing period, in USD.",
"example": 100.5
},
"diskSpaceBilledGb": {
"type": "integer",
"description": "The amount of disk space billed for the billing period, in gigabytes (GB). Does not apply to all resource types.",
"example": 50
},
"highPerformanceStorageAmount": {
"type": "number",
"description": "The amount charged for high performance storage for the billing period, in USD.",
"example": 100.5
},
"highPerformanceStorageDiskSpaceBilledGb": {
"type": "integer",
"description": "The amount of high performance storage disk space billed for the billing period, in gigabytes (GB).",
"example": 50
},
"time": {
"type": "string",
"format": "date-time",
"description": "The start of the period for which the billing record applies.",
"example": "2023-01-01T00:00:00Z"
}
}
}
}
}
},
"security": [
{
"ApiKey": []
}
]
}