Signal API

Services/Eventa API

Eventa API

Eventa is a product slice on the events-first Signal API: multilingual curated RSS (when bounded ingestion is enabled), the same clustered events as the Events API, LLM-synthesized articles on those clusters, and GET /v1/eventa/proposals with language- and impact-style filters you do not get from a raw latest feed alone.

Who it is for

Multilingual news products, non-English or global prediction-style analytics, and teams that want curated RSS rotation plus structured market hypotheses in one graph. If you only need English-only clusters with no Eventa ingestion, start with the standard Events API; add Eventa when you need the proposal filters and curated mix.

Eventa vs GET /v1/events/latest alone

  • Same clusters: there is no separate Eventa events table—reads use /v1/events/* like Live.
  • Curated mix: with Eventa ingestion enabled, the global RSS tick pulls a bounded, rotating slice of feeds so clusters skew toward that multilingual editorial mix over time.
  • Proposal surface: GET /v1/eventa/proposals adds filters (language, region, proposal_kind, min impact/confidence/interest, status) and keyset pagination—use GET /v1/markets/proposals only when you want an unfiltered list.

Events (live clusters)

Eventa does not use a separate events database. Read clustered signals with the same /v1/events/* routes as the general Live API—for example GET /v1/events/latest, /v1/events/trending, by country and category. When the server enables bounded Eventa ingestion, the global RSS tick pulls a rotating slice of curated feeds so clusters reflect that multilingual mix over time.

Events API details →

Proposals (Eventa route)

GET /v1/eventa/proposals lists LLM-generated market-style proposals with optional filters: language, region, country (cluster country), proposal_kind (yes_no, up_down, threshold), min_impact, min_confidence, min_interest, status. Same API key as other /v1/* routes. For a flat list without Eventa filters, use GET /v1/markets/proposals.

Response fields include llm_hypothesis_type (original LLM type before mapping to proposal_kind).

Example GET /v1/eventa/proposals item (shape)
{
  "id": "…",
  "question": "Will … ?",
  "expiry_date": "2026-12-31T23:59:59Z",
  "resolution_sources": [],
  "source_article_ids": [],
  "status": "pending_review",
  "created_at": "2026-04-01T12:00:00Z",
  "notes": null,
  "cluster_id": "…",
  "proposal_kind": "yes_no",
  "llm_hypothesis_type": "more_less",
  "direction_hint": "up",
  "impact_score": 0.72,
  "confidence": 0.65,
  "interest_score": 0.58,
  "language": "en",
  "region": "EU",
  "assets": ["BTC"]
}

Auth & docs

Send X-API-Key or api_key like the rest of Signal API. OpenAPI/Swagger is available from the client portal after sign-in.

Public API documentation →

API docsAll servicesGet access