# pub.chive.graph.listNodes

> Published by [chive.pub](https://lexicon.garden/identity/did:plc:7natp5xae72bddaqlkef2t4e)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:7natp5xae72bddaqlkef2t4e/pub.chive.graph.listNodes)
- [Documentation](https://lexicon.garden/lexicon/did:plc:7natp5xae72bddaqlkef2t4e/pub.chive.graph.listNodes/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:7natp5xae72bddaqlkef2t4e/pub.chive.graph.listNodes/examples)

## Definitions

### `pub.chive.graph.listNodes`

**Type**: `query`

List knowledge graph nodes with optional filtering by kind, subkind, and status

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `kind` | `string` | No | Filter by node kind |
| `limit` | `integer` | No | Maximum results to return |
| `cursor` | `string` | No | Pagination cursor |
| `status` | `string` | No | Filter by lifecycle status |
| `subkind` | `string` | No | Filter by subkind slug |
| `externalIdSystem` | `string` | No | Filter nodes whose externalIds array includes an entry with this system. Must be combined with externalIdIdentifier. |
| `externalIdIdentifier` | `string` | No | Filter nodes whose externalIds array includes an entry with this identifier. Must be combined with externalIdSystem. |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `nodes` | `array` | Yes | List of nodes |
| `total` | `integer` | Yes | Total count of matching nodes |
| `cursor` | `string` | No | Pagination cursor for next page |
| `hasMore` | `boolean` | Yes | Whether more results exist |

### `pub.chive.graph.listNodes#graphNode`

**Type**: `object`

Graph node response

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | `string` | Yes | Node UUID identifier |
| `cid` | `string` | No | Content identifier |
| `uri` | `string` (at-uri) | Yes | AT-URI of the node |
| `kind` | `string` | Yes | Node kind: type or object |
| `label` | `string` | Yes | Primary display label |
| `status` | `string` | Yes | Lifecycle status |
| `subkind` | `string` | No | Subkind slug (e.g., field, institution) |
| `metadata` | `ref` → `pub.chive.graph.node#nodeMetadata` | No | Subkind-specific metadata |
| `createdAt` | `string` (datetime) | Yes | Creation timestamp |
| `createdBy` | `string` (did) | No | DID of creator |
| `updatedAt` | `string` (datetime) | No | Last update timestamp |
| `subkindUri` | `string` (at-uri) | No | AT-URI of the subkind type node |
| `description` | `string` | No | Detailed description |
| `externalIds` | `array` | No | External identifier mappings |
| `proposalUri` | `string` (at-uri) | No | AT-URI of creating proposal |
| `deprecatedBy` | `string` (at-uri) | No | AT-URI of superseding node |
| `alternateLabels` | `array` | No | Alternate labels/synonyms |

## Raw Schema

```json
{
  "id": "pub.chive.graph.listNodes",
  "defs": {
    "main": {
      "type": "query",
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "nodes",
            "hasMore",
            "total"
          ],
          "properties": {
            "nodes": {
              "type": "array",
              "items": {
                "ref": "#graphNode",
                "type": "ref"
              },
              "description": "List of nodes"
            },
            "total": {
              "type": "integer",
              "description": "Total count of matching nodes"
            },
            "cursor": {
              "type": "string",
              "description": "Pagination cursor for next page"
            },
            "hasMore": {
              "type": "boolean",
              "description": "Whether more results exist"
            }
          }
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "properties": {
          "kind": {
            "type": "string",
            "description": "Filter by node kind",
            "knownValues": [
              "type",
              "object"
            ]
          },
          "limit": {
            "type": "integer",
            "default": 50,
            "maximum": 100,
            "minimum": 1,
            "description": "Maximum results to return"
          },
          "cursor": {
            "type": "string",
            "description": "Pagination cursor"
          },
          "status": {
            "type": "string",
            "description": "Filter by lifecycle status",
            "knownValues": [
              "proposed",
              "provisional",
              "established",
              "deprecated"
            ]
          },
          "subkind": {
            "type": "string",
            "description": "Filter by subkind slug"
          },
          "externalIdSystem": {
            "type": "string",
            "description": "Filter nodes whose externalIds array includes an entry with this system. Must be combined with externalIdIdentifier."
          },
          "externalIdIdentifier": {
            "type": "string",
            "description": "Filter nodes whose externalIds array includes an entry with this identifier. Must be combined with externalIdSystem."
          }
        }
      },
      "description": "List knowledge graph nodes with optional filtering by kind, subkind, and status"
    },
    "graphNode": {
      "type": "object",
      "required": [
        "id",
        "uri",
        "kind",
        "label",
        "status",
        "createdAt"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Node UUID identifier"
        },
        "cid": {
          "type": "string",
          "description": "Content identifier"
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the node"
        },
        "kind": {
          "type": "string",
          "description": "Node kind: type or object",
          "knownValues": [
            "type",
            "object"
          ]
        },
        "label": {
          "type": "string",
          "description": "Primary display label"
        },
        "status": {
          "type": "string",
          "description": "Lifecycle status",
          "knownValues": [
            "proposed",
            "provisional",
            "established",
            "deprecated"
          ]
        },
        "subkind": {
          "type": "string",
          "description": "Subkind slug (e.g., field, institution)"
        },
        "metadata": {
          "ref": "pub.chive.graph.node#nodeMetadata",
          "type": "ref",
          "description": "Subkind-specific metadata"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "Creation timestamp"
        },
        "createdBy": {
          "type": "string",
          "format": "did",
          "description": "DID of creator"
        },
        "updatedAt": {
          "type": "string",
          "format": "datetime",
          "description": "Last update timestamp"
        },
        "subkindUri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the subkind type node"
        },
        "description": {
          "type": "string",
          "description": "Detailed description"
        },
        "externalIds": {
          "type": "array",
          "items": {
            "ref": "pub.chive.graph.node#externalId",
            "type": "ref"
          },
          "description": "External identifier mappings"
        },
        "proposalUri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of creating proposal"
        },
        "deprecatedBy": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of superseding node"
        },
        "alternateLabels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate labels/synonyms"
        }
      },
      "description": "Graph node response"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "revision": 1
}
```
