{
  "@context": {
    "@vocab": "https://odds-api.io/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "odds": "https://odds-api.io/schema#",
    "controllers.ErrorResponse": "odds:controllers.ErrorResponse",
    "error": {
      "@id": "odds:error",
      "@type": "xsd:string"
    },
    "controllers.EventResponse": "odds:controllers.EventResponse",
    "away": {
      "@id": "odds:away",
      "@type": "xsd:string"
    },
    "awayId": {
      "@id": "odds:awayId",
      "@type": "xsd:integer"
    },
    "bookmakerIds": {
      "@id": "odds:bookmakerIds"
    },
    "bookmakers": {
      "@id": "odds:bookmakers"
    },
    "date": {
      "@id": "odds:date",
      "@type": "xsd:string"
    },
    "home": {
      "@id": "odds:home",
      "@type": "xsd:string"
    },
    "homeId": {
      "@id": "odds:homeId",
      "@type": "xsd:integer"
    },
    "id": {
      "@id": "odds:id",
      "@type": "xsd:integer"
    },
    "league": {
      "@id": "odds:league",
      "@type": "@id"
    },
    "scores": {
      "@id": "odds:scores",
      "@type": "@id"
    },
    "sport": {
      "@id": "odds:sport",
      "@type": "@id"
    },
    "status": {
      "@id": "odds:status",
      "@type": "xsd:string"
    },
    "urls": {
      "@id": "odds:urls"
    },
    "controllers.HandicapMovement": "odds:controllers.HandicapMovement",
    "draw": {
      "@id": "odds:draw",
      "@type": "xsd:decimal"
    },
    "hdp": {
      "@id": "odds:hdp",
      "@type": "xsd:string"
    },
    "max": {
      "@id": "odds:max",
      "@type": "xsd:integer"
    },
    "timestamp": {
      "@id": "odds:timestamp",
      "@type": "xsd:integer"
    },
    "controllers.HandicapMovementsResponse": "odds:controllers.HandicapMovementsResponse",
    "bookmaker": {
      "@id": "odds:bookmaker",
      "@type": "xsd:string"
    },
    "eventid": {
      "@id": "odds:eventid",
      "@type": "xsd:string"
    },
    "latest": {
      "@id": "odds:latest",
      "@type": "@id"
    },
    "movements": {
      "@id": "odds:movements",
      "@container": "@list"
    },
    "opening": {
      "@id": "odds:opening",
      "@type": "@id"
    },
    "controllers.League": "odds:controllers.League",
    "name": {
      "@id": "odds:name",
      "@type": "xsd:string"
    },
    "slug": {
      "@id": "odds:slug",
      "@type": "xsd:string"
    },
    "controllers.LeagueResponse": "odds:controllers.LeagueResponse",
    "eventsCount": {
      "@id": "odds:eventsCount",
      "@type": "xsd:integer"
    },
    "controllers.MarketInfo": "odds:controllers.MarketInfo",
    "shape": {
      "@id": "odds:shape",
      "@type": "xsd:string"
    },
    "period": {
      "@id": "odds:period",
      "@type": "xsd:string"
    },
    "prematch": {
      "@id": "odds:prematch",
      "@type": "xsd:boolean"
    },
    "live": {
      "@id": "odds:live",
      "@type": "xsd:boolean"
    },
    "controllers.MarketsResponse": "odds:controllers.MarketsResponse",
    "markets": {
      "@id": "odds:markets",
      "@container": "@list"
    },
    "controllers.Sport": "odds:controllers.Sport",
    "controllers.SportResponse": "odds:controllers.SportResponse",
    "dto.ArbitrageLeg": "odds:dto.ArbitrageLeg",
    "bookmakerFixtureId": {
      "@id": "odds:bookmakerFixtureId",
      "@type": "xsd:string"
    },
    "href": {
      "@id": "odds:href",
      "@type": "xsd:string"
    },
    "netOdds": {
      "@id": "odds:netOdds",
      "@type": "xsd:string"
    },
    "maxStake": {
      "@id": "odds:maxStake",
      "@type": "xsd:decimal"
    },
    "oddsUpdatedAt": {
      "@id": "odds:oddsUpdatedAt",
      "@type": "xsd:dateTime"
    },
    "side": {
      "@id": "odds:side",
      "@type": "xsd:string"
    },
    "dto.ArbitrageOpportunity": "odds:dto.ArbitrageOpportunity",
    "event": {
      "@id": "odds:event"
    },
    "eventId": {
      "@id": "odds:eventId",
      "@type": "xsd:integer"
    },
    "firstSeenAt": {
      "@id": "odds:firstSeenAt",
      "@type": "xsd:dateTime"
    },
    "impliedProbability": {
      "@id": "odds:impliedProbability",
      "@type": "xsd:decimal"
    },
    "legs": {
      "@id": "odds:legs",
      "@container": "@list"
    },
    "market": {
      "@id": "odds:market"
    },
    "optimalStakes": {
      "@id": "odds:optimalStakes",
      "@container": "@list"
    },
    "profitMargin": {
      "@id": "odds:profitMargin",
      "@type": "xsd:decimal"
    },
    "totalStake": {
      "@id": "odds:totalStake",
      "@type": "xsd:decimal"
    },
    "updatedAt": {
      "@id": "odds:updatedAt",
      "@type": "xsd:string"
    },
    "dto.BookmakerOdds": "odds:dto.BookmakerOdds",
    "awayDirectLink": {
      "@id": "odds:awayDirectLink",
      "@type": "xsd:string"
    },
    "drawDirectLink": {
      "@id": "odds:drawDirectLink",
      "@type": "xsd:string"
    },
    "homeDirectLink": {
      "@id": "odds:homeDirectLink",
      "@type": "xsd:string"
    },
    "dto.ClockDto": "odds:dto.ClockDto",
    "minute": {
      "@id": "odds:minute",
      "@type": "xsd:integer"
    },
    "playedSeconds": {
      "@id": "odds:playedSeconds",
      "@type": "xsd:integer"
    },
    "running": {
      "@id": "odds:running",
      "@type": "xsd:boolean"
    },
    "statusDetail": {
      "@id": "odds:statusDetail",
      "@type": "xsd:string"
    },
    "serve": {
      "@id": "odds:serve",
      "@type": "xsd:string"
    },
    "injuryTime": {
      "@id": "odds:injuryTime",
      "@type": "xsd:integer"
    },
    "periodStartedAt": {
      "@id": "odds:periodStartedAt",
      "@type": "xsd:integer"
    },
    "dto.DroppingOddsEntry": "odds:dto.DroppingOddsEntry",
    "betSide": {
      "@id": "odds:betSide",
      "@type": "xsd:string"
    },
    "lastMovedAt": {
      "@id": "odds:lastMovedAt",
      "@type": "xsd:integer"
    },
    "dto.DroppingOddsEvent": "odds:dto.DroppingOddsEvent",
    "dto.DroppingOddsMovement": "odds:dto.DroppingOddsMovement",
    "current": {
      "@id": "odds:current",
      "@type": "xsd:decimal"
    },
    "drop": {
      "@id": "odds:drop",
      "@type": "@id"
    },
    "dto.EventInfo": "odds:dto.EventInfo",
    "dto.EventValueBet": "odds:dto.EventValueBet",
    "bookmakerOdds": {
      "@id": "odds:bookmakerOdds",
      "@type": "@id"
    },
    "expectedValue": {
      "@id": "odds:expectedValue",
      "@type": "xsd:decimal"
    },
    "expectedValueUpdatedAt": {
      "@id": "odds:expectedValueUpdatedAt",
      "@type": "xsd:string"
    },
    "bookmakerOddsUpdatedAt": {
      "@id": "odds:bookmakerOddsUpdatedAt",
      "@type": "xsd:dateTime"
    },
    "dto.League": "odds:dto.League",
    "dto.Market": "odds:dto.Market",
    "label": {
      "@id": "odds:label",
      "@type": "xsd:string"
    },
    "dto.MarketResult": "odds:dto.MarketResult",
    "dto.MultiMarketDto": "odds:dto.MultiMarketDto",
    "dto.Odds": "odds:dto.Odds",
    "X2": {
      "@id": "odds:X2",
      "@type": "xsd:string"
    },
    "awayLink": {
      "@id": "odds:awayLink",
      "@type": "xsd:string"
    },
    "depthAway": {
      "@id": "odds:depthAway",
      "@type": "xsd:string"
    },
    "depthDraw": {
      "@id": "odds:depthDraw",
      "@type": "xsd:string"
    },
    "depthHome": {
      "@id": "odds:depthHome",
      "@type": "xsd:string"
    },
    "depthLayAway": {
      "@id": "odds:depthLayAway",
      "@type": "xsd:string"
    },
    "depthLayDraw": {
      "@id": "odds:depthLayDraw",
      "@type": "xsd:string"
    },
    "depthLayHome": {
      "@id": "odds:depthLayHome",
      "@type": "xsd:string"
    },
    "depthLayNo": {
      "@id": "odds:depthLayNo",
      "@type": "xsd:string"
    },
    "depthLayOver": {
      "@id": "odds:depthLayOver",
      "@type": "xsd:string"
    },
    "depthLayUnder": {
      "@id": "odds:depthLayUnder",
      "@type": "xsd:string"
    },
    "depthLayYes": {
      "@id": "odds:depthLayYes",
      "@type": "xsd:string"
    },
    "depthNo": {
      "@id": "odds:depthNo",
      "@type": "xsd:string"
    },
    "depthOver": {
      "@id": "odds:depthOver",
      "@type": "xsd:string"
    },
    "depthUnder": {
      "@id": "odds:depthUnder",
      "@type": "xsd:string"
    },
    "depthYes": {
      "@id": "odds:depthYes",
      "@type": "xsd:string"
    },
    "drawLink": {
      "@id": "odds:drawLink",
      "@type": "xsd:string"
    },
    "even": {
      "@id": "odds:even",
      "@type": "xsd:string"
    },
    "exactly": {
      "@id": "odds:exactly",
      "@type": "xsd:string"
    },
    "homeLink": {
      "@id": "odds:homeLink",
      "@type": "xsd:string"
    },
    "layAway": {
      "@id": "odds:layAway",
      "@type": "xsd:string"
    },
    "layDraw": {
      "@id": "odds:layDraw",
      "@type": "xsd:string"
    },
    "layHome": {
      "@id": "odds:layHome",
      "@type": "xsd:string"
    },
    "layNo": {
      "@id": "odds:layNo",
      "@type": "xsd:string"
    },
    "layOver": {
      "@id": "odds:layOver",
      "@type": "xsd:string"
    },
    "layUnder": {
      "@id": "odds:layUnder",
      "@type": "xsd:string"
    },
    "layYes": {
      "@id": "odds:layYes",
      "@type": "xsd:string"
    },
    "neither": {
      "@id": "odds:neither",
      "@type": "xsd:string"
    },
    "no": {
      "@id": "odds:no",
      "@type": "xsd:string"
    },
    "none": {
      "@id": "odds:none",
      "@type": "xsd:string"
    },
    "odd": {
      "@id": "odds:odd",
      "@type": "xsd:string"
    },
    "over": {
      "@id": "odds:over",
      "@type": "xsd:string"
    },
    "under": {
      "@id": "odds:under",
      "@type": "xsd:string"
    },
    "yes": {
      "@id": "odds:yes",
      "@type": "xsd:string"
    },
    "dto.OddsDrop": "odds:dto.OddsDrop",
    "sinceOpening": {
      "@id": "odds:sinceOpening",
      "@type": "xsd:decimal"
    },
    "dto.OptimalStake": "odds:dto.OptimalStake",
    "potentialReturn": {
      "@id": "odds:potentialReturn",
      "@type": "xsd:decimal"
    },
    "stake": {
      "@id": "odds:stake",
      "@type": "xsd:decimal"
    },
    "dto.ParticipantDto": "odds:dto.ParticipantDto",
    "game": {
      "@id": "odds:game",
      "@type": "xsd:string"
    },
    "shortCode": {
      "@id": "odds:shortCode",
      "@type": "xsd:string"
    },
    "dto.PeriodScore": "odds:dto.PeriodScore",
    "overs": {
      "@id": "odds:overs"
    },
    "wickets": {
      "@id": "odds:wickets"
    },
    "dto.Score": "odds:dto.Score",
    "periods": {
      "@id": "odds:periods"
    },
    "dto.SideFloats": "odds:dto.SideFloats",
    "dto.SideInts": "odds:dto.SideInts",
    "dto.SimpleEventDto": "odds:dto.SimpleEventDto",
    "bookmakerCount": {
      "@id": "odds:bookmakerCount",
      "@type": "xsd:integer"
    },
    "clock": {
      "@id": "odds:clock"
    },
    "esports": {
      "@id": "odds:esports"
    },
    "dto.EsportsDto": "odds:dto.EsportsDto",
    "region": {
      "@id": "odds:region",
      "@type": "xsd:string"
    },
    "format": {
      "@id": "odds:format"
    },
    "dto.EsportsFormatDto": "odds:dto.EsportsFormatDto",
    "type": {
      "@id": "odds:type",
      "@type": "xsd:string"
    },
    "games": {
      "@id": "odds:games",
      "@type": "xsd:integer"
    },
    "dto.Sport": "odds:dto.Sport",
    "models.Bookmaker": "odds:models.Bookmaker",
    "active": {
      "@id": "odds:active",
      "@type": "xsd:boolean"
    },
    "createdAt": {
      "@id": "odds:createdAt",
      "@type": "xsd:dateTime"
    },
    "reason": {
      "@id": "odds:reason",
      "@type": "xsd:string"
    },
    "controllers.NativeIDMapping": "odds:controllers.NativeIDMapping",
    "nativeEventId": {
      "@id": "odds:nativeEventId",
      "@type": "xsd:string"
    },
    "marketId": {
      "@id": "odds:marketId",
      "@type": "xsd:string"
    },
    "outcomeId": {
      "@id": "odds:outcomeId",
      "@type": "xsd:string"
    },
    "outcomeLabel": {
      "@id": "odds:outcomeLabel",
      "@type": "xsd:string"
    },
    "extra": {
      "@id": "odds:extra"
    },
    "lastCheckedAt": {
      "@id": "odds:lastCheckedAt",
      "@type": "xsd:dateTime"
    },
    "controllers.NativeIDMappingPage": "odds:controllers.NativeIDMappingPage",
    "data": {
      "@id": "odds:data",
      "@container": "@list"
    },
    "nextCursor": {
      "@id": "odds:nextCursor",
      "@type": "xsd:string"
    },
    "dto.FeedBookmakerStatusDoc": "odds:dto.FeedBookmakerStatusDoc",
    "lastWriteAt": {
      "@id": "odds:lastWriteAt",
      "@type": "xsd:string"
    },
    "controllers.EventSummary": "odds:controllers.EventSummary",
    "computedAt": {
      "@id": "odds:computedAt",
      "@type": "xsd:string"
    },
    "demo": {
      "@id": "odds:demo",
      "@type": "xsd:boolean"
    },
    "message": {
      "@id": "odds:message",
      "@type": "xsd:string"
    },
    "controllers.SummaryExchangeQuote": "odds:controllers.SummaryExchangeQuote",
    "best": {
      "@id": "odds:best",
      "@type": "xsd:decimal"
    },
    "currency": {
      "@id": "odds:currency",
      "@type": "xsd:string"
    },
    "liquidity": {
      "@id": "odds:liquidity",
      "@type": "xsd:decimal"
    },
    "venue": {
      "@id": "odds:venue",
      "@type": "xsd:string"
    },
    "controllers.SummaryLine": "odds:controllers.SummaryLine",
    "books": {
      "@id": "odds:books",
      "@type": "xsd:integer"
    },
    "exchanges": {
      "@id": "odds:exchanges",
      "@type": "@id"
    },
    "fairBooks": {
      "@id": "odds:fairBooks",
      "@type": "xsd:integer"
    },
    "main": {
      "@id": "odds:main",
      "@type": "xsd:boolean"
    },
    "outcomes": {
      "@id": "odds:outcomes",
      "@type": "@id"
    },
    "payout": {
      "@id": "odds:payout",
      "@type": "@id"
    },
    "controllers.SummaryMarket": "odds:controllers.SummaryMarket",
    "lines": {
      "@id": "odds:lines",
      "@container": "@list"
    },
    "controllers.SummaryOutcome": "odds:controllers.SummaryOutcome",
    "average": {
      "@id": "odds:average",
      "@type": "xsd:decimal"
    },
    "bestBookmakers": {
      "@id": "odds:bestBookmakers",
      "@container": "@list"
    },
    "excluded": {
      "@id": "odds:excluded",
      "@type": "xsd:integer"
    },
    "fair": {
      "@id": "odds:fair",
      "@type": "xsd:decimal"
    },
    "median": {
      "@id": "odds:median",
      "@type": "xsd:decimal"
    },
    "sharpFair": {
      "@id": "odds:sharpFair",
      "@type": "xsd:decimal"
    },
    "worst": {
      "@id": "odds:worst",
      "@type": "xsd:decimal"
    },
    "controllers.SummaryPayout": "odds:controllers.SummaryPayout",
    "controllers.SettlementResponse": "odds:controllers.SettlementResponse",
    "final": {
      "@id": "odds:final",
      "@type": "xsd:boolean"
    },
    "settledAt": {
      "@id": "odds:settledAt",
      "@type": "xsd:dateTime"
    },
    "controllers.SettlementsResponse": "odds:controllers.SettlementsResponse",
    "settlements": {
      "@id": "odds:settlements",
      "@container": "@list"
    },
    "notFound": {
      "@id": "odds:notFound",
      "@container": "@list"
    },
    "controllers.GradeSelectionRequest": "odds:controllers.GradeSelectionRequest",
    "ref": {
      "@id": "odds:ref",
      "@type": "xsd:string"
    },
    "tieRule": {
      "@id": "odds:tieRule",
      "@type": "xsd:string"
    },
    "controllers.GradeRequest": "odds:controllers.GradeRequest",
    "selections": {
      "@id": "odds:selections",
      "@container": "@list"
    },
    "settlement.Basis": "odds:settlement.Basis",
    "scope": {
      "@id": "odds:scope",
      "@type": "xsd:string"
    },
    "controllers.GradeResponse": "odds:controllers.GradeResponse",
    "result": {
      "@id": "odds:result",
      "@type": "xsd:string"
    },
    "basis": {
      "@id": "odds:basis",
      "@type": "@id"
    },
    "controllers.GradesResponse": "odds:controllers.GradesResponse",
    "grades": {
      "@id": "odds:grades",
      "@container": "@list"
    },
    "dto.OutrightDto": "odds:dto.OutrightDto",
    "dto.OutrightRunner": "odds:dto.OutrightRunner",
    "participantId": {
      "@id": "odds:participantId",
      "@type": "xsd:integer"
    },
    "layOdds": {
      "@id": "odds:layOdds",
      "@type": "xsd:string"
    },
    "dto.OutrightMarketDto": "odds:dto.OutrightMarketDto",
    "dto.OutrightOddsResponse": "odds:dto.OutrightOddsResponse",
    "dto.OutrightResultRow": "odds:dto.OutrightResultRow",
    "position": {
      "@id": "odds:position",
      "@type": "xsd:integer"
    },
    "tied": {
      "@id": "odds:tied",
      "@type": "xsd:boolean"
    },
    "madeCut": {
      "@id": "odds:madeCut",
      "@type": "xsd:boolean"
    },
    "dto.OutrightResultsResponse": "odds:dto.OutrightResultsResponse",
    "results": {
      "@id": "odds:results",
      "@container": "@list"
    },
    "winners": {
      "@id": "odds:winners"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Odds-API.io API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Odds-API.io's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-06) from openapi/odds-api-io-openapi.json.",
  "dcterms:created": "2026-11-06",
  "dcterms:source": [
    "openapi/odds-api-io-openapi.json"
  ]
}