---
title: "List what an owned node currently shares"
method: GET
path: "/api/nodes/{node_id}/shares"
tags: ["nodes"]
---

# List what an owned node currently shares

`GET /api/nodes/{node_id}/shares`

## Request

- Base URL: `https://app.nerdit.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.nerdit.ai/api/nodes/{node_id}/shares`
- Auth: none declared

Ask the node itself what it shares, and say what this cloud will serve.

Not a projection: this deployment stores no share state (D-P26-H1)
other than who else may open a private share, which is
``…/access-rules`` (ADR-W9), so the list is one bounded daemon-API read
over the tunnel, made
server-side because the browser cannot make it — the node-proxy
credential is ``__Host-`` on the node host and this SPA is on ``app.``
(D-HC-7). Two facts are joined onto it from *here*, because they are the
two the cloud owns: whether the account may publish at all, and whether
the owner has paused anonymous access.

An offline node answers an empty list rather than an error. Its shares
still exist — the daemon holds them — and the card says "offline"; a 502
is reserved for a node that is online and did not answer, which is a
fault rather than a state.

## Path parameters

- `node_id` string, uuid, required

## Response `200`

Successful Response

- NodeSharesView: What one node shares, plus the two facts the *cloud* owns about it. ``shares`` is empty for an offline node rather than an error: a node whose daemon is down still exists, and the console shows the card with nothing in it instead of a failure. ``truncated`` says the daemon's first page did not exhaust its services — the read is deliberately bounded, and a node with more than a page of them is a scrolling problem, not a paging protocol.
  - `node_id` string, uuid, required
  - `hosted_public_entitled` boolean, required
  - `pro_available` boolean, required
  - `hosted_disabled` boolean, required
  - `shares` HostedShareView[], required
    - `service_name` string, required
    - `access` 'private' | 'public', required
    - `state` 'ready' | 'link_down' | 'not_entitled' | 'pending', required
    - `url` string, nullable, required
    - `open_url` string, required
  - `truncated` boolean, required

## Other responses

- `401`: Unauthorized
- `404`: Not Found
- `422`: Validation Error
- `502`: Bad Gateway

---

[API](https://skmtc.dev/nerdit/apis/nerdit-cloud-web.md) · [All operations](https://skmtc.dev/nerdit/apis/nerdit-cloud-web/llms.txt) · [OpenAPI document](https://skmtc.dev/nerdit/apis/nerdit-cloud-web/revisions/06e3b44b58be?raw)
