# NodePools

Node pools assist in managing heterogeneous resources effectively. A node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or administrator-defined label (for example, key & value). For more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).

## Get the node pool metrics data. \[Experimental]

> Retrieve the node pool metrics data by Universally Unique Identifier (UUID).

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"ClusterUuid":{"name":"clusterUuid","in":"path","required":true,"description":"The Universally Unique Identifier (UUID) of the cluster.","schema":{"type":"string","format":"uuid","minLength":1}},"NodepoolPath":{"in":"path","name":"nodepoolName","required":true,"description":"The unique nodepool name.","schema":{"type":"string"}},"StartRequired":{"name":"start","in":"query","description":"Start date of time range to fetch data in ISO 8601 timestamp format.","required":true,"schema":{"type":"string","format":"date-time"}},"EndRequired":{"name":"end","in":"query","description":"End date of time range to fetch data in ISO 8601 timestamp format.","required":true,"schema":{"type":"string","format":"date-time"}},"NumberOfSamples":{"name":"numberOfSamples","in":"query","description":"The number of samples to take in the specified time range.","required":false,"schema":{"type":"integer","maximum":1000,"minimum":0,"default":20}},"MetricsType":{"name":"metricType","in":"query","required":true,"description":"specifies what data to request","explode":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/MetricsType"}}}},"schemas":{"MetricsType":{"type":"string","description":"specifies what data to request","enum":["TOTAL_GPU_NODES","GPU_UTILIZATION","GPU_UTILIZATION_DISTRIBUTION","GPU_MEMORY_UTILIZATION","CPU_UTILIZATION","CPU_MEMORY_UTILIZATION","TOTAL_GPU","GPU_QUOTA","ALLOCATED_GPU","UNALLOCATED_GPU","AVG_WORKLOAD_WAIT_TIME"]},"MetricsResponse":{"type":"object","required":["measurements"],"properties":{"measurements":{"type":"array","items":{"$ref":"#/components/schemas/MeasurementResponse"}}}},"MeasurementResponse":{"type":"object","required":["type","values"],"properties":{"type":{"type":"string","description":"specifies what data returned"},"labels":{"type":"object","nullable":true,"description":"labels of the metric measurement","additionalProperties":{"type":"string"}},"values":{"type":"array","nullable":true,"items":{"type":"object","required":["value","timestamp"],"properties":{"value":{"type":"string"},"timestamp":{"type":"string","format":"date-time","nullable":true}}}}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500InternalServerError":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/clusters/{clusterUuid}/nodepools/{nodepoolName}/metrics":{"get":{"summary":"Get the node pool metrics data. [Experimental]","description":"Retrieve the node pool metrics data by Universally Unique Identifier (UUID).","operationId":"get_nodepool_metrics","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/ClusterUuid"},{"$ref":"#/components/parameters/NodepoolPath"},{"$ref":"#/components/parameters/StartRequired"},{"$ref":"#/components/parameters/EndRequired"},{"$ref":"#/components/parameters/NumberOfSamples"},{"$ref":"#/components/parameters/MetricsType"}],"responses":{"200":{"description":"Executed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsResponse"}},"text/csv":{}}},"207":{"description":"Partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsResponse"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"500":{"$ref":"#/components/responses/500InternalServerError"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Get nodepools

> Get nodepools

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"NodepoolsFilterBy":{"name":"filterBy","in":"query","required":false,"description":"Filter results by a parameter. Use the format field-name operator value. Operators are == Equals, != Not equals, <= Less than or equal, >= Greater than or equal, =@ contains, !@ Does not contains, =^ Starts with and =$ Ends with. Dates are in ISO 8601 timestamp format and available for operators ==, !=, <= and >=.","schema":{"type":"array","items":{"type":"string","pattern":"^(name|clusterId|phase)(==|!=|<=|>=|=@|!@|=\\^|=\\$).+$"}},"explode":false},"NodepoolsSortBy":{"name":"sortBy","in":"query","required":false,"description":"Sort results by a parameters.","schema":{"$ref":"#/components/schemas/NodepoolSortFilterFields"}},"SortOrder":{"name":"sortOrder","in":"query","required":false,"description":"Sort results in descending or ascending order.","schema":{"type":"string","enum":["asc","desc"],"default":"asc"}},"Offset":{"name":"offset","in":"query","required":false,"description":"The offset of the first item returned in the collection.","schema":{"type":"integer","format":"int32"}},"Limit":{"name":"limit","in":"query","required":false,"description":"The maximum number of entries to return.","schema":{"type":"integer","format":"int32","default":50,"minimum":1,"maximum":500}}},"schemas":{"NodepoolSortFilterFields":{"type":"string","enum":["name","phase","clusterId","createdAt","updatedAt"]},"Nodepool":{"allOf":[{"$ref":"#/components/schemas/NodepoolCreateFields"},{"$ref":"#/components/schemas/NodepoolSyncFields"},{"$ref":"#/components/schemas/NodepoolCalculatedFields"}]},"NodepoolCreateFields":{"type":"object","required":["name","labelKey","labelValue","clusterId"],"properties":{"name":{"type":"string","minLength":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1},"clusterId":{"type":"string","format":"uuid"},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}}}},"PlacementStrategy":{"type":"string","enum":["spread","binpack"],"nullable":true},"NodepoolSyncFields":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"phase":{"$ref":"#/components/schemas/NodepoolPhase"},"phaseMessage":{"type":"string","description":"Message for status of Node Pool"},"status":{"allOf":[{"$ref":"#/components/schemas/NodepoolUpdateFields"},{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"string"}}}}]}}},"NodepoolPhase":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Phase of Node Pool"},"NodepoolUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}}}},"NodepoolCalculatedFields":{"type":"object","required":["id","tenantId","clusterName","createdBy","createdAt","updatedBy","updatedAt","isDefault"],"properties":{"id":{"type":"string","description":"The NodePool id","readOnly":true},"tenantId":{"description":"The id of the tenant.","type":"integer","format":"int32"},"clusterName":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"deletedBy":{"type":"string"},"deletedAt":{"type":"string","nullable":true,"format":"date-time"},"isDefault":{"type":"boolean","description":"Is the Node Pool is the cluster default"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/node-pools":{"get":{"summary":"Get nodepools","operationId":"get_nodepools","description":"Get nodepools","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/NodepoolsFilterBy"},{"$ref":"#/components/parameters/NodepoolsSortBy"},{"$ref":"#/components/parameters/SortOrder"},{"$ref":"#/components/parameters/Offset"},{"$ref":"#/components/parameters/Limit"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","properties":{"nodepools":{"type":"array","items":{"$ref":"#/components/schemas/Nodepool"}}}}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Create nodepool

> Create nodepool

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"NodepoolCreateFields":{"type":"object","required":["name","labelKey","labelValue","clusterId"],"properties":{"name":{"type":"string","minLength":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1},"clusterId":{"type":"string","format":"uuid"},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}}}},"PlacementStrategy":{"type":"string","enum":["spread","binpack"],"nullable":true},"Nodepool":{"allOf":[{"$ref":"#/components/schemas/NodepoolCreateFields"},{"$ref":"#/components/schemas/NodepoolSyncFields"},{"$ref":"#/components/schemas/NodepoolCalculatedFields"}]},"NodepoolSyncFields":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"phase":{"$ref":"#/components/schemas/NodepoolPhase"},"phaseMessage":{"type":"string","description":"Message for status of Node Pool"},"status":{"allOf":[{"$ref":"#/components/schemas/NodepoolUpdateFields"},{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"string"}}}}]}}},"NodepoolPhase":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Phase of Node Pool"},"NodepoolUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}}}},"NodepoolCalculatedFields":{"type":"object","required":["id","tenantId","clusterName","createdBy","createdAt","updatedBy","updatedAt","isDefault"],"properties":{"id":{"type":"string","description":"The NodePool id","readOnly":true},"tenantId":{"description":"The id of the tenant.","type":"integer","format":"int32"},"clusterName":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"deletedBy":{"type":"string"},"deletedAt":{"type":"string","nullable":true,"format":"date-time"},"isDefault":{"type":"boolean","description":"Is the Node Pool is the cluster default"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/node-pools":{"post":{"summary":"Create nodepool","operationId":"create_nodepool","description":"Create nodepool","tags":["NodePools"],"requestBody":{"description":"Nodepool to create.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodepoolCreateFields"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nodepool"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Get nodepool

> Get nodepool

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"NodepoolId":{"name":"nodepoolId","in":"path","required":true,"description":"The unique id identifying the Node Pool.","schema":{"type":"string"}}},"schemas":{"Nodepool":{"allOf":[{"$ref":"#/components/schemas/NodepoolCreateFields"},{"$ref":"#/components/schemas/NodepoolSyncFields"},{"$ref":"#/components/schemas/NodepoolCalculatedFields"}]},"NodepoolCreateFields":{"type":"object","required":["name","labelKey","labelValue","clusterId"],"properties":{"name":{"type":"string","minLength":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1},"clusterId":{"type":"string","format":"uuid"},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}}}},"PlacementStrategy":{"type":"string","enum":["spread","binpack"],"nullable":true},"NodepoolSyncFields":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"phase":{"$ref":"#/components/schemas/NodepoolPhase"},"phaseMessage":{"type":"string","description":"Message for status of Node Pool"},"status":{"allOf":[{"$ref":"#/components/schemas/NodepoolUpdateFields"},{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"string"}}}}]}}},"NodepoolPhase":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Phase of Node Pool"},"NodepoolUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}}}},"NodepoolCalculatedFields":{"type":"object","required":["id","tenantId","clusterName","createdBy","createdAt","updatedBy","updatedAt","isDefault"],"properties":{"id":{"type":"string","description":"The NodePool id","readOnly":true},"tenantId":{"description":"The id of the tenant.","type":"integer","format":"int32"},"clusterName":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"deletedBy":{"type":"string"},"deletedAt":{"type":"string","nullable":true,"format":"date-time"},"isDefault":{"type":"boolean","description":"Is the Node Pool is the cluster default"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500InternalServerError":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/node-pools/{nodepoolId}":{"get":{"summary":"Get nodepool","operationId":"get_nodepool","description":"Get nodepool","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/NodepoolId"}],"responses":{"200":{"description":"Requested nodepool","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nodepool"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"500":{"$ref":"#/components/responses/500InternalServerError"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Update nodepool

> Update nodepool

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"NodepoolId":{"name":"nodepoolId","in":"path","required":true,"description":"The unique id identifying the Node Pool.","schema":{"type":"string"}}},"schemas":{"NodepoolUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}}}},"PlacementStrategy":{"type":"string","enum":["spread","binpack"],"nullable":true},"Nodepool":{"allOf":[{"$ref":"#/components/schemas/NodepoolCreateFields"},{"$ref":"#/components/schemas/NodepoolSyncFields"},{"$ref":"#/components/schemas/NodepoolCalculatedFields"}]},"NodepoolCreateFields":{"type":"object","required":["name","labelKey","labelValue","clusterId"],"properties":{"name":{"type":"string","minLength":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1},"clusterId":{"type":"string","format":"uuid"},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}}}},"NodepoolSyncFields":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"phase":{"$ref":"#/components/schemas/NodepoolPhase"},"phaseMessage":{"type":"string","description":"Message for status of Node Pool"},"status":{"allOf":[{"$ref":"#/components/schemas/NodepoolUpdateFields"},{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"string"}}}}]}}},"NodepoolPhase":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Phase of Node Pool"},"NodepoolCalculatedFields":{"type":"object","required":["id","tenantId","clusterName","createdBy","createdAt","updatedBy","updatedAt","isDefault"],"properties":{"id":{"type":"string","description":"The NodePool id","readOnly":true},"tenantId":{"description":"The id of the tenant.","type":"integer","format":"int32"},"clusterName":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"deletedBy":{"type":"string"},"deletedAt":{"type":"string","nullable":true,"format":"date-time"},"isDefault":{"type":"boolean","description":"Is the Node Pool is the cluster default"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500InternalServerError":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/node-pools/{nodepoolId}":{"put":{"summary":"Update nodepool","operationId":"update_nodepool","description":"Update nodepool","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/NodepoolId"}],"requestBody":{"description":"Nodepool to update.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodepoolUpdateFields"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nodepool"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"500":{"$ref":"#/components/responses/500InternalServerError"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Delete nodepool

> Delete nodepool

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"NodepoolId":{"name":"nodepoolId","in":"path","required":true,"description":"The unique id identifying the Node Pool.","schema":{"type":"string"}}},"responses":{"202Accepted":{"description":"Accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpResponse"}}}},"204NoContent":{"description":"No Content."},"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500InternalServerError":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"HttpResponse":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}}},"paths":{"/api/v1/node-pools/{nodepoolId}":{"delete":{"summary":"Delete nodepool","operationId":"delete_nodepool","description":"Delete nodepool","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/NodepoolId"}],"responses":{"202":{"$ref":"#/components/responses/202Accepted"},"204":{"$ref":"#/components/responses/204NoContent"},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"500":{"$ref":"#/components/responses/500InternalServerError"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Patch nodepool fields

> Update only specific fields of a nodepool

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"NodepoolId":{"name":"nodepoolId","in":"path","required":true,"description":"The unique id identifying the Node Pool.","schema":{"type":"string"}}},"schemas":{"NodepoolUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}}}},"PlacementStrategy":{"type":"string","enum":["spread","binpack"],"nullable":true},"Nodepool":{"allOf":[{"$ref":"#/components/schemas/NodepoolCreateFields"},{"$ref":"#/components/schemas/NodepoolSyncFields"},{"$ref":"#/components/schemas/NodepoolCalculatedFields"}]},"NodepoolCreateFields":{"type":"object","required":["name","labelKey","labelValue","clusterId"],"properties":{"name":{"type":"string","minLength":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1},"clusterId":{"type":"string","format":"uuid"},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}}}},"NodepoolSyncFields":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"phase":{"$ref":"#/components/schemas/NodepoolPhase"},"phaseMessage":{"type":"string","description":"Message for status of Node Pool"},"status":{"allOf":[{"$ref":"#/components/schemas/NodepoolUpdateFields"},{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"string"}}}}]}}},"NodepoolPhase":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Phase of Node Pool"},"NodepoolCalculatedFields":{"type":"object","required":["id","tenantId","clusterName","createdBy","createdAt","updatedBy","updatedAt","isDefault"],"properties":{"id":{"type":"string","description":"The NodePool id","readOnly":true},"tenantId":{"description":"The id of the tenant.","type":"integer","format":"int32"},"clusterName":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"deletedBy":{"type":"string"},"deletedAt":{"type":"string","nullable":true,"format":"date-time"},"isDefault":{"type":"boolean","description":"Is the Node Pool is the cluster default"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500InternalServerError":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/node-pools/{nodepoolId}":{"patch":{"summary":"Patch nodepool fields","operationId":"patch_nodepool","description":"Update only specific fields of a nodepool","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/NodepoolId"}],"requestBody":{"description":"Fields to update.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodepoolUpdateFields"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nodepool"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"500":{"$ref":"#/components/responses/500InternalServerError"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Get the cluster's Node Pools.

> Retrieve all the node pools with details from the cluster by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools instead.

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"NodePool1":{"allOf":[{"$ref":"#/components/schemas/NodePoolCreateRequest"},{"properties":{"id":{"type":"number","description":"Node Pool unique id","readOnly":true},"clusterId":{"type":"string","format":"uuid","description":"Node Pool cluster id"},"createdAt":{"type":"string","description":"Node Pool creation time","format":"date-time"},"updatedAt":{"type":"string","description":"Node Pool update time","format":"date-time"},"deletedAt":{"type":"string","description":"Node Pool delete time","format":"date-time"},"status":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Node Pool status"},"statusMessage":{"type":"string","description":"Node Pool status details"},"nodes":{"type":"string","description":"List of Nodes that are assigned to this nodepool - as json string"},"createdBy":{"type":"string","description":"Node Pool creator"},"updatedBy":{"type":"string","description":"Node Pool updater"},"isDefault":{"type":"boolean","description":"Is the Node Pool the default Node Pool for all nodes not assigned to any other Node Pool"}}}]},"NodePoolCreateRequest":{"properties":{"name":{"type":"string","description":"Node Pool Name"},"overProvisioningRatio":{"type":"integer","default":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)"},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)"},"placementStrategy":{"$ref":"#/components/schemas/PlacementStrategy1"}}},"PlacementStrategy1":{"properties":{"cpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for cpu"},"gpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for gpu"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}},"Error1":{"required":["code","message"],"properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}},"responses":{"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}}}},"paths":{"/v1/k8s/clusters/{clusterId}/node-pools":{"get":{"tags":["NodePools"],"summary":"Get the cluster's Node Pools.","description":"Retrieve all the node pools with details from the cluster by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools instead.","deprecated":true,"operationId":"getNodePools","parameters":[{"name":"clusterId","in":"path","description":"Unique identifier of the cluster","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Node pools returned successfully.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NodePool1"}}}}},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"default":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Create a Node Pool.

> Use to create a node pool in a cluster by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools instead.

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"NodePoolCreateRequest":{"properties":{"name":{"type":"string","description":"Node Pool Name"},"overProvisioningRatio":{"type":"integer","default":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)"},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)"},"placementStrategy":{"$ref":"#/components/schemas/PlacementStrategy1"}}},"PlacementStrategy1":{"properties":{"cpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for cpu"},"gpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for gpu"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Conflict":{"description":"conflict error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/v1/k8s/clusters/{clusterId}/node-pools":{"post":{"tags":["NodePools"],"summary":"Create a Node Pool.","description":"Use to create a node pool in a cluster by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools instead.","deprecated":true,"operationId":"createNodePool","parameters":[{"name":"clusterId","in":"path","description":"Unique identifier of the cluster","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodePoolCreateRequest"}}}},"responses":{"201":{"description":"Created"},"400":{"$ref":"#/components/responses/BadRequest"},"409":{"$ref":"#/components/responses/Conflict"},"default":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Update labels of a Node Pool.

> Use to update the labels of a node pool. Deprecated, please use PATCH /api/v1/node-pools/{id} instead.

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"NodePoolLabelsRequest":{"properties":{"labelKey":{"type":"string","description":"key of node label for pool"},"labelValue":{"type":"string","description":"value of node label for pool"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}},"Error1":{"required":["code","message"],"properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}},"serviceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}}}},"paths":{"/v1/k8s/clusters/{clusterId}/node-pools/{id}/labels":{"put":{"tags":["NodePools"],"summary":"Update labels of a Node Pool.","description":"Use to update the labels of a node pool. Deprecated, please use PATCH /api/v1/node-pools/{id} instead.","deprecated":true,"operationId":"updateNodePoolLabels","parameters":[{"name":"clusterId","in":"path","description":"Unique identifier of the cluster","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"id","schema":{"type":"integer"},"required":true,"description":"The unique id identifying the Node Pool."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodePoolLabelsRequest"}}},"required":true},"responses":{"202":{"description":"Node Pool update accepted."},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"503":{"$ref":"#/components/responses/serviceUnavailable"}}}}}}
```

## Update a Node Pool.

> Use to update the details of a node pool by Universally Unique Identifier (UUID). Deprecated, please use PATCH /api/v1/node-pools/{id} instead.

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"UpdateNodePoolRequest":{"properties":{"labelKey":{"type":"string","description":"key of node label for pool"},"labelValue":{"type":"string","description":"value of node label for pool"},"overProvisioningRatio":{"type":"integer","default":1},"placementStrategy":{"$ref":"#/components/schemas/PlacementStrategy1"}}},"PlacementStrategy1":{"properties":{"cpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for cpu"},"gpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for gpu"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}},"Error1":{"required":["code","message"],"properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}},"serviceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}}}},"paths":{"/v1/k8s/clusters/{clusterId}/node-pools/{id}":{"put":{"tags":["NodePools"],"summary":"Update a Node Pool.","description":"Use to update the details of a node pool by Universally Unique Identifier (UUID). Deprecated, please use PATCH /api/v1/node-pools/{id} instead.","deprecated":true,"operationId":"updateNodePool","parameters":[{"name":"clusterId","in":"path","description":"Unique identifier of the cluster","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"id","schema":{"type":"integer"},"required":true,"description":"The unique id identifying the Node Pool."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNodePoolRequest"}}},"required":true},"responses":{"202":{"description":"Node Pool update accepted."},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"503":{"$ref":"#/components/responses/serviceUnavailable"}}}}}}
```

## Delete a Node Pool by id.§

> Use to delete a node pool by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools/{id} instead.

```json
{"openapi":"3.0.3","info":{"title":"Runai API","version":"2.19"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://docs.run.ai/v2.19/Researcher/scheduling/using-node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}},"serviceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}}},"schemas":{"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}},"Error1":{"required":["code","message"],"properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}}},"paths":{"/v1/k8s/clusters/{clusterId}/node-pools/{id}":{"delete":{"tags":["NodePools"],"summary":"Delete a Node Pool by id.§","description":"Use to delete a node pool by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools/{id} instead.","deprecated":true,"operationId":"deleteNodePool","parameters":[{"name":"clusterId","in":"path","description":"Unique identifier of the cluster","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"id","schema":{"type":"integer"},"required":true,"description":"The unique id identifying the Node Pool."}],"responses":{"202":{"description":"Node Pool deletion accepted"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"503":{"$ref":"#/components/responses/serviceUnavailable"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://run-ai-docs.nvidia.com/api/2.19/organizations/nodepools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
