API
Implemented backend endpoints.
These endpoints are implemented in the Worker router. Auth and deployment wiring are intentionally deferred.
Public endpoints
GET /health
GET /cards
GET /cards/:card_id
GET /daily-digest/:date
GET /companies
GET /companies/:issuer_id
GET /companies/:issuer_id/cards
GET /companies/:issuer_id/sensitivities
GET /sectors
GET /sectors/:sector_id
GET /sectors/:sector_id/cards
POST /feedback
POST /watchlist
DELETE /watchlist/:item_id Internal endpoints
POST /internal/ingest/market-data
POST /internal/ingest/filings
POST /internal/ingest/documents
POST /internal/knowledge-edges
POST /internal/generate/cards
POST /internal/generate/cards:enqueue
POST /internal/generate/sector-readthrough
POST /internal/pipeline/post-market
POST /internal/review/cards/:card_id/approve
POST /internal/review/cards/:card_id/reject
POST /internal/review/cards/:card_id/edit-approve
GET /internal/pipeline-runs
POST /internal/pipeline-runs Example: generate one card
POST /internal/generate/cards
Content-Type: application/json
{
"asset": {
"issuer_id": "interglobe_aviation_ltd",
"listing_id": "nse_indigo_eq",
"display_name": "IndiGo",
"symbol": "INDIGO",
"sector_id": "aviation"
},
"price_bar": {
"listing_id": "nse_indigo_eq",
"date": "2026-04-25",
"open": 4710,
"high": 4930,
"low": 4680,
"close": 4910,
"previous_close": 4667.3,
"volume": 2300000
},
"market_return_pct": 0.8,
"sector_return_pct": 1.4,
"return_history": [],
"volume_history": []
} Status rules
- Generation returns
201when verifier passes,422when rejected by verifier. - Batch ingestion can return
207when some rows are rejected or have high-severity issues. - Malformed JSON returns
400 invalid_json. - Generated cards are not public until review publishes them.