---
title: "Confirm Thesis Replay"
method: POST
path: "/thesis-commands/replay-confirmations"
tags: ["thesis commands"]
---

# Confirm Thesis Replay

`POST /thesis-commands/replay-confirmations`

## 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/thesis-commands/replay-confirmations`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Confirm and delegate to Replay's existing allowance and durable job service.

## Request body

- ThesisReplayConfirmationIn: One explicit confirmation before the existing Replay reservation boundary.
  - `schema_version` 'thesis-replay-confirmation-v1', required
  - `idempotency_key` string, uuid, required
  - `proposal_idempotency_key` string, uuid, required
  - `operation` 'run_replay', required
  - `confirmation_policy` 'explicit_approval_required', required
  - `confirmation_statement` 'I confirm TickerTrac may reserve one replay from the monthly allowance to test this exact saved Company thesis against retained public evidence.', required
  - `requested_window` 'recent_90_days', required
  - `window_days` 90, required
  - `subject_type` 'company_thesis', required
  - `subject_version` integer, required
  - `watchlist_id` integer, required
  - `ticker` string, required

## Response `200`

Successful Response

- ThesisReplayConfirmationOut
  - `schema_version` 'thesis-replay-confirmation-v1', required
  - `idempotency_key` string, uuid, required
  - `proposal_idempotency_key` string, uuid, required
  - `operation` 'run_replay', required
  - `confirmation_policy` 'explicit_approval_required', required
  - `confirmation_statement` 'I confirm TickerTrac may reserve one replay from the monthly allowance to test this exact saved Company thesis against retained public evidence.', required
  - `requested_window` 'recent_90_days', required
  - `window_days` 90, required
  - `subject` ThesisReadSubjectOut, required
    - `subject_type` 'company_thesis' | 'investment_theme', required
    - `subject_key` string, required
    - `label` string, required
    - `narrative` string, required
    - `version_number` integer, required
    - `updated_at` string, date-time, required
    - `is_active` boolean, required
    - `workspace_path` string, required
  - `command_status` 'pending' | 'running' | 'complete' | 'failed', required
  - `reservation_status` 'reserved' | 'existing_job' | 'cached_result' | 'admin_bypass', required
  - `request_replayed` boolean, required
  - `allowance` ThesisReplayAllowanceOut, required
    - `action` 'historical_replay'
    - `unit` 'replay'
    - `daily_limit` integer, nullable, required
    - `used_today` integer, required
    - `remaining_today` integer, nullable, required
    - `monthly_limit` integer, nullable, required
    - `used_month` integer, required
    - `remaining_month` integer, nullable, required
    - `resets_at` string, date-time, required
    - `daily_resets_at` string, date-time, required
    - `admin_bypass` boolean, required
  - `confirmed_at` string, date-time, required
  - `transcript_persisted` false
  - `recovery_path` string, required
  - `replay` HistoricalReplayOut, required
    - `ticker` string, required
    - `thesis_text` string, required
    - `thesis_updated_at` string, date-time, required
    - `window_days` 90 | 365, required
    - `window_start` string, date-time, required
    - `transcript_window_start` string, date-time, required
    - `candidate_count` integer, required
    - `newly_evaluated_count` integer
    - `warmup` ReplayWarmupOut, required: Tenant-safe status for shared public-evidence preparation.
      - `status` 'not_started' | 'pending' | 'running' | 'complete' | 'partial' | 'failed', required
      - `ready` boolean, required
      - `candidate_count` integer
      - `added_count` integer
      - `attempt_count` integer
      - `requested_at` string, date-time, nullable
      - `started_at` string, date-time, nullable
      - `finished_at` string, date-time, nullable
      - `last_success_at` string, date-time, nullable
      - `error_code` string, nullable
    - `evaluation_job` ReplayEvaluationJobOut
      - `id` integer, required
      - `window_days` 90 | 365, required
      - `status` 'pending' | 'running' | 'complete' | 'failed', required
      - `stage` 'queued' | 'evaluating' | 'complete' | 'failed', required
      - `requested_at` string, date-time, required
      - `started_at` string, date-time, nullable, required
      - `finished_at` string, date-time, nullable, required
      - `attempt_count` integer, required
      - `candidate_count` integer, required
      - `completed_count` integer, required
      - `created_count` integer, required
      - `error_code` 'dispatch_failed' | 'task_failed' | 'source_unavailable' | 'release_mismatch', nullable
      - `updated_at` string, date-time, required
    - `track_record` TrackRecordBoundaryOut: IA-11. Where the investor's claim ends and TickerTrac's observation begins. ``asserted_source`` is fixed rather than inferred so no client can render the date as anything but the user's own claim. ``witnessed_since`` is the first moment the product actually monitored this thesis; everything before it is reconstructed after the fact and must be labeled that way.
      - `ticker` string, required
      - `asserted_formation_date` string, date, nullable
      - `asserted_formation_recorded_at` string, date-time, nullable
      - `asserted_source` 'user_claim'
      - `witnessed_since` string, date-time, required
      - `witnessed_since_source` 'version_history' | 'thesis_updated_at', required
      - `reconstructed_days` integer
    - `replay_reaches_asserted_start` boolean
    - `events` HistoricalReplayEventOut[], required
      - `id` integer, required
      - `assessment_status` 'assessed' | 'failed'
      - `source_event_id` integer, required
      - `ticker` string, required
      - `provider_code` 'sec_edgar' | 'company_ir' | 'earningscalls_dev', required
      - `source_kind` 'filing' | 'ir_presentation' | 'earnings_call', required
      - `title` string, required
      - `evidence_excerpt` string, required
      - `original_url` string, required
      - `effective_at` string, date-time, required
      - `published_at` string, date-time, required
      - `observed_at` string, date-time, required
      - `ingested_at` string, date-time, required
      - `source_content_hash` string, required
      - `source_snapshot_basis` 'evaluation_input' | 'legacy_captured_before_repair', nullable
      - `thesis_text` string, required
      - `thesis_updated_at` string, date-time, required
      - `relevant` boolean, required
      - `relationship` 'support' | 'contradict' | 'neutral', required
      - `materiality` 'material' | 'immaterial' | 'uncertain' | 'unknown', required
      - `citation_valid` boolean, required
      - `directness` 'direct' | 'indirect' | 'none' | 'unknown', required
      - `source_quality` 'primary' | 'reputable_secondary' | 'weak' | 'invalid' | 'unknown', required
      - `bridge_valid` boolean, required
      - `thesis_factor` string, nullable, required
      - `evidence_factor` string, nullable, required
      - `causal_bridge` string, nullable, required
      - `thesis_component_id` integer, nullable
      - `thesis_component_kind` 'claim' | 'expectation' | 'invalidation', nullable
      - `thesis_component_statement` string, nullable
      - `source_artifact_version_id` integer, nullable
      - `evidence_source_segment_id` integer, nullable
      - `evidence_quote` string, nullable
      - `evidence_speaker_name` string, nullable
      - `evidence_section` 'prepared_remarks' | 'questions_and_answers' | 'other' | 'unknown', nullable
      - `evidence_source_locator` string, nullable
      - `thesis_factor_kind` 'claim' | 'expectation' | 'invalidation' | 'narrative' | 'unknown'
      - `thesis_impact` 'strengthened' | 'weakened' | 'broken' | 'uncertain'
      - `reasoning` string, required
      - `evaluator_model` string, required
      - `evaluator_version` string, required
      - `evaluated_at` string, date-time, required
      - `feedback_labels` string[]
      - `is_historical_replay` true
      - `observation_status` 'witnessed' | 'reconstructed'

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