---
title: "List Position Decisions"
method: GET
path: "/position-decisions"
tags: ["position decisions"]
---

# List Position Decisions

`GET /position-decisions`

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

## Query parameters

- `watchlist_id` integer, nullable
- `shared_thesis_id` integer, nullable
- `ticker` string, nullable
- `limit` integer

## Response `200`

Successful Response

- PositionDecisionOut[]
  - `schema_version` 'position-decision-v1'
  - `id` integer, required
  - `subject_type` 'company_thesis' | 'investment_theme', required
  - `subject_version` integer, required
  - `subject_label` string, required
  - `watchlist_id` integer, nullable
  - `shared_thesis_id` integer, nullable
  - `ticker` string, required
  - `action` 'opened' | 'added' | 'reduced' | 'closed' | 'reopened', required
  - `occurred_at` string, date-time, required
  - `rationale` string, nullable
  - `events` PositionDecisionEventOut[]
    - `kind` 'alert' | 'source_event' | 'theme_finding', required
    - `referent_id` integer, required
    - `title` string, required
    - `occurred_at` string, date-time, required
    - `available_at` string, date-time, required
    - `source_url` string, nullable
    - `detail` string, nullable
    - `thesis_impact` 'strengthened' | 'weakened' | 'broken' | 'uncertain', nullable
    - `asserted_by_user` true
  - `price` PositionDecisionPriceOut, required
    - `basis` 'user_reported_execution' | 'market_reference' | 'unavailable', required
    - `amount` number, nullable
    - `currency` string, nullable
    - `reference_date` string, date, nullable
    - `source` string, nullable
    - `adjustment` 'splits', nullable
    - `coverage` 'current_symbol', nullable
  - `portfolio_weight_before_pct` number, nullable
  - `portfolio_weight_after_pct` number, nullable
  - `holding_change_pct` number, nullable
  - `recorded_at` string, date-time, required
  - `supersedes_id` integer, nullable
  - `superseded_by_id` integer, nullable
  - `is_current` boolean
  - `immutable` true

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