---
title: "List the secret key names one owned node holds for a scope"
method: GET
path: "/api/nodes/{node_id}/secrets/{service}"
tags: ["nodes"]
---

# List the secret key names one owned node holds for a scope

`GET /api/nodes/{node_id}/secrets/{service}`

## 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}/secrets/{service}`
- Auth: none declared

Ask the node which keys it holds, and report their names (S1).

Names only, because names are all the daemon will say. ``shared`` is
passed through as the user typed it; every refusal is the node's own.

## Path parameters

- `service` string, required
- `node_id` string, uuid, required

## Response `200`

Successful Response

- NodeSecretKeysView: Which keys one scope holds, by name, and whether the node was reachable. There is no value field and there is nowhere to put one: the daemon cannot return a value, and this cloud must not invent what it does not hold. The absence is the contract.
  - `online` boolean, required
  - `service` string, required
  - `keys` string[], required

## Other responses

- `401`: Unauthorized
- `404`: Not Found
- `409`: Conflict
- `422`: Unprocessable Content
- `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)
