---
title: "Get Claim Endpoint"
method: GET
path: "/api/claims/{claim_id}"
tags: ["runtime_mutations", "ckg"]
---

# Get Claim Endpoint

`GET /api/claims/{claim_id}`

Get a single claim with its sources.

``project_id`` is optional when the caller only has ``claim_id`` (for example
writeup previews); the store resolves by claim id alone.

## Path parameters

- `claim_id` string, required

## Query parameters

- `project_id` string, nullable

## Response `200`

Successful Response

- ClaimResponse
  - `claim_id` string, required
  - `project_id` string, required
  - `claim_type` string, required
  - `title` string, nullable
  - `content` string, required
  - `status` string, required
  - `review_status` string
  - `recall_priority` string
  - `created_by_session_id` string, nullable
  - `created_by_task_id` string, nullable
  - `updated_by_session_id` string, nullable
  - `linked_variable` object, nullable
  - `tabular_data` object, nullable
  - `figure_metadata` object, nullable
  - `created_at` string, required
  - `updated_at` string, required
  - `sources` ClaimSourceResponse[]
    - `id` integer, required
    - `claim_id` string, required
    - `source_type` string, required
    - `source_claim_id` string, nullable
    - `source_notebook_id` string, nullable
    - `source_notebook_path` string, nullable
    - `source_cell_id` string, nullable
    - `source_file_path` string, nullable
    - `source_section_heading` string, nullable
    - `source_line_start` integer, nullable
    - `source_line_end` integer, nullable
    - `source_text` string, nullable
    - `source_status` 'ok' | 'diverged' | 'missing' — Whether a recorded file-evidence quote still holds against the file.
    - `source_cell_part` 'source' | 'output' — Which half of a notebook cell a quoted span was taken from.
    - `source_output_index` integer, nullable
    - `captured_by` 'human' — Who performed a capture, when it was not an agent. Recorded on the source entry rather than as a column on ``claims``, following ``import_source_id``: the source already describes the capture (path, quote, line range, output index) and this is one more fact about it. Agent captures omit the key entirely, so the overwhelming majority of rows are unchanged. Deliberately not derived from a null ``created_by_session_id``: that column is ``ON DELETE SET NULL``, so deleting a chat session would silently reclassify its agent claims as human-authored.
  - `related_claim_ids` string[]
  - `associated_tasks` AssociatedTaskResponse[]
    - `task_id` string, required
    - `title` string, required
    - `status` string, required
    - `assigned_to_session_id` string, nullable
  - `associated_notebooks` AssociatedNotebookResponse[]
    - `notebook_id` string, required
    - `path` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/quadrillion/apis/quadrillion-cloud-api.md) · [All operations](https://skmtc.net/quadrillion/apis/quadrillion-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/quadrillion/quadrillion-cloud-api/revisions/dcf9b4550387/schema)
