# ThreadKnot

Cut thread, knot remains. The words are released; the knot marks where something once was, why it was let go, and the essence worth keeping.

**Kind:** an object, used in responses.

## Fields

Every field is present in a response; empty ones are `null`.

| Field | Type | Description |
|---|---|---|
| `dateCut` | `datetime` | When the thread was cut (UTC). |
| `acknowledgment` | `string` | Why it was let go, in the words of whoever let it go. |
| `essence` | `string \| null` | What remains after release. Optional: some things are let go entirely. |
| `wovenIntoThreadId` | `uuid \| null` | Set when night weaving absorbed this thread into another. |
| `supersededByThreadId` | `uuid \| null` | Set when a newer thread replaced this one: a correction ("the deadline moved to the 28th"). The knot keeps what it used to say as its essence, so the history is not lost, but only the newer thread is remembered as current. |
| `cutBy` | [`ThreadOrigin`](https://docs.maitento.com/reference/types/thread-origin.md) | Who cut it, and from where. |

## Example

```json
{
  "dateCut": "2026-10-26T12:00:00.0000000Z",
  "acknowledgment": "...",
  "essence": "...",
  "wovenIntoThreadId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "supersededByThreadId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "cutBy": {
    "kind": "Manual",
    "interactionProcessId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "appProcessId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "agentId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "agentName": "...",
    "userId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "nightWeavingId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f"
  }
}
```

## Where it's used

- Inside [`LoomThread`](https://docs.maitento.com/reference/types/loom-thread.md)
