> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nodepick.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /nodes — List All Your nodepick.ai Compute Nodes

> GET /nodes returns all compute nodes associated with your nodepick.ai account, including their status, IP addresses, and creation timestamps.

Calling `GET /nodes` returns every compute node currently associated with your account, regardless of status. The response includes nodes that are still provisioning, actively running, and in the process of being deleted. You can use this endpoint to get a complete picture of your active infrastructure at any point in time.

## Endpoint

```
GET https://api.nodepick.ai/nodes
```

## Parameters

This endpoint requires no path parameters or query parameters. Your API key in the `Authorization` header is the only input needed.

## Request Example

```bash theme={null}
curl -X GET https://api.nodepick.ai/nodes \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Response

A successful request returns HTTP `200 OK` with a JSON array. Each element in the array represents one node on your account.

<ResponseField name="id" type="string">
  The unique identifier for the node.
</ResponseField>

<ResponseField name="status" type="string">
  The current lifecycle status of the node: `provisioning`, `running`, or `deleting`.
</ResponseField>

<ResponseField name="ip_address" type="string">
  The node's public IP address. This value is `null` for nodes that have not yet reached `running` status.
</ResponseField>

<ResponseField name="created_at" type="string">
  The ISO 8601 timestamp recording when the node was created.
</ResponseField>

### Response Example

```json theme={null}
[
  {
    "id": "node_abc123",
    "status": "running",
    "ip_address": "203.0.113.42",
    "created_at": "2024-01-15T10:30:00Z"
  },
  {
    "id": "node_def456",
    "status": "provisioning",
    "ip_address": null,
    "created_at": "2024-01-15T10:35:00Z"
  }
]
```

## Python SDK

The nodepick.ai Python SDK's `get_node_details()` method operates on a single node by ID. To list all nodes, call the HTTP API directly using the `requests` library:

```python theme={null}
import requests

headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get("https://api.nodepick.ai/nodes", headers=headers)
nodes = response.json()

for node in nodes:
    print(f"{node['id']}: {node['status']}")
```

<Tip>
  Run this endpoint regularly to audit every node currently running on your account. Because billing is per-second and begins at creation, any node you forgot about will continue to accrue charges until you delete it. Catching orphaned nodes early avoids unexpected costs on your bill.
</Tip>

## Error Responses

| Code  | Description                                        |
| ----- | -------------------------------------------------- |
| `401` | Unauthorized — your API key is missing or invalid. |
