---
title: "List Alerts"
method: GET
path: "/alerts"
tags: ["alerts"]
---

# List Alerts

`GET /alerts`

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

This user's alerts, paged in either trading-day direction and optionally narrowed.

Current assessment projections include append-only corrections while preserving
original alert IDs and source evidence.

Filtering belongs on the server because every reader asks for a page at a time.
Narrowing client-side would filter what was already fetched and show a fraction of
it, when what the reader asked for is a full page of matches.

Offset paging rather than a cursor. The ordering is composite -- trading day, then
whether the ticker carries a thesis, then time -- and a cursor over three keys is a
great deal of machinery for a feed that gains rows once a day from a scheduled
sweep. The known cost is that an alert arriving mid-scroll can shift a row across a
page boundary; for a home-page preview that is a duplicate line, not a lost one.

## Query parameters

- `limit` integer
- `offset` integer
- `ticker` string, nullable
- `source` string, nullable
- `impact` string, nullable
- `sort_order` 'newest' | 'oldest'

## Response `200`

Successful Response

- AlertOut[]
  - `id` integer, required
  - `watchlist_id` integer, nullable, required
  - `ticker` string, required
  - `source` string, required
  - `title` string, required
  - `summary` string, required
  - `source_url` string, nullable, required
  - `company_transcript_url` string, nullable
  - `detected_at` string, date-time, required
  - `evidence` string, nullable
  - `thesis_text` string, nullable
  - `materiality` 'material' | 'immaterial' | 'uncertain' | 'unknown'
  - `relevance_model` string, nullable
  - `evaluation_version` string, nullable
  - `relationship` 'support' | 'contradict' | 'neutral'
  - `directness` 'direct' | 'indirect' | 'none' | 'unknown'
  - `source_quality` 'primary' | 'reputable_secondary' | 'weak' | 'invalid' | 'unknown'
  - `novelty` 'new' | 'known' | 'duplicate' | 'unknown'
  - `citation_valid` boolean
  - `bridge_valid` boolean
  - `thesis_factor` string, nullable
  - `evidence_factor` string, nullable
  - `causal_bridge` string, nullable
  - `thesis_factor_kind` 'claim' | 'expectation' | 'invalidation' | 'narrative' | 'unknown'
  - `thesis_impact` 'strengthened' | 'weakened' | 'broken' | 'uncertain'
  - `source_locator` string, nullable
  - `source_artifact_version_id` integer, nullable
  - `source_segment_id` integer, nullable
  - `source_speaker_name` string, nullable
  - `source_section` string, nullable
  - `source_provider_code` string, nullable
  - `source_provider_item_id` string, nullable
  - `thesis_context_type` 'ticker' | 'shared'
  - `shared_thesis_id` integer, nullable
  - `shared_thesis_version_id` integer, nullable
  - `shared_thesis_version_number` integer, nullable
  - `shared_thesis_title` string, nullable
  - `shared_thesis_effect` 'tailwind' | 'headwind' | 'mixed' | 'uncertain', nullable
  - `shared_thesis_rationale` string, nullable
  - `feedback_labels` string[]
  - `has_thesis` boolean
  - `call_drift_thesis_impacts` CallDriftThesisImpactOut[]
    - `id` integer, required
    - `thesis_context_type` 'ticker' | 'shared', required
    - `shared_thesis_id` integer, nullable
    - `shared_thesis_title` string, nullable
    - `shared_thesis_effect` 'tailwind' | 'headwind' | 'mixed' | 'uncertain', nullable
    - `shared_thesis_rationale` string, nullable
    - `thesis_text` string, required
    - `reasoning` string, required
    - `materiality` 'material' | 'immaterial' | 'uncertain', required
    - `relationship` 'support' | 'contradict' | 'neutral', required
    - `thesis_factor` string, nullable
    - `evidence_factor` string, nullable
    - `causal_bridge` string, nullable
    - `thesis_factor_kind` 'claim' | 'expectation' | 'invalidation' | 'narrative' | 'unknown', required
    - `thesis_impact` 'strengthened' | 'weakened' | 'broken' | 'uncertain', required
    - `relevance_model` string, required
    - `evaluation_version` string, required
    - `evaluated_at` string, date-time, required
    - `is_backfill` boolean
    - `feedback_labels` string[]
  - `result_thesis_implications` ResultThesisImplicationsOut: Summary-first IA contract for a tenant judgment beneath shared evidence.
    - `artifact_id` integer, required
    - `source` 'ask' | 'call_drift' | 'filing_diff' | 'price_move', required
    - `state` 'not_evaluated' | 'pending' | 'ready', required
    - `implications` ResultThesisImplicationOut[]
      - `id` integer, required
      - `alert_id` integer, nullable
      - `status` 'pending' | 'relevant' | 'irrelevant' | 'abstained' | 'failed', required
      - `conclusion` 'supports' | 'weakens' | 'unrelated' | 'uncertain', required
      - `thesis_context_type` 'ticker' | 'shared', required
      - `shared_thesis_id` integer, nullable
      - `shared_thesis_title` string, nullable
      - `thesis_text` string, required
      - `reasoning` string, nullable
      - `materiality` 'material' | 'immaterial' | 'uncertain', nullable
      - `relationship` 'support' | 'contradict' | 'neutral', nullable
      - `thesis_impact` 'strengthened' | 'weakened' | 'broken' | 'uncertain', nullable
      - `thesis_factor` string, nullable
      - `evidence_factor` string, nullable
      - `causal_bridge` string, nullable
      - `evaluated_at` string, date-time, nullable
      - `is_backfill` boolean
      - `thesis_narrative` string, required
      - `thesis_components` ThesisComponentSnapshotOut[], required
        - `kind` 'claim' | 'expectation' | 'invalidation', required
        - `heading` string, required
        - `statement` 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)
