---
title: "Confirm Challenge"
method: POST
path: "/challenges/confirmations"
tags: ["challenges"]
---

# Confirm Challenge

`POST /challenges/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/challenges/confirmations`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Reserve one allowance/cost envelope and publish one immutable run.

## Request body

- ThesisChallengeConfirmationIn
  - `subject_type` 'company_thesis' | 'investment_theme', required
  - `subject_version` integer, required
  - `watchlist_id` integer, nullable
  - `ticker` string, nullable
  - `shared_thesis_id` integer, nullable
  - `schema_version` 'thesis-challenge-confirmation-v1', required
  - `idempotency_key` string, uuid, required
  - `proposal_idempotency_key` string, uuid, required
  - `operation` 'run_challenge', required
  - `confirmation_policy` 'explicit_approval_required', required
  - `confirmation_statement` 'I confirm TickerTrac may reserve one Challenge from the monthly allowance and the shown maximum model cost to test this exact saved thesis against the retained evidence shown. It will not rewrite my thesis or change any relationships.', required
  - `requested_window` 'retained_evidence_90_days', required
  - `result_limit` 3, required
  - `evidence_fingerprint` string, required
  - `reserved_cost_usd` union, required
    - number
    - string
  - `pricing_source` string, required

## Response `200`

Successful Response

- ThesisChallengeConfirmationOut
  - `schema_version` 'thesis-challenge-confirmation-v1', required
  - `idempotency_key` string, uuid, required
  - `proposal_idempotency_key` string, uuid, required
  - `operation` 'run_challenge', required
  - `confirmation_policy` 'explicit_approval_required', required
  - `confirmation_statement` 'I confirm TickerTrac may reserve one Challenge from the monthly allowance and the shown maximum model cost to test this exact saved thesis against the retained evidence shown. It will not rewrite my thesis or change any relationships.', required
  - `requested_window` 'retained_evidence_90_days', required
  - `result_limit` 3, required
  - `evidence_fingerprint` string, required
  - `reserved_cost_usd` string, required
  - `pricing_source` string, required
  - `request_replayed` boolean, required
  - `reservation_status` 'reserved' | 'admin_bypass', required
  - `allowance` ThesisChallengeAllowanceOut, required
    - `action` 'challenge'
    - `unit` 'challenge'
    - `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
  - `recovery_path` string, required
  - `run` ThesisChallengeRunOut, required
    - `id` integer, 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
    - `status` 'pending' | 'running' | 'ready' | 'insufficient_evidence' | 'failed', required
    - `stage` 'queued' | 'evaluating' | 'complete' | 'failed', required
    - `evidence_window_days` 90, required
    - `candidate_count` integer, required
    - `result_limit` 3, required
    - `reserved_cost_usd` string, required
    - `settled_cost_usd` string, nullable, required
    - `pricing_source` string, required
    - `results` ThesisChallengeItemOut[], required
      - `affected_assumption` string, required
      - `counter_evidence` string, required
      - `why_it_matters` string, required
      - `confidence` 'high' | 'medium' | 'low', required
      - `evidence` ThesisChallengeEvidenceOut[], required
        - `record_key` string, required
        - `record_type` 'alert' | 'theme_finding', required
        - `title` string, required
        - `excerpt` string, required
        - `source` string, required
        - `source_url` string, required
        - `observed_at` string, date-time, required
        - `ticker` string, nullable
        - `relationship` string, nullable
        - `materiality` string, required
    - `error_code` string, nullable, required
    - `requested_at` string, date-time, required
    - `started_at` string, date-time, nullable, required
    - `finished_at` string, date-time, nullable, required
    - `thesis_changed` false
    - `relationships_changed` false
    - `recovery_path` string, required

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