---
title: "What changed since your last call"
method: GET
path: "/context/changes"
tags: ["Context"]
---

# What changed since your last call

`GET /context/changes`

## Request

- Base URL: `https://kellian.app/api/v1`
- URL: `https://kellian.app/api/v1/context/changes`
- Auth: one of:
  - none
  - HTTP bearer
  - API key in cookie `developer_auth`
  - API key in header `x-developer-auth`

## Query parameters

- `since` string, date-time, required: ISO 8601: your last call's until. Up to 7 days back.
- `types` string: Comma-separated: headline, analyst_view, trader_move, price_move, new_market, closing. Default: all.
- `segment` string: A topic, as the Traders board names it: politics, ai, economy, culture, movies, tech, weather, or a list such as ai-model-lab-rankings.
- `category` union: A market category: POLITICS, AI, MOVIES_TV, SPORTS, CRYPTO and the rest.
  - 'CRYPTO' | 'SPORTS' | 'POLITICS' | 'ELECTIONS' | 'FINANCE' | 'TECH' | 'WORLD' | 'ECONOMY' | 'CULTURE' | 'WEATHER' | 'SCIENCE_HEALTH' | 'AI' | 'GAMING' | 'BUSINESS' | 'FASHION' | 'MOVIES_TV' | 'MUSIC' | 'SHOPPING' | 'BEAUTY' | 'TRAVEL' | 'CLIMATE' | 'DAILY_LIFE' | 'LOCAL' | 'SOCIAL' | 'FUN' | 'OTHER': The market's arena. Retired names are stored as their successor; OTHER is unfiled. Open enum: tolerate unseen values.
  - string
- `ids` string: Limit the feed to these markets (base:0x…, comma-separated).
- `cursor` string: Continue a long feed: the nextCursor of the previous page.

## Response `200`

Success

- ContextChangesResponse
  - `since` string, date-time, required
  - `until` string, date-time, required
  - `changes` ContextChange[], required
    - union
      - object
        - `type` 'headline', required
        - `at` string, date-time, required
        - `market` string, required
        - `question` string, required
        - `headline` object, required
          - `title` string, required
          - `outlet` string, required
          - `publishedAt` string, date-time, required
          - `url` string, uri, required
      - object
        - `type` 'analyst_view', required
        - `at` string, date-time, required
        - `market` string, required
        - `question` string, required
        - `view` object, required
          - `name` string, required
          - `chance` number, required
          - `priceAtTake` number, required
          - `reason` string, nullable, required
      - object
        - `type` 'trader_move', required
        - `at` string, date-time, required
        - `market` string, required
        - `question` string, required
        - `move` object, required
          - `name` string, required
          - `wallet` string, required
          - `tier` 'top' | 'profitable', required
          - `action` 'bought' | 'sold', required
          - `side` 'outcome1' | 'outcome2', required
      - object
        - `type` 'price_move', required
        - `at` string, date-time, required
        - `market` string, required
        - `question` string, required
        - `move` object, required
          - `from` number, required
          - `to` number, required
          - `over` '1h' | '24h', required
      - object
        - `type` 'new_market', required
        - `at` string, date-time, required
        - `market` string, required
        - `question` string, required
        - `chance` number, nullable, required
      - object
        - `type` 'closing', required
        - `at` string, date-time, required
        - `market` string, required
        - `question` string, required
        - `chance` number, nullable, required
        - `closes` string, date-time, required
  - `counts` object, required
    - `headline` integer, required
    - `analyst_view` integer, required
    - `trader_move` integer, required
    - `price_move` integer, required
    - `new_market` integer, required
    - `closing` integer, required
  - `next` string, required
  - `nextCursor` string, nullable, required
  - `meta` ContextMeta, required
    - `asOf` string, date-time, required
    - `plan` 'free_preview' | 'plus' | 'api_pro', required
    - `preview` boolean, required
    - `requested` integer, nullable, required
    - `count` integer, required
    - `withheld` string[], required
    - `limits` object, required
      - `marketsPerCall` integer, required
      - `callsPerDay` integer, required
      - `callsLeftToday` integer, required
      - `headlinesPerMarket` integer, required
      - `analysts` 'average only' | 'every analyst with reasons', required
      - `topTraders` 'counts only' | 'names, sides and moves', required
      - `changeFeed` boolean, required
    - `locked` object, required
      - `markets` integer, required
      - `headlines` integer, required
      - `analystViews` integer, required
      - `traderMembers` integer, required
      - `changes` integer, required
    - `upgrade` string, nullable, required
    - `sameAsSite` 'Built from the reads kellian.app serves; the numbers match the market pages.', required
    - `notice` 'Research, not financial advice.', required
    - `affiliation` 'Kellian is not affiliated with Polymarket.', required

## Other responses

- `400`: Error: one of INVALID_PAYLOAD
- `401`: Error: one of AUTH_REQUIRED
- `403`: Error: one of FORBIDDEN
- `429`: Error: one of RATE_LIMITED
- `500`: Error: one of INTERNAL_ERROR
- `default`: Error response (RFC 9457 Problem Details for HTTP APIs)

---

[API](https://skmtc.dev/problee/apis/kellian-consumer-api.md) · [All operations](https://skmtc.dev/problee/apis/kellian-consumer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/problee/apis/kellian-consumer-api/revisions/2b8254b0ec57?raw)
