API reference · Receipts

Get an evidence pack

GET/v1/markets/{ticker}/evidence

Everything Langbot heard that bears on one market's phrases, in one signed document a resolver can check.

On this page

Auth. None. Without a token the call is served as Free (the Free delay and request budget, shared per IP); send Authorization: Bearer lb_… for your plan's.

Limits. Counts against your plan's API requests (60, 600 or 3,000 a minute on Free, Builder and Standard). Served at your plan's delay (+60 s Free, +10 s Builder, +2 s Standard).

Parameters

Path parameters

NameTypeRequiredDescription
tickerstringyesThe venue ticker or pm_<id>.

Query parameters

NameTypeRequiredDescription
formatstringnojson or jsonl. Default json.

Request

Terminal
curl "https://api.langbot.ai/v1/markets/KXTRUMPSAYCOMPANY-26DEC01-CVX/evidence"

Response

200 OK

JSON
{
  "v": 1,
  "report": "evidence",
  "ticker": "KXTRUMPSAYCOMPANY-26DEC01-CVX",
  "market": {
    "ticker": "KXTRUMPSAYCOMPANY-26DEC01-CVX",
    "venue": "kalshi",
    "event_id": "ev_kxtrumpsaycompany_26dec01",
    "title": "Will Trump say \"Chevron / CVX\" before Dec 1, 2026?",
    "rules_text": "If Chevron / CVX, or a plural or possessive form of Chevron / CVX, is stated by Donald Trump before Dec 1, 2026 at 12:00am ET, then the market resolves to Ye…",
    "phrases": ["chevron"],
    "status": "open",
    "close_ts": 1796137200000
  },
  "event": {
    "id": "ev_kxtrumpsaycompany_26dec01",
    "title": "What companies will Trump say in November?",
    "kind": "other",
    "starts_at": 1793505600000,
    "ends_at": 1796137200000,
    "status": "scheduled"
  },
  "phrases": ["chevron"],
  "facts": [
    {
      "id": "evt_R68F7JMMJWQ8P5PH5VKJGDCCB2",
      "type": "phrase_detected",
      "source_id": "src_shared_cbsnews_live",
      "event_id": "ev_kxtrumpsaycompany_26dec01",
      "phrase": "chevron",
      "speaker": {
        "key": "trump",
        "name": null,
        "label": "voice",
        "score": -0.018,
        "method": "voiceprint",
        "outcome": "other",
        "verified": false,
        "confidence": 0.0
      },
      "confidence": 0.18,
      "market_refs": ["KXTRUMPSAYCOMPANY-26DEC01-CVX"],
      "t_spoken": 1793603547492,
      "t_detected": 1793603547559,
      "t_emitted": 1793603547566,
      "lag_vs_public_ms": null,
      "source_kind": "hls",
      "seq": 1660,
      "raw_hash": "71298bdf7279e6ea3b55494cae03433a8b2536f583c23fbf79f6a89ff4b84886",
      "hash": "3b657a24a3d8f07b6afbf4cd6eb9e9dca1eb49353b4ce2ff0cf3103758666847",
      "prev_hash": "2117cd3977ed4731f4ed6e46664adb26d8754d558d73df10a1b2f60f14f5abaa",
      "chain_seq": 77126
    }
  ],
  "facts_count": 29,
  "transcript_excerpts": null,
  "reason": "transcript text is not redistributable for this event's sources (rights: restricted); phrase facts and receipts are complete without it (CONTRACTS §10)",
  "checkpoints": [
    {
      "id": "ckp_01M6EHAQ99A7ZQH3CTSTKWQE3G",
      "event_id": "ev_kxtrumpsaycompany_26dec01",
      "chain_seq": 15812,
      "hash": "a7a90db1d290757bf71849d4cca71b8019503b2981e5da567d8d6de522cdcee5",
      "count": 15812,
      "created_at": 1793636785449,
      "key_id": "25fda96224f38010",
      "signature": "nDbsJ2A9lW9tdK7IlgscJ1JbvjZcxTRZGiWrvFR8cpjfNdTMaVU4zx0frqx24anV7uhPFmgqYKDG1+UEXG3rDQ=="
    }
  ],
  "rights": "restricted",
  "delay_ms": 60000,
  "disclaimer": "Evidence pack: facts Langbot heard, with their receipts. It records what was said and when; it is not a determination of any market outcome.",
  "generated_at": 1793685895988,
  "key_id": "7c2794192d3cf5a0",
  "signature": "UtzL1bp7AlXGGysRAM3NxUPIvKnr2YZLFeUCk+1c0a99s4N8ON5M3QoqJo7KjvWzhCf9Ei5ge8ePoGVMuIP5DQ=="
}

A real response from the API; long lists are cut to their first items.

No field in a pack says yes, no or resolved: the venue settles its markets, and a pack is what someone resolving one can check. Transcript excerpts appear only where the source's rights allow.

Errors

StatuscodeWhen
404not_foundNo market with that ticker.
401token_invalidA token was sent and not recognised. Send a valid one, or none to call anonymously.
422validation_errorA parameter failed validation; detail[].loc names it.
429rate_limitedOver your request budget; wait Retry-After seconds.

Every error body is {"detail": …, "code": "…"}; branch on code. All codes: Errors.