---
title: "Get a machine"
locale: en
url: https://tlg.builera.app/en/docs/reference/rest/nodes.get
verified: 2026-10-24
app_version: "2.0"
generated: true
---

# Get a machine

One machine like Machines → details: state, setup steps (codes), CPU / RAM / accounts online averaged per 5 minutes over 24 hours, and the accounts on it. Needs a connection allowed every account (it shows every account's activity on the machine). Never keys, passwords or support hooks.

One machine like Machines → details: state, setup steps (codes), CPU / RAM / accounts online averaged per 5 minutes over 24 hours, and the accounts on it. Needs a connection allowed every account (it shows every account's activity on the machine). Never keys, passwords or support hooks.

## Overview

| Name | Value |
| --- | --- |
| Code | `nodes.get` |
| Scope needed | `accounts.read` |
| Risk | Read |
| May need confirmation | No |
| Runs as | Answers right away |
| Needs `Idempotency-Key` | No |
| Member roles allowed | `owner`, `manager`, `agent`, `viewer` |
| In the app | Machines → details |

## Input fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `nodeId` | `uuid` | Yes |   |

## Example request

```bash
curl -X POST https://tlg.builera.app/api/public/v2/ops/nodes.get \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"nodeId":"00000000-0000-0000-0000-000000000000"}'
```

## Output fields (`data`)

| Field | Type | Required |
| --- | --- | --- |
| `node` | `object` | Yes |
| `steps` | `object[]` | Yes |
| `metrics` | `object[]` | Yes |
| `bucketMinutes` | `5` | Yes |
| `accounts` | `object[]` | Yes |

## Example answer

```json
{
  "data": {
    "node": {
      "used": 1,
      "id": "00000000-0000-4000-8000-000000000000",
      "name": "text",
      "kind": "hetzner",
      "status": "error",
      "region": "text",
      "server_type": "text",
      "vcpu": 1,
      "ram_mb": 1,
      "capacity_accounts": 1,
      "drain": true,
      "full_flag": true,
      "ipv4": "text",
      "worker_version": "text",
      "worker_os": "text",
      "worker_arch": "text",
      "provision_attempts": 1,
      "last_seen_at": "2026-10-22T12:00:00.000Z",
      "last_tick_at": "2026-10-22T12:00:00.000Z",
      "worker_booted_at": "2026-10-22T12:00:00.000Z",
      "restart_requested_at": "2026-10-22T12:00:00.000Z",
      "monthly_price": 1,
      "price_currency": "text",
      "created_at": "2026-10-22T12:00:00.000Z"
    },
    "steps": [
      {
        "step": "text",
        "status": "text",
        "started_at": "2026-10-22T12:00:00.000Z",
        "finished_at": "2026-10-22T12:00:00.000Z"
      }
    ],
    "metrics": [
      {
        "at": "text",
        "cpu": 1,
        "ram": 1,
        "accounts_ok": 1,
        "accounts_error": 1,
        "telegram_latency_ms": 1
      }
    ],
    "bucketMinutes": 5,
    "accounts": [
      {
        "id": "00000000-0000-4000-8000-000000000000",
        "label": "text",
        "username": "text",
        "connection_state": "text",
        "session_state": "active",
        "safety_state": "healthy",
        "paused": true
      }
    ]
  }
}
```

## Using it over MCP

Not listed on any profile: call `tools_describe` then `tools_run` with `code: "nodes.get"`. Tool name when listed: `nodes_get`.
