Managing Nodes
Nodes are the core unit in Nodebyte — each one represents a device, service, or website your team tracks. This guide covers everything you can do with them.
Creating a Node
Section titled “Creating a Node”From the Dashboard
Section titled “From the Dashboard”- Navigate to the Nodes page from the sidebar
- Click Add Node
- Fill in the details:
- Name — a human-readable label (e.g. “Production DB Primary”)
- Hostname — the machine’s hostname
- IP Address — primary IP
- URL — optional web address (enables bookmark sync)
- Kind — category like
server,service,website,network, etc. - Tags — freeform labels for filtering (stored as JSONB)
- Metadata — arbitrary key-value pairs (stored as JSONB)
- Click Save
From the Browser Extension
Section titled “From the Browser Extension”The Chrome extension lets you add the current webpage as a node with one click:
- Click the Nodebyte icon in your browser toolbar
- The extension pre-fills the name and URL from the current page
- Select a team and kind, add tags if needed
- Click Add Node
See the Quickstart for extension installation instructions.
Via the API
Section titled “Via the API”curl -X POST http://localhost:8000/api/teams/{team_id}/nodes \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "web-prod-01", "hostname": "web-prod-01.example.com", "ip_address": "10.0.1.50", "url": "https://app.example.com", "kind": "server", "tags": ["production", "web"], "meta": {"region": "us-east", "provider": "aws"} }'Searching Nodes
Section titled “Searching Nodes”Nodebyte provides instant search across all node fields. From the Nodes page, type in the search bar to filter by:
- Name — partial match
- Hostname — partial match
- IP address — exact or prefix match
- URL — partial match
- Tags — matches any tag
Results update as you type.
Tags are freeform string labels stored as a JSONB array on each node. Use them to categorize nodes across dimensions that don’t fit into the kind field:
- Environment:
production,staging,development - Team responsibility:
platform,backend,frontend - Location:
us-east,eu-west,on-prem - Status:
active,decommissioned,maintenance
Bulk Tagging
Section titled “Bulk Tagging”- On the Nodes page, select multiple nodes using the checkboxes
- Click the Tag action in the bulk toolbar
- Enter one or more tags to apply to all selected nodes
- Confirm
Bulk Operations
Section titled “Bulk Operations”Select multiple nodes to perform batch actions:
- Bulk Delete — permanently remove all selected nodes
- Bulk Tag — add tags to all selected nodes at once
Select nodes using the checkboxes, then use the bulk action toolbar that appears.
Bookmark Sync
Section titled “Bookmark Sync”When a node has a URL, it automatically syncs to your browser bookmarks (via the Chrome extension). Bookmarks are organized into folders by the node’s kind:
Nodebyte/├── server/│ ├── web-prod-01│ └── web-prod-02├── service/│ ├── Grafana│ └── ArgoCD└── website/ └── Company BlogNode Hierarchy
Section titled “Node Hierarchy”Nodes support a parent-child relationship via the parent_node_id field. This lets you model logical groupings:
- A cluster node with individual server nodes as children
- A datacenter node with rack children, each containing device children
Set the parent when creating or editing a node.
API Reference
Section titled “API Reference”All node endpoints are scoped to a team:
| Method | Endpoint | Description |
|---|---|---|
GET | /api/teams/{team_id}/nodes | List nodes (with search, pagination) |
POST | /api/teams/{team_id}/nodes | Create a node |
GET | /api/teams/{team_id}/nodes/{node_id} | Get a single node |
PUT | /api/teams/{team_id}/nodes/{node_id} | Update a node |
DELETE | /api/teams/{team_id}/nodes/{node_id} | Delete a node |
POST | /api/teams/{team_id}/nodes/bulk-delete | Bulk delete nodes |
POST | /api/teams/{team_id}/nodes/bulk-tag | Bulk tag nodes |
GET | /api/teams/{team_id}/nodes/count | Node count |
GET | /api/teams/{team_id}/nodes/stats | Node statistics |
Interactive API documentation is available at /docs (Swagger UI) and /redoc on your Nodebyte backend.