Watchlist

Monitor companies with recurring research. Get notified when scores change significantly.

POST /v1/watchlist

Add a company to the watchlist with a recurring schedule.

Request body

{
  "company_url": "https://example.com",
  "company_name": "Example Inc",
  "schedule": "biweekly"
}

Response

{
  "object": "watchlist_item",
  "id": 1,
  "company_url": "https://example.com",
  "company_name": "Example Inc",
  "schedule": "biweekly",
  "status": "active"
}
GET /v1/watchlist

List all watched companies. Supports cursor pagination.

Response

{
  "object": "list",
  "data": [
    {
      "object": "watchlist_item",
      "id": 1,
      "company_url": "https://example.com",
      "company_name": "Example Inc",
      "schedule": "biweekly",
      "status": "active",
      "latest_composite_score": 78,
      "latest_pain_score": 85
    }
  ],
  "has_more": false
}
PATCH /v1/watchlist/{item_id}

Update schedule or pause/resume a watchlist item.

Request body

{ "schedule": "weekly" }
// or
{ "status": "paused" }

Response

{
  "object": "watchlist_item",
  "id": 1,
  "company_url": "https://example.com",
  "schedule": "weekly",
  "status": "active"
}
GET /v1/watchlist/{item_id}/history

Get score change history for a watched company.

Response

{
  "object": "watchlist_history",
  "history": [
    {
      "date": "2026-02-16",
      "composite_score": 78,
      "pain_score": 85,
      "fit_score": 72,
      "timing_score": 80
    },
    {
      "date": "2026-02-01",
      "composite_score": 65,
      "pain_score": 70,
      "fit_score": 68,
      "timing_score": 55
    }
  ]
}
DELETE /v1/watchlist/{item_id}

Remove a company from the watchlist. Returns 204 on success.