> ## 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/{id} — Get nodepick.ai Compute Node Details

> GET /nodes/{id} retrieves the current details for a specific nodepick.ai compute node, including its status, IP address, and creation timestamp.

Use this endpoint to retrieve the current state of a specific node. It is especially useful for polling after you create a node — once `status` changes from `provisioning` to `running`, the `ip_address` field will contain the public IP you need to connect to the node. You can also use it to confirm a node has fully transitioned to `deleting` after you call the delete endpoint.

## Endpoint

```
GET https://api.nodepick.ai/nodes/{id}
```

## Path Parameters

<ParamField path="id" type="string" required>
  The unique node ID returned in the response body when you created the node with `POST /nodes`. Example: `node_abc123`
</ParamField>

## Request Example

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

## Response

A successful request returns HTTP `200 OK` with a JSON object describing the current state of the node.

<ResponseField name="id" type="string">
  The unique identifier for the node, matching the `id` you passed in the path.
</ResponseField>

<ResponseField name="status" type="string">
  The current lifecycle status of the node. Possible values are:

  <Expandable title="Status values">
    * `provisioning` — The node is being set up and is not yet reachable.
    * `running` — The node is live and accepting connections.
    * `deleting` — A delete request has been received and the node is being torn down.
  </Expandable>
</ResponseField>

<ResponseField name="ip_address" type="string">
  The node's public IP address. This field is populated once the node reaches `running` status. It will be `null` while the node is still `provisioning`.
</ResponseField>

<ResponseField name="created_at" type="string">
  The ISO 8601 timestamp recording when the node was originally 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"
}
```

## Python SDK

The `get_node_details()` method on the nodepick.ai client wraps this endpoint:

```python theme={null}
details = client.get_node_details("node_abc123")
print(details["ip_address"])  # 203.0.113.42
print(details["status"])      # running
```

## Error Responses

| Code  | Description                                                                                |
| ----- | ------------------------------------------------------------------------------------------ |
| `401` | Unauthorized — your API key is missing or invalid.                                         |
| `404` | Not found — no node with the given ID exists on your account. Verify the ID and try again. |
