# Node

## GET /v4/{projectId}/nodes

> List all the nodes in a project identified by the project UUID

```json
{"openapi":"3.1.1","info":{"title":"Platform9 Managed Kubernetes","version":"4.0.0"},"servers":[{"url":"/qbert"}],"paths":{"/v4/{projectId}/nodes":{"get":{"tags":["Node"],"summary":"List all the nodes in a project identified by the project UUID","parameters":[{"schema":{"type":"string"},"name":"X-Auth-Token","in":"header","required":true},{"schema":{"type":"string"},"name":"projectId","in":"path","required":true,"description":"UUID of the project the node belongs to"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/node_details"}}}}},"403":{"description":"unauthorized to perform this operation"}}}}},"components":{"schemas":{"node_details":{"type":"object","properties":{"name":{"type":"string","description":"Host name of the node"},"uuid":{"type":"string","description":"UUID of the node"},"primaryIp":{"type":"string","description":"IP address of the node"},"nodePoolName":{"type":"string","description":"Name of the node pool, the node belongs to"},"nodePoolUuid":{"type":"string","description":"UUID of the node pool, the node belongs to"},"cloudProviderType":{"type":"string","description":"Type of cloud provider, such as local or aws used to create the cluster"},"cloudProviderUuid":{"type":"string","description":"UUID of the cloud provider used to create the cluster"},"cloudInstanceId":{"type":"string","description":"UUID of the cloud instance used to create the cluster"},"clusterName":{"type":"string","description":"Name of the cluster the node belongs to"},"clusterUuid":{"type":"string","description":"UUID of the cluster the node belongs to"},"projectId":{"type":"string","description":"UUID of the project the node belongs to"},"actualKubeRoleVersion":{"type":"string","description":"actual version of the kube role on the node"},"clusterKubeRoleVersion":{"type":"string","description":"Kube version of the cluster the node belongs to"},"isMaster":{"type":"integer","description":"1 if this node is a master of a custer. 0 otherwise."},"api_responding":{"type":"integer","description":"1 indicates the API server on this node is running. 0 otherwise. Applicable only if isMaster is 1"},"status":{"type":"string","description":"Status of the node. States include “ok”, ”converging”, “failed”. These states indicate the current state of kubernetes setup on the host."},"masterless":{"type":"integer","description":"1 indicates the node is a masterless node. 0 otherwise"},"startKube":{"type":"integer","description":"1 indicates kube to be installed on the node . 0 otherwise"}}}}}}
```

## GET /v4/{projectId}/nodes/{uuid}

> Get details of a specific node in project, identified by the UUID

```json
{"openapi":"3.1.1","info":{"title":"Platform9 Managed Kubernetes","version":"4.0.0"},"servers":[{"url":"/qbert"}],"paths":{"/v4/{projectId}/nodes/{uuid}":{"get":{"tags":["Node"],"summary":"Get details of a specific node in project, identified by the UUID","parameters":[{"schema":{"type":"string"},"name":"X-Auth-Token","in":"header","required":true},{"schema":{"type":"string"},"name":"uuid","in":"path","required":true,"description":"UUID of the node"},{"schema":{"type":"string"},"name":"projectId","in":"path","required":true,"description":"UUID of the project the node belongs to"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/node_details"}}}},"403":{"description":"unauthorized to perform this operation"}}}}},"components":{"schemas":{"node_details":{"type":"object","properties":{"name":{"type":"string","description":"Host name of the node"},"uuid":{"type":"string","description":"UUID of the node"},"primaryIp":{"type":"string","description":"IP address of the node"},"nodePoolName":{"type":"string","description":"Name of the node pool, the node belongs to"},"nodePoolUuid":{"type":"string","description":"UUID of the node pool, the node belongs to"},"cloudProviderType":{"type":"string","description":"Type of cloud provider, such as local or aws used to create the cluster"},"cloudProviderUuid":{"type":"string","description":"UUID of the cloud provider used to create the cluster"},"cloudInstanceId":{"type":"string","description":"UUID of the cloud instance used to create the cluster"},"clusterName":{"type":"string","description":"Name of the cluster the node belongs to"},"clusterUuid":{"type":"string","description":"UUID of the cluster the node belongs to"},"projectId":{"type":"string","description":"UUID of the project the node belongs to"},"actualKubeRoleVersion":{"type":"string","description":"actual version of the kube role on the node"},"clusterKubeRoleVersion":{"type":"string","description":"Kube version of the cluster the node belongs to"},"isMaster":{"type":"integer","description":"1 if this node is a master of a custer. 0 otherwise."},"api_responding":{"type":"integer","description":"1 indicates the API server on this node is running. 0 otherwise. Applicable only if isMaster is 1"},"status":{"type":"string","description":"Status of the node. States include “ok”, ”converging”, “failed”. These states indicate the current state of kubernetes setup on the host."},"masterless":{"type":"integer","description":"1 indicates the node is a masterless node. 0 otherwise"},"startKube":{"type":"integer","description":"1 indicates kube to be installed on the node . 0 otherwise"}}}}}}
```

## Updates the properties of the node specified by the node UUID

> Currently, only the cluster property for a node can be modified and its primary usage is to detach a node from a cluster. The node, if needed, can be reattached to another cluster by using the cluster’s attach API

```json
{"openapi":"3.1.1","info":{"title":"Platform9 Managed Kubernetes","version":"4.0.0"},"servers":[{"url":"/qbert"}],"paths":{"/v4/{projectId}/nodes/{uuid}":{"put":{"tags":["Node"],"summary":"Updates the properties of the node specified by the node UUID","description":"Currently, only the cluster property for a node can be modified and its primary usage is to detach a node from a cluster. The node, if needed, can be reattached to another cluster by using the cluster’s attach API","parameters":[{"schema":{"type":"string"},"name":"X-Auth-Token","in":"header","required":true},{"schema":{"type":"string"},"name":"uuid","in":"path","required":true,"description":"UUID of the node"},{"schema":{"type":"string"},"name":"projectId","in":"path","required":true,"description":"UUID of the project the nodes belongs to"}],"responses":{"200":{"description":"OK, if the node gets deattached from the cluster"},"403":{"description":"Unauthorized to perform this operation"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cluster_uuid_detail"}}},"required":true}}}},"components":{"schemas":{"cluster_uuid_detail":{"type":"object","properties":{"clusterUuid":{"type":"string","description":"Value of this field must be set to null to detach the node"}}}}}}
```


---

# 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://docs.platform9.com/managed-kubernetes/apis/qbert-api/node.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.
