Props

One prop's full evidence: book line, Flash line, gap, form, splits, movement

The whole story of a single prop in one call: posted book line, Flash line + unrounded baseline, gap and gap%, recent form (mean/median/volatility) with hit rate vs the POSTED book line, sport-native splits (home/away + opponent, plus CoD mode splits + map log), a Confidence Layer, and line movement. Available when the sport's registered provider models this market (see /sports and /markets); otherwise returns found:false with a reason. No picks, no advice. TIERED: free gets a teaser (book + Flash line + gap, analysis locked), Builder adds recent form + Confidence read + movement delta + teaser splits, Pro returns the full stack (all splits, movement series, full Confidence reasons). Paywall metadata { gated, preview, requiredTier, lockedFields, upgradeMessage } says exactly what is locked. Every absent section carries an explicit missingReason.

get/api/v1/evidence

Request

  • Base URL: https://api.flashodds.live
  • URL: https://api.flashodds.live/api/v1/evidence
  • Auth: HTTP bearer

Query parameters

playerstring required

Player gamertag (case-insensitive contains match). Required.

Example:Dashy
statstring required

Stat key (see GET /markets). Required.

Example:kills_on_game_1
sportstring

Sports whose registered provider models this market return evidence (see /sports, /markets); others found:false with a reason.

Example:cod
eventstring

Restrict to one event id.

Example:ud-197605

Response

Assembled prop evidence

foundboolean required

False when neither a posted line nor a Flash model exists for this prop.

sportstring required
gapnumber nullable required

flash.line - book.line, signed.

gapPctnumber nullable required

gap as a percent of the book line.

missingReasonsstring[] required

Explicit reasons any section is absent. Never a silent omission.

disclaimerstring required
gatedboolean required

True when data was withheld for your tier.

previewboolean required

True when this is a reduced/preview view.

requiredTier'starter' | 'pro' | 'enterprise' | 'null' nullable required

Lowest tier that unlocks the first locked field. Null when nothing is gated.

lockedFieldsstring[] required

Dot-paths of the fields withheld for your tier.

upgradeMessagestring nullable required

Human upgrade prompt, or null when nothing is gated.

Example response

{
  "market": {
    "statKey": "kills_on_game_1",
    "label": "Map 1 Kills",
    "family": "kills",
    "scopeKind": "map",
    "scope": "map1",
    "scopeLabel": "Map 1",
    "unit": "kills",
    "displayOrder": 1,
    "uiGroup": "kills"
  },
  "book": {
    "line": 27.5,
    "source": "underdog"
  },
  "flash": {
    "line": 25,
    "rawBaseline": 24.8,
    "method": "season Hardpoint kills/map",
    "version": "baseline-v1",
    "sampleN": 82,
    "mode": "hp",
    "modeLabel": "Hardpoint"
  },
  "splits": [
    {
      "title": "Home / Away"
    }
  ],
  "recentMaps": [
    {
      "date": "2026-06-28T19:00:00.000Z",
      "mapName": "Scar",
      "mode": "Hardpoint"
    }
  ],
  "disclaimer": "Data feed only. No picks. No wagers."
}

Changes

No recorded changes to this operation across all 1 revision of this API.