> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stateset.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Attach an existing evidence node to a triple.

> **Required scope:** write

**Required scope:** `write`

### Path parameters

<ParamField path="triple_id" type="string" required>
  Triple ID as subject:predicate:object or org:subject:predicate:object
</ParamField>

### Request body

`AttachEvidenceRequest`

<ParamField body="evidence_id" type="string" required>
  Existing evidence node ID to link to this triple
</ParamField>

### Response

`TripleEvidenceResponse`

<ResponseField name="claim" type="string" required />

<ResponseField name="evidence_ids" type="string[]" required />

<ResponseField name="evidence_nodes" type="EvidenceNode[]" required>
  <Expandable title="EvidenceNode">
    <ResponseField name="claim" type="string" required>
      The claim or fact this evidence supports
    </ResponseField>

    <ResponseField name="confidence" type="number (float)" required>
      Confidence in this evidence
    </ResponseField>

    <ResponseField name="depends_on" type="string[]" required>
      IDs of evidence nodes this depends on
    </ResponseField>

    <ResponseField name="embedding" type="number (float)[]">
      Optional vector embedding for semantic search.
    </ResponseField>

    <ResponseField name="evidence_type" type="EvidenceType" required />

    <ResponseField name="id" type="string" required>
      Unique node ID
    </ResponseField>

    <ResponseField name="source" type="EvidenceSourceMeta" required>
      <Expandable title="EvidenceSourceMeta">
        <ResponseField name="actor" type="string" required>
          Who/what created this evidence
        </ResponseField>

        <ResponseField name="actor_id" type="string">
          API key or session ID
        </ResponseField>

        <ResponseField name="metadata" type="object" required>
          Free-form metadata
        </ResponseField>

        <ResponseField name="org_id" type="string">
          Organization
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="timestamp" type="string (date-time)" required>
      Timestamp when evidence was recorded
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="object" type="string" required />

<ResponseField name="object_name" type="string" required />

<ResponseField name="predicate" type="string" required />

<ResponseField name="subject" type="string" required />

<ResponseField name="subject_name" type="string" required />

<ResponseField name="triple_id" type="string" required />

### Status codes

| Code  | Meaning                                            |
| ----- | -------------------------------------------------- |
| `200` | Evidence attached to triple                        |
| `400` | Invalid request                                    |
| `401` | Unauthorized — missing or invalid credentials      |
| `403` | Forbidden — the key/token lacks the required scope |
| `404` | Triple or evidence not found                       |
| `429` | Rate limited — see Retry-After / X-RateLimit-Reset |

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url 'https://api.nsr.stateset.com/api/v1/triples/{triple_id}/evidence' \
    --header 'X-API-Key: YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
    "evidence_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "claim": "string",
    "evidence_ids": [
      "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    ],
    "evidence_nodes": [
      {
        "claim": "string",
        "confidence": 7.5,
        "depends_on": [],
        "embedding": [],
        "evidence_type": "Assertion",
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "source": {
          "actor": null,
          "actor_id": null,
          "metadata": null,
          "org_id": null
        },
        "timestamp": "2026-08-31T14:22:05Z"
      }
    ],
    "object": "string",
    "object_name": "string",
    "predicate": "string",
    "subject": "Replacement tent pole set",
    "subject_name": "string",
    "triple_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  }
  ```
</ResponseExample>
