> For the complete documentation index, see [llms.txt](https://docs.platform9.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.platform9.com/managed-kubernetes/apis/qbert-api/node.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.platform9.com/managed-kubernetes/apis/qbert-api/node.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
