# Input-error code `'missing-node-id'`

> Contract 2.0.0 · package sha256 `a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e` · generated from `configurator-runtime.d.ts`, `tables/problems.json` and `services/onsite-scripter/scripts/contract-docs-what-to-do.json` by `services/onsite-scripter/scripts/build-contract-docs.mjs`; edit the source, not this file.

A member of [`InputErrorCode`](../api/InputErrorCode.md) · stable · since 2.0.0

A node without a `nodeId` (spec section 6.9, ID9).

## What to do

Give every node a unique `nodeId` before [`session.setSceneModel`](../api/Writer.setSceneModel.md): for an old save, [`normalizeNodeIds(doc)`](../api/normalizeNodeIds.md) mints the missing ones (use its `doc`); for a node you create, use `crypto.randomUUID()`.

```ts
await session.setSceneModel(normalizeNodeIds(saved).doc);
```

## Where the declaration names it

- [`HoloInputError.code`](../api/HoloInputError.code.md): 'missing-node-id'; see [`InputErrorCode`](../api/InputErrorCode.md).
- [`IConfiguratorNode.nodeId`](../api/IConfiguratorNode.nodeId.md): A missing or repeated id rejects the write with HoloInputError 'missing-node-id' / 'duplicate-node-id' at the call.
- [`Writer.setSceneModel`](../api/Writer.setSceneModel.md): Errors: rejects HoloInputError 'missing-node-id' or 'duplicate-node-id'.

The set is open: handle a code you don't know (`'other'`).
