---
title: "List Watchlist Call Drift"
method: GET
path: "/watchlists/{watchlist_id}/call-drift"
tags: ["watchlists"]
---

# List Watchlist Call Drift

`GET /watchlists/{watchlist_id}/call-drift`

## 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/watchlists/{watchlist_id}/call-drift`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Every retained comparison across this watchlist, newest first.

Call Drift is quarterly and sparse per ticker, which makes it easy to conclude
nothing is there when the truth is that you looked at one company between its
calls. Across a watchlist the same data reads as a running record of where
management's language moved, which is what the feature actually is.

Read-only and never a transcript or model fetch: this returns comparisons that
already exist, so opening the page cannot spend provider or model budget. A
ticker with no stored comparison is simply absent rather than computed on demand.

Each row is relabelled with the symbol this watchlist actually holds. The sweep
files one comparison per company under that company's plainest symbol, which is
not necessarily one the reader tracks -- Block is stored under BSQKZ -- so an
unrelabelled list would name a company by a symbol its own holder does not
recognise, and link to a ticker page they never opened.

## Path parameters

- `watchlist_id` integer, required

## Query parameters

- `limit` integer

## Response `200`

Successful Response

- CallDriftHistoryOut[]
  - `id` integer, required
  - `ticker` string, required
  - `current_title` string, required
  - `prior_title` string, required
  - `summary` string, required
  - `has_drift` boolean, required
  - `source_mode` string
  - `source_provider_code` string
  - `analyzer_version` string
  - `analysis_fingerprint` string
  - `current_source_artifact_version_id` integer, nullable
  - `prior_source_artifact_version_id` integer, nullable
  - `current_source_url` string, nullable
  - `prior_source_url` string, nullable
  - `findings` CallDriftFindingOut[]
    - `kind` string, required
    - `topic` string, required
    - `change` string, required
    - `current_evidence` CallDriftEvidenceOut, required
      - `source_segment_id` integer, nullable
      - `source_artifact_version_id` integer, nullable
      - `speaker_name` string, required
      - `speaker_role` string
      - `section` string, nullable
      - `source_locator` string, nullable
      - `quote` string, required
      - `source_url` string, nullable
      - `company_transcript_url` string, nullable
    - `prior_evidence` CallDriftEvidenceOut, required
      - `source_segment_id` integer, nullable
      - `source_artifact_version_id` integer, nullable
      - `speaker_name` string, required
      - `speaker_role` string
      - `section` string, nullable
      - `source_locator` string, nullable
      - `quote` string, required
      - `source_url` string, nullable
      - `company_transcript_url` string, nullable
  - `created_at` string, date-time, 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)
