---
title: "Get Shared Thesis History"
method: GET
path: "/shared-theses/{shared_thesis_id}/history"
tags: ["shared theses"]
---

# Get Shared Thesis History

`GET /shared-theses/{shared_thesis_id}/history`

## Request

- Base URL: `https://api.tickertrac.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tickertrac.com/shared-theses/{shared_thesis_id}/history`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

## Path parameters

- `shared_thesis_id` integer, required

## Response `200`

Successful Response

- SharedThesisHistoryOut
  - `shared_thesis_id` integer, required
  - `versions` SharedThesisVersionOut[]
    - `version_number` integer, required
    - `title` string, required
    - `narrative_text` string, required
    - `components` ThesisVersionComponentOut[]
      - `id` integer, required
      - `kind` 'claim' | 'expectation' | 'invalidation', required
      - `statement` string, required
      - `position` integer, required
    - `links` object[]
    - `change_kind` 'initial_snapshot' | 'narrative_saved' | 'structure_saved' | 'links_saved', required
    - `effective_at` string, date-time, required
    - `recorded_at` string, date-time, required
    - `is_current` boolean, required
    - `market_contexts` ThesisPerformanceLegOut[]
      - `ticker` string, required
      - `company_name` string, nullable
      - `effect` 'tailwind' | 'headwind' | 'mixed' | 'uncertain', nullable
      - `context_start_at` string, date-time, required
      - `context_end_at` string, date-time, nullable
      - `market_performance` ThesisMarketPerformanceOut, required: Price context around an exact saved interval, never a thesis-quality score.
        - `ticker` string, required
        - `benchmark_ticker` string, required
        - `benchmark_label` string, required
        - `status` 'ready' | 'partial' | 'unavailable', required
        - `status_reason` 'complete_window' | 'starts_after_context' | 'ticker_history_unavailable' | 'benchmark_history_unavailable' | 'insufficient_shared_sessions', required
        - `requested_start_date` string, date, required
        - `requested_end_date` string, date, nullable
        - `start_date` string, date, nullable
        - `end_date` string, date, nullable
        - `trading_sessions` integer
        - `ticker_return_pct` number, nullable
        - `benchmark_return_pct` number, nullable
        - `relative_return_pct` number, nullable
    - `record_entry` RecordEntrySummaryOut
      - `moderation` RecordModerationOut
        - `id` string, uuid, nullable
        - `status` 'pending' | 'approved' | 'rejected' | 'needs_review', required
        - `reason` string, required
        - `category` string, nullable
        - `content_sha256` string, required
        - `can_appeal` boolean
      - `publicly_visible` boolean
      - `publication_status` 'sealed' | 'withheld' | 'published'
      - `id` string, uuid, required
      - `sequence_number` integer, required
      - `kind` 'thesis_version' | 'theme_version' | 'evidence_trail' | 'replay' | 'revision' | 'correction' | 'retraction' | 'review' | 'tracked_thesis', required
      - `visibility` 'sealed' | 'open', required
      - `ticker` string, nullable, required
      - `version_number` integer, nullable, required
      - `payload_sha256` string, required
      - `entry_sha256` string, required
      - `recorded_at` string, date-time, required
      - `opened_at` string, date-time, nullable, required
      - `public_url` string, required
      - `subject_entry_id` string, uuid, nullable
      - `as_of` string, date-time, nullable
      - `subject_type` 'company' | 'theme'
      - `shared_thesis_id` integer, nullable
      - `title` string, nullable
      - `verdict` 'stands' | 'weakening' | 'superseded', nullable
      - `watchlist_id` integer, nullable
    - `record_derived_entries` RecordEntrySummaryOut[]
      - `moderation` RecordModerationOut
        - `id` string, uuid, nullable
        - `status` 'pending' | 'approved' | 'rejected' | 'needs_review', required
        - `reason` string, required
        - `category` string, nullable
        - `content_sha256` string, required
        - `can_appeal` boolean
      - `publicly_visible` boolean
      - `publication_status` 'sealed' | 'withheld' | 'published'
      - `id` string, uuid, required
      - `sequence_number` integer, required
      - `kind` 'thesis_version' | 'theme_version' | 'evidence_trail' | 'replay' | 'revision' | 'correction' | 'retraction' | 'review' | 'tracked_thesis', required
      - `visibility` 'sealed' | 'open', required
      - `ticker` string, nullable, required
      - `version_number` integer, nullable, required
      - `payload_sha256` string, required
      - `entry_sha256` string, required
      - `recorded_at` string, date-time, required
      - `opened_at` string, date-time, nullable, required
      - `public_url` string, required
      - `subject_entry_id` string, uuid, nullable
      - `as_of` string, date-time, nullable
      - `subject_type` 'company' | 'theme'
      - `shared_thesis_id` integer, nullable
      - `title` string, nullable
      - `verdict` 'stands' | 'weakening' | 'superseded', nullable
      - `watchlist_id` integer, nullable
    - `revision_note` ThesisRevisionNoteOut
      - `version_number` integer, required
      - `rationale` string, nullable
      - `updated_at` string, date-time, nullable
      - `causes` ThesisRevisionCauseOut[]
        - `id` integer, required
        - `kind` 'alert' | 'source_event' | 'theme_finding', required
        - `referent_id` integer, nullable
        - `title` string, required
        - `occurred_at` string, date-time, required
        - `available_at` string, date-time, required
        - `source_url` string, nullable
        - `detail` string, nullable
        - `thesis_impact` 'strengthened' | 'weakened' | 'broken' | 'uncertain', nullable
        - `relationship` 'support' | 'contradict' | 'neutral', nullable
        - `evaluation_version` string, nullable
        - `referent_available` boolean, required
        - `asserted_by_user` true
  - `truncated` boolean

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tickertrac/apis/tickerrag-api.md) · [All operations](https://skmtc.dev/tickertrac/apis/tickerrag-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tickertrac/apis/tickerrag-api/revisions/3c7eb0f6425d?raw)
