An application might receive home and away prices while the draw is unavailable. A list of prices alone does not tell the caller whether this is a two-outcome market or an incomplete three-outcome offer.
A source can be uncollected, unavailable, stale, suspended, denied, or incompatible with a reviewed comparison. These states call for different decisions. Display missing coverage explicitly and withhold calculations that require a complete vector.
Read coverage and entitlement information before issuing a large data query. On the current contract, account/control reads and errors are free. A successfully delivered metered data page uses one credit, including an empty result. Follow the credit and error rules.
Exercise empty and partial responses, expired quotes, and suspended markets. Use the documented native identity fields and retain missing reasons through your own interface.Read the odds reference, settlement guide, and freshness article.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Oddswire","colors":{"primary":"#def135","light":"#687000","dark":"#def135"},"logo":{"light":"https://mintcdn.com/acme-3b14c23b/JVOqc4YGkbP14fW1/logo/light.svg?fit=max\u0026auto=format\u0026n=JVOqc4YGkbP14fW1\u0026q=85\u0026s=3ffe0419abb318e980fd4a4eeb63e073","dark":"https://mintcdn.com/acme-3b14c23b/JVOqc4YGkbP14fW1/logo/dark.svg?fit=max\u0026auto=format\u0026n=JVOqc4YGkbP14fW1\u0026q=85\u0026s=4a66d27044e9c40662da7a5e7ae2dbe1","href":"https://oddswire.io"},"favicon":"https://mintcdn.com/acme-3b14c23b/JVOqc4YGkbP14fW1/favicon.svg?fit=max\u0026auto=format\u0026n=JVOqc4YGkbP14fW1\u0026q=85\u0026s=240475442f8ac4e58cad23738df05e3a","api":{"openapi":"openapi.json","playground":{"display":"none","proxy":false}},"appearance":{"default":"dark"},"navbar":{"links":[{"href":"https://oddswire.io","label":"Website"},{"href":"https://oddswire.io/pricing","label":"Pricing"},{"href":"https://oddswire.io/tools","label":"Tools"},{"href":"mailto:admin@oddswire.io","label":"Support"}],"primary":{"type":"button","label":"Workspace","href":"https://oddswire.io/app"}},"footer":{"links":[{"header":"Oddswire","items":[{"label":"Privacy","href":"https://oddswire.io/privacy"},{"label":"Terms","href":"https://oddswire.io/terms"},{"label":"Free tools","href":"https://oddswire.io/tools"}]}]},"seo":{"indexing":"all"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"acme-3b14c23b","hasAudioNarration":false,"actualSubdomain":"acme-3b14c23b","customDomains":["docs.oddswire.io"],"gitSource":{"type":"github","owner":"spazman2c","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6af66b52423e7b25acf79ddd","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"Workspace reference","count":39},{"language":"default","tag":"Workspace and operator reference","count":39},{"language":"default","tag":"API","count":27},{"language":"default","tag":"Advanced","count":15},{"language":"default","tag":"Integration guides","count":8},{"language":"default","tag":"Sports data","count":8},{"language":"default","tag":"Restricted capabilities","count":7},{"language":"default","tag":"Advanced data reference","count":7},{"language":"default","tag":"Get started","count":4},{"language":"default","tag":"Native odds and props","count":4}],"searchSettings":{"showContentSnippets":true}},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"missing-odds-data","slug":"/missing-odds-data","pageMetadata":{"title":"How to handle missing odds data in an API","description":"Technical guidance for handling odds API responses.","href":"/missing-odds-data"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Technical guidance for handling odds API responses.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`An odds response can contain useful prices and missing coverage at the same time. Inspect both before treating a market as complete.`}),`\n`,_jsx(Heading,{level:`2`,id:`partial-results-are-meaningful`,children:`Partial results are meaningful`}),`\n`,_jsx(_components.p,{children:`An application might receive home and away prices while the draw is unavailable. A list of prices alone does not tell the caller whether this is a two-outcome market or an incomplete three-outcome offer.`}),`\n`,_jsx(Heading,{level:`2`,id:`preserve-the-reason`,children:`Preserve the reason`}),`\n`,_jsx(_components.p,{children:`A source can be uncollected, unavailable, stale, suspended, denied, or incompatible with a reviewed comparison. These states call for different decisions. Display missing coverage explicitly and withhold calculations that require a complete vector.`}),`\n`,_jsx(Heading,{level:`2`,id:`keep-control-reads-separate`,children:`Keep control reads separate`}),`\n`,_jsxs(_components.p,{children:[`Read coverage and entitlement information before issuing a large data query. On the current contract, account/control reads and errors are free. A successfully delivered metered data page uses one credit, including an empty result. Follow the `,_jsx(_components.a,{href:`https://docs.oddswire.io/errors`,children:`credit and error rules`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`check-your-implementation`,children:`Check your implementation`}),`\n`,_jsx(_components.p,{children:`Exercise empty and partial responses, expired quotes, and suspended markets. Use the documented native identity fields and retain missing reasons through your own interface.`}),`\n`,_jsxs(_components.p,{children:[`Read the `,_jsx(_components.a,{href:`https://docs.oddswire.io/reference/listOdds`,children:`odds reference`}),`, `,_jsx(_components.a,{href:`https://oddswire.io/guides/comparing-odds-safely`,children:`settlement guide`}),`, and `,_jsx(_components.a,{href:`/odds-freshness`,children:`freshness article`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"How to handle missing odds data in an API","description":"Technical guidance for handling odds API responses.","href":"/missing-odds-data"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Partial results are meaningful","slug":"partial-results-are-meaningful","depth":2,"children":[]},{"title":"Preserve the reason","slug":"preserve-the-reason","depth":2,"children":[]},{"title":"Keep control reads separate","slug":"keep-control-reads-separate","depth":2,"children":[]},{"title":"Check your implementation","slug":"check-your-implementation","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"acme-3b14c23b","siteName":"Oddswire","title":"How to handle missing odds data in an API - Oddswire","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T18:49:54.360Z","originalFileLocation":"missing-odds-data.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Technical guidance for handling odds API responses.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Oddswire\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/acme-3b14c23b/ZWAVUWgPBh8NVHwQ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/acme-3b14c23b/ZWAVUWgPBh8NVHwQ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/acme-3b14c23b/ZWAVUWgPBh8NVHwQ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/acme-3b14c23b/ZWAVUWgPBh8NVHwQ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/acme-3b14c23b/ZWAVUWgPBh8NVHwQ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/acme-3b14c23b/ZWAVUWgPBh8NVHwQ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/acme-3b14c23b/ZWAVUWgPBh8NVHwQ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/acme-3b14c23b/ZWAVUWgPBh8NVHwQ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/acme-3b14c23b/ZWAVUWgPBh8NVHwQ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"How to handle missing odds data in an API - Oddswire\">\u003cmeta data-mint-head property=\"og:description\" content=\"Technical guidance for handling odds API responses.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Oddswire\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.oddswire.io/missing-odds-data\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://acme-3b14c23b.mintlify.site/_mintlify/api/og/v2?division=Integration+guides\u0026amp;title=How+to+handle+missing+odds+data+in+an+API\u0026amp;description=Technical+guidance+for+handling+odds+API+responses.\u0026amp;theme=39aee0179e7b39f1ca349e6b\u0026amp;signature=d37a8b4c99ee752b228b48cd43d75615ffe7259555c9690d20d7dce31376d4ca\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"How to handle missing odds data in an API - Oddswire\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Technical guidance for handling odds API responses.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://acme-3b14c23b.mintlify.site/_mintlify/api/og/v2?division=Integration+guides\u0026amp;title=How+to+handle+missing+odds+data+in+an+API\u0026amp;description=Technical+guidance+for+handling+odds+API+responses.\u0026amp;theme=39aee0179e7b39f1ca349e6b\u0026amp;signature=d37a8b4c99ee752b228b48cd43d75615ffe7259555c9690d20d7dce31376d4ca\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/acme-3b14c23b/ZWAVUWgPBh8NVHwQ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Oddswire\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#def135\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.oddswire.io/missing-odds-data\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/missing-odds-data.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.oddswire.io/#organization\",\"name\":\"Oddswire\",\"url\":\"https://docs.oddswire.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/acme-3b14c23b/JVOqc4YGkbP14fW1/logo/light.svg?fit=max\u0026auto=format\u0026n=JVOqc4YGkbP14fW1\u0026q=85\u0026s=3ffe0419abb318e980fd4a4eeb63e073\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.oddswire.io#website\",\"name\":\"Oddswire\",\"url\":\"https://docs.oddswire.io\",\"publisher\":{\"@id\":\"https://docs.oddswire.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.oddswire.io/missing-odds-data#webpage\",\"url\":\"https://docs.oddswire.io/missing-odds-data\",\"name\":\"How to handle missing odds data in an API\",\"description\":\"Technical guidance for handling odds API responses.\",\"dateModified\":\"2026-11-11T18:49:54.360Z\",\"isPartOf\":{\"@id\":\"https://docs.oddswire.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.oddswire.io/missing-odds-data#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.oddswire.io/missing-odds-data#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integration guides\",\"item\":\"https://docs.oddswire.io/authentication\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to handle missing odds data in an API\",\"item\":\"https://docs.oddswire.io/missing-odds-data\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.oddswire.io/missing-odds-data#article\",\"headline\":\"How to handle missing odds data in an API\",\"name\":\"How to handle missing odds data in an API\",\"description\":\"Technical guidance for handling odds API responses.\",\"url\":\"https://docs.oddswire.io/missing-odds-data\",\"mainEntityOfPage\":{\"@id\":\"https://docs.oddswire.io/missing-odds-data#webpage\"},\"dateModified\":\"2026-11-11T18:49:54.360Z\",\"publisher\":{\"@id\":\"https://docs.oddswire.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.oddswire.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Oddswire\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Oddswire\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/missing-odds-data.md","siteName":"Oddswire","nav":{"global":null,"tabs":[{"tab":"API","groups":[{"group":"Get started","pages":[{"title":"Sports odds API","href":""},{"title":"API overview","href":"/endpoints"},{"title":"Datasets and response views","href":"/datasets"},{"title":"cURL quick start","href":"/quickstart-curl"}]},{"group":"Sports data","pages":[{"title":"Sports","openapi":"GET /v1/sports","href":"/reference/listSports"},{"title":"Bookmakers","openapi":"GET /v1/bookmakers","href":"/reference/listSources"},{"title":"Competitions","openapi":"GET /v1/competitions","href":"/reference/listCompetitions"},{"title":"Markets","openapi":"GET /v1/markets","href":"/reference/listMarkets"},{"title":"Fixtures","openapi":"GET /v1/fixtures","href":"/reference/listFixtures"},{"title":"Fixture details","openapi":"GET /v1/fixtures/{fixture_id}","href":"/reference/getFixture"},{"title":"Participants","openapi":"GET /v1/participants","href":"/reference/listParticipants"},{"title":"Odds","openapi":"GET /v1/odds","href":"/reference/listOdds"}]},{"group":"Native odds and props","pages":[{"title":"Native fixtures","openapi":"GET /v1/native/fixtures","href":"/reference/listNativeFixtures"},{"title":"Native odds and props","openapi":"GET /v1/native/odds","href":"/reference/listNativeOdds"},{"title":"Kambi native fixtures","openapi":"GET /v1/native/kambi/fixtures","href":"/reference/listKambiNativeFixtures"},{"title":"Kambi native odds and props","openapi":"GET /v1/native/kambi/odds","href":"/reference/listKambiNativeOdds"}]},{"group":"Access and quota","pages":[{"title":"Check access","openapi":"GET /v1/account/entitlements","href":"/reference/getEntitlements"},{"title":"Usage","openapi":"GET /v1/account/usage","href":"/reference/getUsage"},{"title":"Coverage","openapi":"GET /v1/account/coverage","href":"/reference/getAccountCoverage"}]},{"group":"Integration guides","pages":[{"title":"Authentication and accounts","href":"/authentication"},{"title":"Errors, credits and pagination","href":"/errors"},{"title":"Prices, coverage and fair values","href":"/data"},{"title":"Current availability","href":"/availability"},{"title":"Python quick start","href":"/quickstart-python"},{"title":"JavaScript and TypeScript quick start","href":"/quickstart-typescript"},{"title":"Odds freshness versus price changes","description":"Technical guidance for handling odds API responses.","href":"/odds-freshness"},{"title":"How to handle missing odds data in an API","href":"/missing-odds-data"}]}]},{"tab":"Advanced","pages":[{"title":"Advanced","href":"/history"}]},{"tab":"Workspace reference","pages":[{"title":"Workspace reference","href":"/reference/getAccount"}]}]},"basePath":"","title":"How to handle missing odds data in an API - Oddswire","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":[],"chunks":[]}