> ## Documentation Index
> Fetch the complete documentation index at: https://superdoc-caio-pizzol-docs-ai-core-preset.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# getNode

> Retrieve a single node by target position.

## Summary

Retrieve a single node by target position.

* Operation ID: `getNode`
* API member path: `editor.doc.getNode(...)`
* Mutates document: `no`
* Idempotency: `idempotent`
* Supports tracked mode: `no`
* Supports dry run: `no`
* Deterministic target resolution: `yes`

## Expected result

Returns an SDNodeResult envelope with the projected SDM/1 node and canonical address.

## Input fields

### Variant 1 (kind="block")

| Field      | Type      | Required | Description                                                                                                               |
| ---------- | --------- | -------- | ------------------------------------------------------------------------------------------------------------------------- |
| `kind`     | `"block"` | yes      | Constant: `"block"`                                                                                                       |
| `nodeId`   | string    | yes      |                                                                                                                           |
| `nodeType` | enum      | yes      | `"paragraph"`, `"heading"`, `"listItem"`, `"table"`, `"tableRow"`, `"tableCell"`, `"tableOfContents"`, `"image"`, `"sdt"` |

### Variant 2 (kind="inline")

| Field                  | Type         | Required | Description                                                                                                                                                                                                       |
| ---------------------- | ------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `anchor`               | InlineAnchor | yes      | InlineAnchor                                                                                                                                                                                                      |
| `anchor.end`           | Position     | yes      | Position                                                                                                                                                                                                          |
| `anchor.end.blockId`   | string       | yes      |                                                                                                                                                                                                                   |
| `anchor.end.offset`    | integer      | yes      |                                                                                                                                                                                                                   |
| `anchor.start`         | Position     | yes      | Position                                                                                                                                                                                                          |
| `anchor.start.blockId` | string       | yes      |                                                                                                                                                                                                                   |
| `anchor.start.offset`  | integer      | yes      |                                                                                                                                                                                                                   |
| `kind`                 | `"inline"`   | yes      | Constant: `"inline"`                                                                                                                                                                                              |
| `nodeType`             | enum         | yes      | `"run"`, `"bookmark"`, `"comment"`, `"hyperlink"`, `"sdt"`, `"image"`, `"footnoteRef"`, `"endnoteRef"`, `"crossRef"`, `"indexEntry"`, `"citation"`, `"authorityEntry"`, `"sequenceField"`, `"tab"`, `"lineBreak"` |

### Example request

```json theme={null}
{
  "kind": "block",
  "nodeId": "node-def456",
  "nodeType": "paragraph"
}
```

## Output fields

| Field     | Type        | Required | Description |
| --------- | ----------- | -------- | ----------- |
| `address` | NodeAddress | yes      | NodeAddress |
| `context` | object      | no       |             |
| `node`    | object      | yes      |             |

### Example response

```json theme={null}
{
  "address": {
    "kind": "block",
    "nodeId": "node-def456",
    "nodeType": "paragraph"
  },
  "context": {},
  "node": {}
}
```

## Pre-apply throws

* `TARGET_NOT_FOUND`
* `ADDRESS_STALE`

## Non-applied failure codes

* None

## Raw schemas

<Accordion title="Raw input schema">
  ```json theme={null}
  {
    "$ref": "#/$defs/NodeAddress"
  }
  ```
</Accordion>

<Accordion title="Raw output schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "address": {
        "$ref": "#/$defs/NodeAddress"
      },
      "context": {
        "type": "object"
      },
      "node": {
        "type": "object"
      }
    },
    "required": [
      "node",
      "address"
    ],
    "type": "object"
  }
  ```
</Accordion>
