# LoomTensionView

A tension with the two threads it joins.

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

## Fields

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

| Field | Type | Description |
|---|---|---|
| `tension` | [`LoomTension`](https://docs.maitento.com/reference/types/loom-tension.md) | The tension. |
| `thread1` | [`LoomThread`](https://docs.maitento.com/reference/types/loom-thread.md)`\| null` | The first thread. Null if it has since been erased. |
| `thread2` | [`LoomThread`](https://docs.maitento.com/reference/types/loom-thread.md)`\| null` | The second thread. Null if it has since been erased. |

## Example

```json
{
  "tension": {
    "loomId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "threadId1": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "threadId2": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "kind": "Contradicts",
    "note": "...",
    "subjectKeys": [
      "..."
    ],
    "detectedBy": {
      "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"
    },
    "dateResolved": "2026-10-26T12:00:00.0000000Z",
    "resolution": "...",
    "resolvedBy": {
      "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"
    },
    "isOpen": false,
    "tenantId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "id": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "dateCreated": "2026-10-26T12:00:00.0000000Z",
    "dateUpdated": "2026-10-26T12:00:00.0000000Z"
  },
  "thread1": {
    "loomId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "content": "...",
    "kind": "Semantic",
    "strand": "Weft",
    "weight": 0,
    "fray": 0,
    "decayRate": "Normal",
    "subjects": [
      "..."
    ],
    "subjectKeys": [
      "..."
    ],
    "tags": [
      "..."
    ],
    "cues": [
      "..."
    ],
    "visibility": "Shared",
    "until": "2026-10-26T12:00:00.0000000Z",
    "basis": "Said",
    "pinned": false,
    "origin": {
      "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"
    },
    "companions": [
      {}
    ],
    "provenance": {
      "kind": "Gift",
      "sourceLoomId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "sourceLoomName": "...",
      "sourceThreadId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "givenBy": "...",
      "note": "...",
      "date": "2026-10-26T12:00:00.0000000Z",
      "ownedAt": "2026-10-26T12:00:00.0000000Z",
      "isOwned": false
    },
    "canTravel": false,
    "accessCount": 0,
    "lastAccessedAt": "2026-10-26T12:00:00.0000000Z",
    "surfacedCount": 0,
    "lastSurfacedAt": "2026-10-26T12:00:00.0000000Z",
    "reinforcements": 0,
    "knot": {
      "dateCut": "2026-10-26T12:00:00.0000000Z",
      "acknowledgment": "...",
      "essence": "...",
      "wovenIntoThreadId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "supersededByThreadId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "cutBy": {}
    },
    "seams": [
      {}
    ],
    "revision": 0,
    "isKnot": false,
    "isWarp": false,
    "isIntention": false,
    "isLoose": false,
    "salience": 0,
    "shortId": "...",
    "tenantId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "id": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "dateCreated": "2026-10-26T12:00:00.0000000Z",
    "dateUpdated": "2026-10-26T12:00:00.0000000Z"
  },
  "thread2": {
    "loomId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "content": "...",
    "kind": "Semantic",
    "strand": "Weft",
    "weight": 0,
    "fray": 0,
    "decayRate": "Normal",
    "subjects": [
      "..."
    ],
    "subjectKeys": [
      "..."
    ],
    "tags": [
      "..."
    ],
    "cues": [
      "..."
    ],
    "visibility": "Shared",
    "until": "2026-10-26T12:00:00.0000000Z",
    "basis": "Said",
    "pinned": false,
    "origin": {
      "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"
    },
    "companions": [
      {}
    ],
    "provenance": {
      "kind": "Gift",
      "sourceLoomId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "sourceLoomName": "...",
      "sourceThreadId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "givenBy": "...",
      "note": "...",
      "date": "2026-10-26T12:00:00.0000000Z",
      "ownedAt": "2026-10-26T12:00:00.0000000Z",
      "isOwned": false
    },
    "canTravel": false,
    "accessCount": 0,
    "lastAccessedAt": "2026-10-26T12:00:00.0000000Z",
    "surfacedCount": 0,
    "lastSurfacedAt": "2026-10-26T12:00:00.0000000Z",
    "reinforcements": 0,
    "knot": {
      "dateCut": "2026-10-26T12:00:00.0000000Z",
      "acknowledgment": "...",
      "essence": "...",
      "wovenIntoThreadId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "supersededByThreadId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "cutBy": {}
    },
    "seams": [
      {}
    ],
    "revision": 0,
    "isKnot": false,
    "isWarp": false,
    "isIntention": false,
    "isLoose": false,
    "salience": 0,
    "shortId": "...",
    "tenantId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "id": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "dateCreated": "2026-10-26T12:00:00.0000000Z",
    "dateUpdated": "2026-10-26T12:00:00.0000000Z"
  }
}
```

## Where it's used

- [`looms.resolveTension`](https://docs.maitento.com/reference/api/looms.md) (`PUT /looms/by-id/{id}/tensions/by-id/{tensionId}/resolve`)
- [`looms.tensions`](https://docs.maitento.com/reference/api/looms.md) (`GET /looms/by-id/{id}/tensions`)
- Inside [`LoomInspection`](https://docs.maitento.com/reference/types/loom-inspection.md)
- Inside [`LoomReflection`](https://docs.maitento.com/reference/types/loom-reflection.md)
