---
title: "Propose Record Entry"
method: POST
path: "/record/me/entry-proposals"
tags: ["on the record"]
---

# Propose Record Entry

`POST /record/me/entry-proposals`

## 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/record/me/entry-proposals`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Show exactly what would be sealed, and its hash, without writing anything.

A derived kind (evidence trail, Replay, what changed) is computed at an explicit
cutoff that the confirmation carries back, so the bytes the writer read are the
bytes the server recomputes.

## Request body

- RecordEntryProposalIn
  - `watchlist_id` integer, nullable
  - `ticker` string, nullable
  - `shared_thesis_id` integer, nullable
  - `version_number` integer, required
  - `visibility` 'sealed' | 'open'
  - `kind` 'thesis_version' | 'theme_version' | 'evidence_trail' | 'replay' | 'revision' | 'correction' | 'retraction' | 'review' | 'tracked_thesis'
  - `note` string, nullable
  - `subject_entry_id` string, uuid, nullable
  - `verdict` 'stands' | 'weakening' | 'superseded', nullable
  - `superseded_by_version_number` integer, nullable

## Response `200`

Successful Response

- RecordEntryProposalOut
  - `schema_version` 'record-entry-proposal-v1', required
  - `idempotency_key` string, uuid, required
  - `operation` 'propose_record_entry', required
  - `confirmation_policy` 'explicit_approval_required', required
  - `kind` 'thesis_version' | 'theme_version' | 'evidence_trail' | 'replay' | 'revision' | 'correction' | 'retraction' | 'review' | 'tracked_thesis'
  - `watchlist_id` integer, nullable
  - `ticker` string, nullable
  - `shared_thesis_id` integer, nullable
  - `title` string, nullable
  - `version_number` integer, required
  - `visibility` 'sealed' | 'open', required
  - `as_of` string, date-time, nullable
  - `note` string, nullable
  - `subject_entry_id` string, uuid, nullable
  - `verdict` 'stands' | 'weakening' | 'superseded', nullable
  - `superseded_by_version_number` integer, nullable
  - `canonical_payload` object, required
  - `payload_sha256` string, required
  - `canonicalization` string, required
  - `already_on_record` 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
  - `confirmation_statement` string, required
  - `record_url` string, nullable
  - `generated_at` string, date-time, required
  - `mutation_performed` false
  - `provider_calls` 0
  - `model_calls` 0

## 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)
