Your orders, newest first, each with its market. Use it to review your order history, filter it by status, and, most often, to follow an order you just placed: pass the request_id you sent to Place an order and repeat until the order’s status is executed or cancelled: every 500 ms to 1 second for the first few seconds, then every few seconds. Requests are limited to 10 per second per IP address; see Rate limits.
An order is pending while it is queued or in flight, executed once it filled completely, and cancelled when it did not fill (a fill-or-kill order that could not fill at your price, or an order that was refused). While the order is still queued, or after it was refused before it was recorded, the item is the minimal PendingOrder, { id, request_id, status, error? }; once recorded it is the full order with its market. A refused order carries the reason in error.
Pages are limit (1 to 50) and offset; total counts every match. To read one order by its id, use Get an order. To see what your orders added up to, see List positions.
Your API key id. Keys are issued by Splash on request, never expire, and stay valid until Splash revokes them, which it does on request. See Authentication.
Find the order you placed with this request_id. Use it when you sent Place an order but never received its order_id: the request timed out, the connection dropped, or your client stopped before saving the response. You always know the request_id you sent, so this always finds the order if Splash recorded it, and returns an empty list if it did not (then retrying with the same request_id is safe). While the order is queued, or after it was refused before being recorded, the item is a PendingOrder. 1 to 64 characters from A-Z a-z 0-9 _ -.
Response
Your orders, newest first. With request_id, an order not yet recorded comes back as a PendingOrder in data, without included.
Orders, newest first. With request_id, an order that is not fully recorded yet is a PendingOrder.
Your orders, newest first, each an OrderWithMarket. While a polled request_id is queued, or after it was refused before being recorded, the item is a PendingOrder instead.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Splash API","description":"Reference for the Splash prediction markets API.","colors":{"primary":"#00938A","light":"#4BEBE2","dark":"#00938A"},"logo":{"light":"https://mintcdn.com/splashsports/kcAVKCSKVe9QsybE/images/Black.png?fit=max\u0026auto=format\u0026n=kcAVKCSKVe9QsybE\u0026q=85\u0026s=e3ebef52faf215906edfadd8cb6b8f6c","dark":"https://mintcdn.com/splashsports/kcAVKCSKVe9QsybE/images/White.png?fit=max\u0026auto=format\u0026n=kcAVKCSKVe9QsybE\u0026q=85\u0026s=a8584598d170913784d340dade069923","href":"https://app.splashsports.com"},"favicon":{"light":"https://mintcdn.com/splashsports/1BB4AfLu_rKwvYf6/images/whale.png?fit=max\u0026auto=format\u0026n=1BB4AfLu_rKwvYf6\u0026q=85\u0026s=b75628cc9f5c8118e0b5ba38db00eed9","dark":"https://mintcdn.com/splashsports/1BB4AfLu_rKwvYf6/images/whale.png?fit=max\u0026auto=format\u0026n=1BB4AfLu_rKwvYf6\u0026q=85\u0026s=b75628cc9f5c8118e0b5ba38db00eed9"},"api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","python","javascript","typescript","go"]}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"splashsports","hasAudioNarration":false,"actualSubdomain":"splashsports","customDomains":["docs.splashsports.com"],"gitSource":{"type":"github","owner":"betterpool","repo":"splash-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6ae8d2a45882bf25ccb849ef"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae960ce8ff06975e05bdd21","collectionId":"8376c49e-6882-4070-be1c-ae3b565e9adc","liveDeploymentHistoryId":"6ae960ce8ff06975e05bdd21","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae96712b788bf0e78a62a70","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Predictions API","count":61},{"language":"default","tag":"Types","count":38},{"language":"default","tag":"Reference","count":16},{"language":"default","tag":"Getting started","count":7},{"language":"default","tag":"Positions","count":4},{"language":"default","tag":"Markets","count":3},{"language":"default","tag":"Orders","count":3},{"language":"default","tag":"Account","count":2},{"language":"default","tag":"Activity","count":1},{"language":"default","tag":"Discover","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","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":"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":"llms-txt-v2","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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"predictions/reference/orders/list-orders","slug":"/predictions/reference/orders/list-orders","pageMetadata":{"title":"List orders","description":"Your orders, newest first, each with its market. Use it to review your order history, filter it by `status`, and, most often, to follow an order you just placed: pass the `request_id` you sent to [Place an order](/predictions/reference/orders/place-an-order) and repeat until the order's `status` is `executed` or `cancelled`: every 500 ms to 1 second for the first few seconds, then every few seconds. Requests are limited to 10 per second per IP address; see [Rate limits](/predictions/rate-limits).\n\nAn order is `pending` while it is queued or in flight, `executed` once it filled completely, and `cancelled` when it did not fill (a fill-or-kill order that could not fill at your price, or an order that was refused). While the order is still queued, or after it was refused before it was recorded, the item is the minimal [PendingOrder](/predictions/types/pending-order), `{ id, request_id, status, error? }`; once recorded it is the full order with its market. A refused order carries the reason in `error`.\n\nPages are `limit` (1 to 50) and `offset`; `total` counts every match. To read one order by its id, use [Get an order](/predictions/reference/orders/get-an-order). To see what your orders added up to, see [List positions](/predictions/reference/positions/list-positions).","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /orders","href":"/predictions/reference/orders/list-orders","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Your orders, newest first, each with its market. Use it to review your order history, filter it by \", _jsx(_components.code, {\n children: \"status\"\n }), \", and, most often, to follow an order you just placed: pass the \", _jsx(_components.code, {\n children: \"request_id\"\n }), \" you sent to \", _jsx(_components.a, {\n href: \"/predictions/reference/orders/place-an-order\",\n children: \"Place an order\"\n }), \" and repeat until the order’s \", _jsx(_components.code, {\n children: \"status\"\n }), \" is \", _jsx(_components.code, {\n children: \"executed\"\n }), \" or \", _jsx(_components.code, {\n children: \"cancelled\"\n }), \": every 500 ms to 1 second for the first few seconds, then every few seconds. Requests are limited to 10 per second per IP address; see \", _jsx(_components.a, {\n href: \"/predictions/rate-limits\",\n children: \"Rate limits\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"An order is \", _jsx(_components.code, {\n children: \"pending\"\n }), \" while it is queued or in flight, \", _jsx(_components.code, {\n children: \"executed\"\n }), \" once it filled completely, and \", _jsx(_components.code, {\n children: \"cancelled\"\n }), \" when it did not fill (a fill-or-kill order that could not fill at your price, or an order that was refused). While the order is still queued, or after it was refused before it was recorded, the item is the minimal \", _jsx(_components.a, {\n href: \"/predictions/types/pending-order\",\n children: \"PendingOrder\"\n }), \", \", _jsx(_components.code, {\n children: \"{ id, request_id, status, error? }\"\n }), \"; once recorded it is the full order with its market. A refused order carries the reason in \", _jsx(_components.code, {\n children: \"error\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Pages are \", _jsx(_components.code, {\n children: \"limit\"\n }), \" (1 to 50) and \", _jsx(_components.code, {\n children: \"offset\"\n }), \"; \", _jsx(_components.code, {\n children: \"total\"\n }), \" counts every match. To read one order by its id, use \", _jsx(_components.a, {\n href: \"/predictions/reference/orders/get-an-order\",\n children: \"Get an order\"\n }), \". To see what your orders added up to, see \", _jsx(_components.a, {\n href: \"/predictions/reference/positions/list-positions\",\n children: \"List positions\"\n }), \".\"]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List orders","description":"Your orders, newest first, each with its market. Use it to review your order history, filter it by `status`, and, most often, to follow an order you just placed: pass the `request_id` you sent to [Place an order](/predictions/reference/orders/place-an-order) and repeat until the order's `status` is `executed` or `cancelled`: every 500 ms to 1 second for the first few seconds, then every few seconds. Requests are limited to 10 per second per IP address; see [Rate limits](/predictions/rate-limits).\n\nAn order is `pending` while it is queued or in flight, `executed` once it filled completely, and `cancelled` when it did not fill (a fill-or-kill order that could not fill at your price, or an order that was refused). While the order is still queued, or after it was refused before it was recorded, the item is the minimal [PendingOrder](/predictions/types/pending-order), `{ id, request_id, status, error? }`; once recorded it is the full order with its market. A refused order carries the reason in `error`.\n\nPages are `limit` (1 to 50) and `offset`; `total` counts every match. To read one order by its id, use [Get an order](/predictions/reference/orders/get-an-order). To see what your orders added up to, see [List positions](/predictions/reference/positions/list-positions).","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /orders","href":"/predictions/reference/orders/list-orders","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Orders"],"operationId":"listOrders","summary":"List orders","security":["0ff56bd9-c900-4054-a553-2d17860e12b2"],"description":"Your orders, newest first, each with its market. Use it to review your order history, filter it by `status`, and, most often, to follow an order you just placed: pass the `request_id` you sent to [Place an order](/predictions/reference/orders/place-an-order) and repeat until the order's `status` is `executed` or `cancelled`: every 500 ms to 1 second for the first few seconds, then every few seconds. Requests are limited to 10 per second per IP address; see [Rate limits](/predictions/rate-limits).\n\nAn order is `pending` while it is queued or in flight, `executed` once it filled completely, and `cancelled` when it did not fill (a fill-or-kill order that could not fill at your price, or an order that was refused). While the order is still queued, or after it was refused before it was recorded, the item is the minimal [PendingOrder](/predictions/types/pending-order), `{ id, request_id, status, error? }`; once recorded it is the full order with its market. A refused order carries the reason in `error`.\n\nPages are `limit` (1 to 50) and `offset`; `total` counts every match. To read one order by its id, use [Get an order](/predictions/reference/orders/get-an-order). To see what your orders added up to, see [List positions](/predictions/reference/positions/list-positions).","parameters":["901b4479-b021-4ef8-bb12-b75d13a13a49","b3edd79f-cc7a-4220-955d-3e92880d6ca9","34778784-0339-47de-b3f4-eec46c119134","1cc7950e-a455-40c6-a450-7e0d2bf0d6d9"],"responses":{"200":"bedf9df8-2adf-419d-9aac-8a529d09c7f9","400":"48e8ca91-907b-4e1c-9883-953767164d9c","401":"b76958ab-70e8-4daa-ada6-ea2fc4009f24","429":"4d9ece72-c949-4818-8e97-66ee39531cf4","500":"56a2a916-790d-4258-8ca5-c95f415c4438","503":"c7f1dd3e-c241-4b31-a85f-322d83e6e0a2"},"x-codeSamples":[{"lang":"bash","label":"cURL","source":"KEY=\"your-key-id\"\nSECRET=\"your-secret\"\nMETHOD=\"GET\"\nURLPATH=\"/predictions-service/api/orders?request_id=3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10\"\nBODY=\"\"\n\nTS=$(( $(date +%s) * 1000 ))\nSIG=$(printf '%s' \"$TS$METHOD$URLPATH$BODY\" | openssl dgst -sha256 -hmac \"$SECRET\" -binary | base64)\n\ncurl -X \"$METHOD\" \"https://api.splashsports.com$URLPATH\" \\\n -H \"SPLASH-ACCESS-KEY: $KEY\" \\\n -H \"SPLASH-ACCESS-TIMESTAMP: $TS\" \\\n -H \"SPLASH-ACCESS-SIGNATURE: $SIG\""},{"lang":"python","label":"Python","source":"import base64, hashlib, hmac, json, time\nimport requests\n\nKEY = \"your-key-id\"\nSECRET = \"your-secret\"\nHOST = \"https://api.splashsports.com\"\n\n\ndef sign(secret, timestamp, method, path, body):\n message = (timestamp + method + path + body).encode(\"utf-8\")\n digest = hmac.new(secret.encode(\"utf-8\"), message, hashlib.sha256).digest()\n return base64.b64encode(digest).decode(\"ascii\")\n\n\ndef request(method, path, payload=None):\n body = json.dumps(payload, separators=(\",\", \":\")) if payload is not None else \"\"\n timestamp = str(int(time.time() * 1000))\n headers = {\n \"Content-Type\": \"application/json\",\n \"SPLASH-ACCESS-KEY\": KEY,\n \"SPLASH-ACCESS-TIMESTAMP\": timestamp,\n \"SPLASH-ACCESS-SIGNATURE\": sign(SECRET, timestamp, method, path, body),\n }\n return requests.request(method, HOST + path, headers=headers, data=body.encode(\"utf-8\"))\n\n\nresponse = request(\"GET\", \"/predictions-service/api/orders?request_id=3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10\")\nprint(response.status_code, response.json())"},{"lang":"typescript","label":"TypeScript","source":"import { createHmac } from \"node:crypto\";\n\nconst KEY = \"your-key-id\";\nconst SECRET = \"your-secret\";\nconst HOST = \"https://api.splashsports.com\";\n\nfunction sign(secret: string, timestamp: string, method: string, path: string, body: string): string {\n return createHmac(\"sha256\", secret).update(timestamp + method + path + body, \"utf8\").digest(\"base64\");\n}\n\nconst method = \"GET\";\nconst path = \"/predictions-service/api/orders?request_id=3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10\";\nconst body = \"\";\nconst timestamp = Date.now().toString();\n\nconst response = await fetch(HOST + path, {\n method,\n headers: {\n \"SPLASH-ACCESS-KEY\": KEY,\n \"SPLASH-ACCESS-TIMESTAMP\": timestamp,\n \"SPLASH-ACCESS-SIGNATURE\": sign(SECRET, timestamp, method, path, body),\n },\n});\nconsole.log(response.status, await response.json());"},{"lang":"go","label":"Go","source":"package main\n\nimport (\n\t\"bytes\"\n\t\"crypto/hmac\"\n\t\"crypto/sha256\"\n\t\"encoding/base64\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"strconv\"\n\t\"time\"\n)\n\nconst (\n\tkey = \"your-key-id\"\n\tsecret = \"your-secret\"\n\thost = \"https://api.splashsports.com\"\n)\n\nfunc sign(secret, timestamp, method, path string, body []byte) string {\n\tmac := hmac.New(sha256.New, []byte(secret))\n\tmac.Write([]byte(timestamp + method + path))\n\tmac.Write(body)\n\treturn base64.StdEncoding.EncodeToString(mac.Sum(nil))\n}\n\nfunc main() {\n\tmethod := \"GET\"\n\tpath := \"/predictions-service/api/orders?request_id=3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10\"\n\n\tvar body []byte // no body: the signature covers the empty string\n\ttimestamp := strconv.FormatInt(time.Now().UnixMilli(), 10)\n\n\treq, err := http.NewRequest(method, host+path, bytes.NewReader(body))\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"SPLASH-ACCESS-KEY\", key)\n\treq.Header.Set(\"SPLASH-ACCESS-TIMESTAMP\", timestamp)\n\treq.Header.Set(\"SPLASH-ACCESS-SIGNATURE\", sign(secret, timestamp, method, path, body))\n\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer resp.Body.Close()\n\tout, _ := io.ReadAll(resp.Body)\n\tfmt.Println(resp.StatusCode, string(out))\n}"}],"method":"get","type":"path","servers":["d7d3b42f-0ca4-43cd-8663-0e65fcf09fe8"],"path":"/orders","baseUrlOptions":["https://api.splashsports.com/predictions-service/api"],"title":"List orders","codeSamples":[{"label":"cURL","lang":"bash","source":"KEY=\"your-key-id\"\nSECRET=\"your-secret\"\nMETHOD=\"GET\"\nURLPATH=\"/predictions-service/api/orders?request_id=3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10\"\nBODY=\"\"\n\nTS=$(( $(date +%s) * 1000 ))\nSIG=$(printf '%s' \"$TS$METHOD$URLPATH$BODY\" | openssl dgst -sha256 -hmac \"$SECRET\" -binary | base64)\n\ncurl -X \"$METHOD\" \"https://api.splashsports.com$URLPATH\" \\\n -H \"SPLASH-ACCESS-KEY: $KEY\" \\\n -H \"SPLASH-ACCESS-TIMESTAMP: $TS\" \\\n -H \"SPLASH-ACCESS-SIGNATURE: $SIG\""},{"label":"Python","lang":"python","source":"import base64, hashlib, hmac, json, time\nimport requests\n\nKEY = \"your-key-id\"\nSECRET = \"your-secret\"\nHOST = \"https://api.splashsports.com\"\n\n\ndef sign(secret, timestamp, method, path, body):\n message = (timestamp + method + path + body).encode(\"utf-8\")\n digest = hmac.new(secret.encode(\"utf-8\"), message, hashlib.sha256).digest()\n return base64.b64encode(digest).decode(\"ascii\")\n\n\ndef request(method, path, payload=None):\n body = json.dumps(payload, separators=(\",\", \":\")) if payload is not None else \"\"\n timestamp = str(int(time.time() * 1000))\n headers = {\n \"Content-Type\": \"application/json\",\n \"SPLASH-ACCESS-KEY\": KEY,\n \"SPLASH-ACCESS-TIMESTAMP\": timestamp,\n \"SPLASH-ACCESS-SIGNATURE\": sign(SECRET, timestamp, method, path, body),\n }\n return requests.request(method, HOST + path, headers=headers, data=body.encode(\"utf-8\"))\n\n\nresponse = request(\"GET\", \"/predictions-service/api/orders?request_id=3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10\")\nprint(response.status_code, response.json())"},{"label":"TypeScript","lang":"typescript","source":"import { createHmac } from \"node:crypto\";\n\nconst KEY = \"your-key-id\";\nconst SECRET = \"your-secret\";\nconst HOST = \"https://api.splashsports.com\";\n\nfunction sign(secret: string, timestamp: string, method: string, path: string, body: string): string {\n return createHmac(\"sha256\", secret).update(timestamp + method + path + body, \"utf8\").digest(\"base64\");\n}\n\nconst method = \"GET\";\nconst path = \"/predictions-service/api/orders?request_id=3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10\";\nconst body = \"\";\nconst timestamp = Date.now().toString();\n\nconst response = await fetch(HOST + path, {\n method,\n headers: {\n \"SPLASH-ACCESS-KEY\": KEY,\n \"SPLASH-ACCESS-TIMESTAMP\": timestamp,\n \"SPLASH-ACCESS-SIGNATURE\": sign(SECRET, timestamp, method, path, body),\n },\n});\nconsole.log(response.status, await response.json());"},{"label":"Go","lang":"go","source":"package main\n\nimport (\n\t\"bytes\"\n\t\"crypto/hmac\"\n\t\"crypto/sha256\"\n\t\"encoding/base64\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"strconv\"\n\t\"time\"\n)\n\nconst (\n\tkey = \"your-key-id\"\n\tsecret = \"your-secret\"\n\thost = \"https://api.splashsports.com\"\n)\n\nfunc sign(secret, timestamp, method, path string, body []byte) string {\n\tmac := hmac.New(sha256.New, []byte(secret))\n\tmac.Write([]byte(timestamp + method + path))\n\tmac.Write(body)\n\treturn base64.StdEncoding.EncodeToString(mac.Sum(nil))\n}\n\nfunc main() {\n\tmethod := \"GET\"\n\tpath := \"/predictions-service/api/orders?request_id=3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10\"\n\n\tvar body []byte // no body: the signature covers the empty string\n\ttimestamp := strconv.FormatInt(time.Now().UnixMilli(), 10)\n\n\treq, err := http.NewRequest(method, host+path, bytes.NewReader(body))\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"SPLASH-ACCESS-KEY\", key)\n\treq.Header.Set(\"SPLASH-ACCESS-TIMESTAMP\", timestamp)\n\treq.Header.Set(\"SPLASH-ACCESS-SIGNATURE\", sign(secret, timestamp, method, path, body))\n\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer resp.Body.Close()\n\tout, _ := io.ReadAll(resp.Body)\n\tfmt.Println(resp.StatusCode, string(out))\n}"}],"requestExampleLanguages":["bash","python","javascript","typescript","go"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"901b4479-b021-4ef8-bb12-b75d13a13a49":{"name":"status","in":"query","schema":{"type":"string","enum":["pending","executed","cancelled"],"description":"Only orders with this status: `pending` (queued or in flight), `executed` or `cancelled`. Omit for every status. See [Order statuses](/predictions/enums#order-statuses-status-on-an-order).","uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Only orders with this status: `pending` (queued or in flight), `executed` or `cancelled`. Omit for every status. See [Order statuses](/predictions/enums#order-statuses-status-on-an-order).","example":"executed"},"b3edd79f-cc7a-4220-955d-3e92880d6ca9":{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":50,"description":"Page size, 1 to 50. Default 50.","uniqueKey":"","typeLabel":"integer"},"description":"Page size, 1 to 50. Default 50.","example":50},"34778784-0339-47de-b3f4-eec46c119134":{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":100000,"default":0,"description":"Orders to skip, 0 to 100000. Default 0.","uniqueKey":"","typeLabel":"integer"},"description":"Orders to skip, 0 to 100000. Default 0.","example":0},"1cc7950e-a455-40c6-a450-7e0d2bf0d6d9":{"name":"request_id","in":"query","schema":{"type":"string","description":"Find the order you placed with this `request_id`. Use it when you sent [Place an order](/predictions/reference/orders/place-an-order) but never received its `order_id`: the request timed out, the connection dropped, or your client stopped before saving the response. You always know the `request_id` you sent, so this always finds the order if Splash recorded it, and returns an empty list if it did not (then retrying with the same `request_id` is safe). While the order is queued, or after it was refused before being recorded, the item is a [PendingOrder](/predictions/types/pending-order). 1 to 64 characters from `A-Z a-z 0-9 _ -`.","uniqueKey":"","typeLabel":"string"},"description":"Find the order you placed with this `request_id`. Use it when you sent [Place an order](/predictions/reference/orders/place-an-order) but never received its `order_id`: the request timed out, the connection dropped, or your client stopped before saving the response. You always know the `request_id` you sent, so this always finds the order if Splash recorded it, and returns an empty list if it did not (then retrying with the same `request_id` is safe). While the order is queued, or after it was refused before being recorded, the item is a [PendingOrder](/predictions/types/pending-order). 1 to 64 characters from `A-Z a-z 0-9 _ -`.","example":"3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10"}},"responses":{"bedf9df8-2adf-419d-9aac-8a529d09c7f9":{"description":"Your orders, newest first. With `request_id`, an order not yet recorded comes back as a [PendingOrder](/predictions/types/pending-order) in `data`, without `included`.","content":{"application/json":{"schema":{"type":"object","title":"OrderListResponse","description":"Orders, newest first. With `request_id`, an order that is not fully recorded yet is a `PendingOrder`.","required":["status","data","total","offset","limit"],"properties":{"status":{"type":"string","const":"success","description":"Always `success` on a 200.","example":"success","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"data":{"type":"array","items":{"type":"object","title":"OrderWithMarket","description":"An order with its market and realized profit: every field of `Order`, plus the fields below.","required":["id","side","yes_price","no_price","quantity","status","fill_cost","updated_at","created_at","remaining_quantity","fill_quantity","fees","action","splash_action","proceeds","splash_side","trade_price","proceeds_minus_fees","fill_cost_plus_fees","request_id","time_in_force","realized_pnl","market_id","market","market_title"],"properties":{"id":{"type":"string","description":"The order id (prefix `ord_`), as `order_id` was returned when you placed it.","example":"ord_6aedec658f3a61c2d94e07b5a1c6e2d9","isRequired":true,"uniqueKey":"data.items.[INDEX].id","typeLabel":"string"},"side":{"type":"string","enum":["yes","no"],"title":"OrderSide","description":"The side as Splash routes the order to the exchange. Every order is recorded against the YES contract, so this is `yes`; read `splash_side` for the side you traded. See [Order sides](/predictions/enums#order-sides-splash_side-and-side).","example":"yes","isRequired":true,"uniqueKey":"data.items.[INDEX].side","typeLabel":"enum\u003cstring>"},"yes_price":{"type":"number","description":"Price per contract in YES terms, up to 4 decimal places. Until the order fills it is your limit price expressed as a YES price; once it fills, the average fill price. Always `yes_price + no_price = 1`.","example":0.585,"isRequired":true,"uniqueKey":"data.items.[INDEX].yes_price","typeLabel":"number"},"no_price":{"type":"number","description":"The same price in NO terms: `1 - yes_price`. On a NO buy this is what you paid per contract, before fees.","example":0.415,"isRequired":true,"uniqueKey":"data.items.[INDEX].no_price","typeLabel":"number"},"quantity":{"type":"integer","description":"Contracts requested.","example":10,"isRequired":true,"uniqueKey":"data.items.[INDEX].quantity","typeLabel":"integer"},"status":{"type":"string","enum":["pending","executed","cancelled","resting"],"title":"OrderStatus","description":"`pending` while queued or in flight, then `executed` (filled) or `cancelled` (not filled, or refused). A fill-or-kill order is never `resting`. See [Order statuses](/predictions/enums#order-statuses-status-on-an-order).","example":"executed","isRequired":true,"uniqueKey":"data.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"fill_cost":{"type":"number","description":"Buys: dollars paid for the filled contracts, before fees, up to 4 decimal places. 0 on a sell and until the order fills.","example":5.85,"isRequired":true,"uniqueKey":"data.items.[INDEX].fill_cost","typeLabel":"number"},"updated_at":{"type":"integer","format":"int64","description":"When the order last changed. Epoch milliseconds.","example":1793977446412,"isRequired":true,"uniqueKey":"data.items.[INDEX].updated_at","typeLabel":"integer\u003cint64>"},"created_at":{"type":"integer","format":"int64","description":"When the order was recorded. Epoch milliseconds.","example":1793977445000,"isRequired":true,"uniqueKey":"data.items.[INDEX].created_at","typeLabel":"integer\u003cint64>"},"remaining_quantity":{"type":"integer","description":"Contracts not filled. Equals `quantity` until the exchange reports on the order.","example":0,"isRequired":true,"uniqueKey":"data.items.[INDEX].remaining_quantity","typeLabel":"integer"},"fill_quantity":{"type":"integer","description":"Contracts filled. 0 until the order fills; equal to `quantity` on an executed fill-or-kill order.","example":10,"isRequired":true,"uniqueKey":"data.items.[INDEX].fill_quantity","typeLabel":"integer"},"fees":{"type":"number","description":"Total fees on the order, Splash's and the exchange provider's, in dollars rounded to cents. Charged on top of a buy and out of a sell's proceeds. Before the fill it holds only Splash's quoted fee.","example":0.12,"isRequired":true,"uniqueKey":"data.items.[INDEX].fees","typeLabel":"number"},"action":{"type":"string","enum":["buy","sell"],"title":"OrderAction","description":"Buy or sell of the YES contract, as routed to the exchange: a YES buy or a NO close is `buy`, a NO buy or a YES close is `sell`. Read `splash_action` for what you did. See [Order actions](/predictions/enums#order-actions-splash_action-and-action).","example":"buy","isRequired":true,"uniqueKey":"data.items.[INDEX].action","typeLabel":"enum\u003cstring>"},"splash_action":{"type":"string","enum":["buy","sell"],"title":"OrderAction","description":"What you did: `buy` opens or adds to a position, `sell` closes it. See [Order actions](/predictions/enums#order-actions-splash_action-and-action).","example":"buy","isRequired":true,"uniqueKey":"data.items.[INDEX].splash_action","typeLabel":"enum\u003cstring>"},"proceeds":{"type":"number","description":"Sells: dollars received for the filled contracts, before fees, up to 4 decimal places. 0 on a buy and until the order fills.","example":0,"isRequired":true,"uniqueKey":"data.items.[INDEX].proceeds","typeLabel":"number"},"splash_side":{"type":"string","enum":["yes","no"],"title":"OrderSide","description":"The side you traded: the side you bought on a buy, the side you sold on a sell. See [Order sides](/predictions/enums#order-sides-splash_side-and-side).","example":"yes","isRequired":true,"uniqueKey":"data.items.[INDEX].splash_side","typeLabel":"enum\u003cstring>"},"trade_price":{"type":"number","description":"Your all-in price per contract, up to 4 decimal places: on a buy `(fill_cost + fees) / fill_quantity`, on a sell `(proceeds - fees) / fill_quantity`. 0 until the order fills.","example":0.597,"isRequired":true,"uniqueKey":"data.items.[INDEX].trade_price","typeLabel":"number"},"proceeds_minus_fees":{"type":"number","description":"Sells: `proceeds - fees`, the dollars credited to you, rounded to cents. 0 on a buy.","example":0,"isRequired":true,"uniqueKey":"data.items.[INDEX].proceeds_minus_fees","typeLabel":"number"},"fill_cost_plus_fees":{"type":"number","description":"Buys: `fill_cost + fees`, the dollars debited from you, rounded to cents. 0 on a sell.","example":5.97,"isRequired":true,"uniqueKey":"data.items.[INDEX].fill_cost_plus_fees","typeLabel":"number"},"request_id":{"type":"string","description":"The `request_id` the order was placed with.","example":"3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10","isRequired":true,"uniqueKey":"data.items.[INDEX].request_id","typeLabel":"string"},"time_in_force":{"type":"string","enum":["FOK","IOC"],"title":"TimeInForce","description":"`FOK` (fill or kill). Every order today is fill-or-kill. See [Time in force](/predictions/enums#time-in-force-time_in_force).","example":"FOK","isRequired":true,"uniqueKey":"data.items.[INDEX].time_in_force","typeLabel":"enum\u003cstring>"},"realized_pnl":{"type":"number","description":"Profit or loss this order locked in, in dollars after all fees, rounded to cents. Only an executed sell realizes any: its proceeds net of fees minus the cost plus fees of the bought contracts it closed, oldest first. 0 on a buy and on an order that did not execute.","example":0,"isRequired":true,"uniqueKey":"data.items.[INDEX].realized_pnl","typeLabel":"number"},"market_id":{"type":"string","description":"The market the order is on.","example":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","isRequired":true,"uniqueKey":"data.items.[INDEX].market_id","typeLabel":"string"},"market":{"title":"Market","type":"object","description":"The market as it stands now (current prices and status), not as it was when you ordered.","required":["id","provider_ticker","title","sub_category","type","price_yes","price_no","volume","liquidity","yes_liquidity","no_liquidity","status","updated_at","rules","market_group_id","event_start","yes_line_display","no_line_display"],"properties":{"id":{"type":"string","description":"The market id (prefix `pm_`). This is the instrument you trade, sent as `market_id` on `POST /trading/orders`, and the id to follow for price updates.","example":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","isRequired":true,"uniqueKey":"data.items.[INDEX].market.id","typeLabel":"string"},"provider_ticker":{"type":"string","description":"The market's ticker on the exchange where it trades, in the exchange's own format. It identifies the market on the exchange and stays the same for the life of the market, so use it to match this market against the exchange's own data; to trade, use `id`. Always present.","example":"aec-nfl-kc-buf-2026-11-08","isRequired":true,"uniqueKey":"data.items.[INDEX].market.provider_ticker","typeLabel":"string"},"title":{"type":"string","description":"The exchange provider's title for the market, usually the YES side as a question. Display text that can change; never parse it or key on it.","example":"Kansas City Chiefs to win the game?","isRequired":true,"uniqueKey":"data.items.[INDEX].market.title","typeLabel":"string"},"sub_category":{"type":"string","description":"The league. See [Leagues](/predictions/enums#leagues-sub_category).","enum":["nfl","ncaaf","nba","wnba","ncaab","mlb","nhl","epl","mls","pga","wc"],"title":"SubCategoryId","example":"nfl","isRequired":true,"uniqueKey":"data.items.[INDEX].market.sub_category","typeLabel":"enum\u003cstring>"},"price_yes":{"type":"object","description":"What one YES contract costs right now: the best YES ask in the book Splash holds, in every display form. A YES contract pays $1 if the market resolves YES. `price_yes` and `price_no` are both asks, so their `numeric_price` values usually sum to a little more than 1; the excess is the spread. Reads 0 when nobody is offering YES, and while quotes are suspended during an exchange outage.","required":["american","decimal","percentage","price","numeric_price"],"properties":{"american":{"type":"string","description":"American odds for the price, rounded to a whole number, with a sign: `-144` for a favourite, `+138` for an underdog. `-10000` when the price is 0.","example":"-144","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes.american","typeLabel":"string"},"decimal":{"type":"string","description":"Decimal odds, `1 / numeric_price` to 2 places, with an `x` suffix: `1.69x`. `0x` when the price is 0.","example":"1.69x","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes.decimal","typeLabel":"string"},"percentage":{"type":"string","description":"The implied probability, `numeric_price` as a whole percentage: `59%`.","example":"59%","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes.percentage","typeLabel":"string"},"price":{"type":"string","description":"The per-contract price in dollars, rounded to cents and formatted with a dollar sign: `$0.59`.","example":"$0.59","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes.price","typeLabel":"string"},"numeric_price":{"type":"number","description":"The per-contract price in dollars as a number, up to 4 decimal places (the exchange quotes in tenths of a cent), capped at 0.99. 0 when nobody is offering this side. Use this field for arithmetic; the strings are for display.","example":0.59,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes.numeric_price","typeLabel":"number"}},"title":"MarketPrice","example":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes","typeLabel":"MarketPrice · object"},"price_no":{"type":"object","description":"What one NO contract costs right now: the best NO ask, in every display form. A NO contract pays $1 if the market resolves NO. Reads 0 when nobody is offering NO, and during an exchange outage.","required":["american","decimal","percentage","price","numeric_price"],"properties":{"american":{"type":"string","description":"American odds for the price, rounded to a whole number, with a sign: `-144` for a favourite, `+138` for an underdog. `-10000` when the price is 0.","example":"-144","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no.american","typeLabel":"string"},"decimal":{"type":"string","description":"Decimal odds, `1 / numeric_price` to 2 places, with an `x` suffix: `1.69x`. `0x` when the price is 0.","example":"1.69x","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no.decimal","typeLabel":"string"},"percentage":{"type":"string","description":"The implied probability, `numeric_price` as a whole percentage: `59%`.","example":"59%","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no.percentage","typeLabel":"string"},"price":{"type":"string","description":"The per-contract price in dollars, rounded to cents and formatted with a dollar sign: `$0.59`.","example":"$0.59","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no.price","typeLabel":"string"},"numeric_price":{"type":"number","description":"The per-contract price in dollars as a number, up to 4 decimal places (the exchange quotes in tenths of a cent), capped at 0.99. 0 when nobody is offering this side. Use this field for arithmetic; the strings are for display.","example":0.59,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no.numeric_price","typeLabel":"number"}},"title":"MarketPrice","example":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no","typeLabel":"MarketPrice · object"},"volume":{"type":"number","description":"Dollars traded on the exchange in this market, rounded to cents. It refreshes with order book updates rather than on every trade, so it can trail the latest trade by a few seconds.","example":184532.17,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.volume","typeLabel":"number"},"liquidity":{"type":"number","description":"Dollars resting in the book Splash holds: each bid level's price times its quantity, summed over the YES and NO ladders and rounded to cents. A floor, since the feed carries at most ten levels a side. 0 whenever `orderbook` is absent.","example":9266.25,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.liquidity","typeLabel":"number"},"yes_liquidity":{"type":"number","description":"Dollars of YES you could buy right now: the YES ask depth valued at the ask prices, rounded to cents. 0 means nobody is offering YES, so treat the YES side as closed. It is not a share of `liquidity`; buyable depth and resting depth are different measures and do not add up.","example":5378.8,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.yes_liquidity","typeLabel":"number"},"no_liquidity":{"type":"number","description":"Dollars of NO you could buy right now: the NO ask depth valued at the ask prices, rounded to cents. 0 means nobody is offering NO.","example":4334.95,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.no_liquidity","typeLabel":"number"},"status":{"type":"string","description":"`active` is tradeable. `expired` has stopped trading and has not settled. `settled` has resolved and carries `result`. See [Market statuses](/predictions/enums#market-statuses-status).","enum":["active","expired","settled"],"title":"MarketStatus","example":"active","isRequired":true,"uniqueKey":"data.items.[INDEX].market.status","typeLabel":"enum\u003cstring>"},"updated_at":{"type":"integer","format":"int64","description":"When Splash last refreshed this market, from an order book or status update. Epoch milliseconds.","example":1793977442118,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.updated_at","typeLabel":"integer\u003cint64>"},"rules":{"type":"string","description":"The resolution rules the exchange provider publishes for this market, as plain text. They decide `result`.","example":"This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.","isRequired":true,"uniqueKey":"data.items.[INDEX].market.rules","typeLabel":"string"},"market_group_id":{"type":"string","description":"The market group this market belongs to; `GET /prediction_markets/{id}` returns the whole group.","example":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02","isRequired":true,"uniqueKey":"data.items.[INDEX].market.market_group_id","typeLabel":"string"},"type":{"type":"string","enum":["spread","total","moneyline","future_team_champion","player_prop"],"description":"Which shape this market is, and so which fields below are present: `spread`, `total`, `moneyline`, `future_team_champion` or `player_prop`. See [Market types](/predictions/enums#market-types-type-on-a-market).","example":"moneyline","isRequired":true,"uniqueKey":"data.items.[INDEX].market.type","typeLabel":"enum\u003cstring>"},"event_start":{"type":"integer","format":"int64","description":"Scheduled start of the game, epoch milliseconds. On a future, the date the exchange provider gives the title event.","example":1794160800000,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.event_start","typeLabel":"integer\u003cint64>"},"yes_line_display":{"type":"string","description":"The YES outcome as display text: `-2.5` (spread), `O 47.5` (total), `275+` (prop rung), `Yes` (future, pool leg). Absent on a moneyline.","example":"O 47.5","isRequired":true,"uniqueKey":"data.items.[INDEX].market.yes_line_display","typeLabel":"string"},"no_line_display":{"type":"string","description":"The NO outcome as display text: `+2.5`, `U 47.5`, `Under 275`, `No`. Absent on a moneyline.","example":"U 47.5","isRequired":true,"uniqueKey":"data.items.[INDEX].market.no_line_display","typeLabel":"string"},"orderbook":{"type":"object","description":"Splash's copy of the exchange provider's order book for this market, at most ten levels a side. Absent when the book is empty and while quotes are suspended during an exchange outage.","required":["bids","asks"],"properties":{"bids":{"title":"OrderbookSide","type":"object","description":"Bids: the YES bids and the NO bids, each ordered by price ascending, so the best bid is last.","required":["yes","no"],"properties":{"yes":{"type":"array","items":{"type":"object","description":"One level of the order book.","required":["p","q"],"properties":{"p":{"type":"number","description":"Price per contract in dollars, up to 4 decimal places.","example":0.58,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.yes.items.[INDEX].p","typeLabel":"number"},"q":{"type":"number","description":"Contracts resting at that price. Can be fractional.","example":2650,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.yes.items.[INDEX].q","typeLabel":"number"}},"title":"PriceLevel","example":{"q":2650,"p":0.58},"uniqueKey":"data.items.[INDEX].market.orderbook.bids.yes.items.[INDEX]","typeLabel":"PriceLevel · object"},"description":"Levels for the YES contract, price ascending.","isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.yes","typeLabel":"PriceLevel · object[]"},"no":{"type":"array","items":{"type":"object","description":"One level of the order book.","required":["p","q"],"properties":{"p":{"type":"number","description":"Price per contract in dollars, up to 4 decimal places.","example":0.58,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.no.items.[INDEX].p","typeLabel":"number"},"q":{"type":"number","description":"Contracts resting at that price. Can be fractional.","example":2650,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.no.items.[INDEX].q","typeLabel":"number"}},"title":"PriceLevel","example":{"q":2650,"p":0.58},"uniqueKey":"data.items.[INDEX].market.orderbook.bids.no.items.[INDEX]","typeLabel":"PriceLevel · object"},"description":"Levels for the NO contract, price ascending.","isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.no","typeLabel":"PriceLevel · object[]"}},"example":{"yes":[{"q":4210,"p":0.56},{"q":3185,"p":0.57},{"q":2650,"p":0.58}],"no":[{"q":3920,"p":0.39},{"q":2875,"p":0.4},{"q":2140,"p":0.41}]},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids","typeLabel":"OrderbookSide · object"},"asks":{"title":"OrderbookSide","type":"object","description":"Asks: what you can buy at. Each YES ask is the complement of a NO bid (a NO bid at 0.41 is a YES ask at 0.59) and each NO ask the complement of a YES bid, ordered by price ascending, so the best ask is first.","required":["yes","no"],"properties":{"yes":{"type":"array","items":{"type":"object","description":"One level of the order book.","required":["p","q"],"properties":{"p":{"type":"number","description":"Price per contract in dollars, up to 4 decimal places.","example":0.58,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.yes.items.[INDEX].p","typeLabel":"number"},"q":{"type":"number","description":"Contracts resting at that price. Can be fractional.","example":2650,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.yes.items.[INDEX].q","typeLabel":"number"}},"title":"PriceLevel","example":{"q":2650,"p":0.58},"uniqueKey":"data.items.[INDEX].market.orderbook.asks.yes.items.[INDEX]","typeLabel":"PriceLevel · object"},"description":"Levels for the YES contract, price ascending.","isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.yes","typeLabel":"PriceLevel · object[]"},"no":{"type":"array","items":{"type":"object","description":"One level of the order book.","required":["p","q"],"properties":{"p":{"type":"number","description":"Price per contract in dollars, up to 4 decimal places.","example":0.58,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.no.items.[INDEX].p","typeLabel":"number"},"q":{"type":"number","description":"Contracts resting at that price. Can be fractional.","example":2650,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.no.items.[INDEX].q","typeLabel":"number"}},"title":"PriceLevel","example":{"q":2650,"p":0.58},"uniqueKey":"data.items.[INDEX].market.orderbook.asks.no.items.[INDEX]","typeLabel":"PriceLevel · object"},"description":"Levels for the NO contract, price ascending.","isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.no","typeLabel":"PriceLevel · object[]"}},"example":{"yes":[{"q":4210,"p":0.56},{"q":3185,"p":0.57},{"q":2650,"p":0.58}],"no":[{"q":3920,"p":0.39},{"q":2875,"p":0.4},{"q":2140,"p":0.41}]},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks","typeLabel":"OrderbookSide · object"}},"title":"Orderbook","example":{"bids":{"yes":[{"q":4210,"p":0.56},{"q":3185,"p":0.57},{"q":2650,"p":0.58}],"no":[{"q":3920,"p":0.39},{"q":2875,"p":0.4},{"q":2140,"p":0.41}]},"asks":{"yes":[{"q":2140,"p":0.59},{"q":2875,"p":0.6},{"q":3920,"p":0.61}],"no":[{"q":2650,"p":0.42},{"q":3185,"p":0.43},{"q":4210,"p":0.44}]}},"uniqueKey":"data.items.[INDEX].market.orderbook","typeLabel":"Orderbook · object"},"last_price_yes":{"type":"number","description":"The most recent trade as a YES price per contract, up to 4 decimal places. Absent until the market has traded. Refreshes with order book updates, like `volume`.","example":0.585,"uniqueKey":"data.items.[INDEX].market.last_price_yes","typeLabel":"number"},"last_price_no":{"type":"number","description":"The same trade as a NO price: `1 - last_price_yes`, up to 4 decimal places. Present exactly when `last_price_yes` is.","example":0.415,"uniqueKey":"data.items.[INDEX].market.last_price_no","typeLabel":"number"},"result":{"type":"string","description":"How the market resolved: `yes`, `no`, or `scalar` (resolved to a value rather than a side). Absent until the market settles. See [Market results](/predictions/enums#market-results-result).","enum":["yes","no","scalar"],"title":"MarketResult","example":"yes","uniqueKey":"data.items.[INDEX].market.result","typeLabel":"enum\u003cstring>"},"event_id":{"type":"string","description":"All but `future_team_champion`: the game. Resolve it in `included.events`.","example":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","uniqueKey":"data.items.[INDEX].market.event_id","typeLabel":"string"},"line":{"type":"number","description":"Spread, total, and a player prop ladder rung (274.5 for \"275+\"). Absent on a moneyline, a future and a pool leg.","example":47.5,"uniqueKey":"data.items.[INDEX].market.line","typeLabel":"number"},"team_id":{"type":"string","description":"Spread, moneyline (not a `draw` leg), future and player prop: the team the market is about, or the player's team.","example":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","uniqueKey":"data.items.[INDEX].market.team_id","typeLabel":"string"},"yes_team_id":{"type":"string","description":"Spread, and `two_way` moneyline: the team whose side is YES.","example":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","uniqueKey":"data.items.[INDEX].market.yes_team_id","typeLabel":"string"},"no_team_id":{"type":"string","description":"Spread, and `two_way` moneyline: the team whose side is NO. Buying it is buying NO.","example":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","uniqueKey":"data.items.[INDEX].market.no_team_id","typeLabel":"string"},"moneyline_type":{"type":"string","enum":["two_way","one_way","draw"],"description":"Moneyline only: `two_way`, `one_way` or `draw`. See [Moneyline types](/predictions/enums#moneyline-types-moneyline_type).","example":"two_way","uniqueKey":"data.items.[INDEX].market.moneyline_type","typeLabel":"enum\u003cstring>"},"prop_type":{"type":"string","description":"Player prop only. See [Player prop types](/predictions/enums#player-prop-types-prop_type).","enum":["touchdowns","receiving_yards","receptions","rushing_yards","passing_yards","first_touchdown","team_first_touchdown","passing_touchdowns","fantasy_points_ppr","passing_completions","passing_attempts","rushing_attempts","scrimmage_yards","longest_reception","interceptions_thrown","most_passing_yards","points","rebounds","assists","points_rebounds_assists","three_points_made","steals","blocks","double_double","goals","goals_plus_assists","first_goal","hits","total_bases","hits_runs_rbis","home_runs","rbis","stolen_bases","strikeouts","outs","earned_runs_allowed","hits_allowed","walks_allowed"],"title":"PlayerPropType","example":"passing_yards","uniqueKey":"data.items.[INDEX].market.prop_type","typeLabel":"enum\u003cstring>"},"prop_type_display":{"type":"string","description":"Player prop only. Heading for `prop_type`, e.g. `Anytime TD`.","example":"Passing Yards","uniqueKey":"data.items.[INDEX].market.prop_type_display","typeLabel":"string"},"entity_id":{"type":"string","description":"Player prop only. The player; resolve it in `included.entities`.","example":"11cad59d-90dd-449c-a839-dddaba4fe16c","uniqueKey":"data.items.[INDEX].market.entity_id","typeLabel":"string"},"live_stat_key":{"type":"string","description":"Player prop only. Present when a live in-game stat streams for this prop type; its value is the key to read from the `player-activity-{event_id}-{entity_id}` channel payload.","example":"passing_yards","uniqueKey":"data.items.[INDEX].market.live_stat_key","typeLabel":"string"},"live_stat":{"type":"number","description":"Player prop only. The current value of `live_stat_key`: 0 until the player appears, the final figure once the game is over. Present exactly when `live_stat_key` is.","example":0,"uniqueKey":"data.items.[INDEX].market.live_stat","typeLabel":"number"},"alternate_lines":{"type":"array","description":"Player prop only. The whole ladder, this market included. Absent when there is a single line.","items":{"type":"object","description":"One rung of a ladder as the line picker shows it.","required":["id","provider_ticker","yes_line_display","no_line_display","price_yes","price_no","yes_liquidity","no_liquidity","status","rules"],"properties":{"id":{"type":"string","description":"The market id of this rung: the `market_id` to trade and the id to follow for price updates.","example":"pm_6aec4c985f2b7d0e6a3c81b4c9d5e159","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].id","typeLabel":"string"},"provider_ticker":{"type":"string","description":"The ticker of this line's market on the exchange where it trades, in the exchange's own format. Each line is its own market, so this identifies the line on the exchange and stays the same for the life of the market; use it to match the line against the exchange's own data, and `id` to trade it. The line the market leads with has the same `id` and ticker as the market. Always present.","example":"astatc-nfl-kc-buf-2026-11-08-passyds-patmah-gte300","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].provider_ticker","typeLabel":"string"},"yes_line_display":{"type":"string","description":"The YES outcome as display text, e.g. `300+`.","example":"300+","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].yes_line_display","typeLabel":"string"},"no_line_display":{"type":"string","description":"The NO outcome as display text, e.g. `Under 300`.","example":"Under 300","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].no_line_display","typeLabel":"string"},"price_yes":{"type":"object","description":"Best YES ask for this rung, in every display form.","required":["american","decimal","percentage","price","numeric_price"],"properties":{"american":{"type":"string","description":"American odds for the price, rounded to a whole number, with a sign: `-144` for a favourite, `+138` for an underdog. `-10000` when the price is 0.","example":"-144","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes.american","typeLabel":"string"},"decimal":{"type":"string","description":"Decimal odds, `1 / numeric_price` to 2 places, with an `x` suffix: `1.69x`. `0x` when the price is 0.","example":"1.69x","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes.decimal","typeLabel":"string"},"percentage":{"type":"string","description":"The implied probability, `numeric_price` as a whole percentage: `59%`.","example":"59%","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes.percentage","typeLabel":"string"},"price":{"type":"string","description":"The per-contract price in dollars, rounded to cents and formatted with a dollar sign: `$0.59`.","example":"$0.59","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes.price","typeLabel":"string"},"numeric_price":{"type":"number","description":"The per-contract price in dollars as a number, up to 4 decimal places (the exchange quotes in tenths of a cent), capped at 0.99. 0 when nobody is offering this side. Use this field for arithmetic; the strings are for display.","example":0.59,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes.numeric_price","typeLabel":"number"}},"title":"MarketPrice","example":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes","typeLabel":"MarketPrice · object"},"price_no":{"type":"object","description":"Best NO ask for this rung, in every display form.","required":["american","decimal","percentage","price","numeric_price"],"properties":{"american":{"type":"string","description":"American odds for the price, rounded to a whole number, with a sign: `-144` for a favourite, `+138` for an underdog. `-10000` when the price is 0.","example":"-144","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no.american","typeLabel":"string"},"decimal":{"type":"string","description":"Decimal odds, `1 / numeric_price` to 2 places, with an `x` suffix: `1.69x`. `0x` when the price is 0.","example":"1.69x","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no.decimal","typeLabel":"string"},"percentage":{"type":"string","description":"The implied probability, `numeric_price` as a whole percentage: `59%`.","example":"59%","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no.percentage","typeLabel":"string"},"price":{"type":"string","description":"The per-contract price in dollars, rounded to cents and formatted with a dollar sign: `$0.59`.","example":"$0.59","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no.price","typeLabel":"string"},"numeric_price":{"type":"number","description":"The per-contract price in dollars as a number, up to 4 decimal places (the exchange quotes in tenths of a cent), capped at 0.99. 0 when nobody is offering this side. Use this field for arithmetic; the strings are for display.","example":0.59,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no.numeric_price","typeLabel":"number"}},"title":"MarketPrice","example":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no","typeLabel":"MarketPrice · object"},"yes_liquidity":{"type":"number","description":"Dollars of YES buyable on this rung right now, rounded to cents. 0 means no YES offers.","example":529.1,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].yes_liquidity","typeLabel":"number"},"no_liquidity":{"type":"number","description":"Dollars of NO buyable on this rung right now, rounded to cents. 0 means no NO offers.","example":874,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].no_liquidity","typeLabel":"number"},"status":{"type":"string","description":"The rung's market status. See [Market statuses](/predictions/enums#market-statuses-status).","enum":["active","expired","settled"],"title":"MarketStatus","example":"active","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"rules":{"type":"string","description":"This rung's own resolution rules from the exchange provider.","example":"This market resolves to \"Yes\" if Patrick Mahomes records 300+ passing yards in the Kansas City Chiefs vs. Buffalo Bills game on November 8, 2026. If he does not play, it resolves to \"No\".","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].rules","typeLabel":"string"},"line":{"type":"number","description":"The half-point strike: 299.5 for \"300+\". Absent on a pool leg.","example":299.5,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].line","typeLabel":"number"},"last_price_yes":{"type":"number","description":"Last trade on this rung as a YES price, up to 4 decimal places. Absent until it has traded.","example":0.285,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].last_price_yes","typeLabel":"number"},"last_price_no":{"type":"number","description":"`1 - last_price_yes`. Present exactly when `last_price_yes` is.","example":0.715,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].last_price_no","typeLabel":"number"},"result":{"type":"string","description":"How the rung resolved. Absent until it settles.","enum":["yes","no","scalar"],"title":"MarketResult","example":"no","uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].result","typeLabel":"enum\u003cstring>"}},"title":"PlayerPropLine","example":{"id":"pm_6aec4c985f2b7d0e6a3c81b4c9d5e159","provider_ticker":"astatc-nfl-kc-buf-2026-11-08-passyds-patmah-gte300","line":299.5,"yes_line_display":"300+","no_line_display":"Under 300","price_yes":{"american":"+245","decimal":"3.45x","percentage":"29%","price":"$0.29","numeric_price":0.29},"price_no":{"american":"-257","decimal":"1.39x","percentage":"72%","price":"$0.72","numeric_price":0.72},"last_price_yes":0.285,"last_price_no":0.715,"yes_liquidity":328.8,"no_liquidity":835,"status":"active","rules":"This market resolves to \"Yes\" if Patrick Mahomes records 300+ passing yards in the Kansas City Chiefs vs. Buffalo Bills game on November 8, 2026. If he does not play, it resolves to \"No\"."},"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX]","typeLabel":"PlayerPropLine · object"},"uniqueKey":"data.items.[INDEX].market.alternate_lines","typeLabel":"PlayerPropLine · object[]"}},"example":{"id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","provider_ticker":"aec-nfl-kc-buf-2026-11-08","title":"Kansas City Chiefs to win the game?","sub_category":"nfl","type":"moneyline","event_id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","event_start":1794160800000,"moneyline_type":"two_way","team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","yes_team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","no_team_id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","price_yes":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"price_no":{"american":"+138","decimal":"2.38x","percentage":"42%","price":"$0.42","numeric_price":0.42},"volume":184532.17,"liquidity":9266.25,"yes_liquidity":5378.8,"no_liquidity":4334.95,"last_price_yes":0.585,"last_price_no":0.415,"status":"active","updated_at":1793977442118,"rules":"This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.","market_group_id":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02"},"isRequired":true,"uniqueKey":"data.items.[INDEX].market","typeLabel":"Market · object"},"market_title":{"type":"string","description":"A one-line description of the bet from your side: game, then the pick, e.g. `KC @ BUF • Chiefs to win` or `KC @ BUF • Under 47.5 points`. Empty when it cannot be built.","example":"KC @ BUF • Chiefs to win","isRequired":true,"uniqueKey":"data.items.[INDEX].market_title","typeLabel":"string"},"executed_at":{"type":"integer","format":"int64","description":"When the order executed. Epoch milliseconds. Absent until it does.","example":1793977446412,"uniqueKey":"data.items.[INDEX].executed_at","typeLabel":"integer\u003cint64>"}},"example":{"id":"ord_6aedec658f3a61c2d94e07b5a1c6e2d9","side":"yes","yes_price":0.585,"no_price":0.415,"quantity":10,"status":"executed","fill_cost":5.85,"updated_at":1793977446412,"created_at":1793977445000,"executed_at":1793977446412,"remaining_quantity":0,"fill_quantity":10,"fees":0.12,"action":"buy","splash_action":"buy","proceeds":0,"splash_side":"yes","trade_price":0.597,"proceeds_minus_fees":0,"fill_cost_plus_fees":5.97,"request_id":"3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10","time_in_force":"FOK","realized_pnl":0,"market_id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","market":{"id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","provider_ticker":"aec-nfl-kc-buf-2026-11-08","title":"Kansas City Chiefs to win the game?","sub_category":"nfl","type":"moneyline","event_id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","event_start":1794160800000,"moneyline_type":"two_way","team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","yes_team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","no_team_id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","price_yes":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"price_no":{"american":"+138","decimal":"2.38x","percentage":"42%","price":"$0.42","numeric_price":0.42},"volume":184532.17,"liquidity":9266.25,"yes_liquidity":5378.8,"no_liquidity":4334.95,"last_price_yes":0.585,"last_price_no":0.415,"status":"active","updated_at":1793977442118,"rules":"This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.","market_group_id":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02"},"market_title":"KC @ BUF • Chiefs to win"},"uniqueKey":"data.items.[INDEX]","typeLabel":"OrderWithMarket · object"},"description":"Your orders, newest first, each an `OrderWithMarket`. While a polled `request_id` is queued, or after it was refused before being recorded, the item is a [PendingOrder](/predictions/types/pending-order) instead.","isRequired":true,"uniqueKey":"data","typeLabel":"OrderWithMarket · object[]"},"total":{"type":"integer","description":"Orders matching `status` (and `request_id`), across all pages. While a polled order is still a `PendingOrder`, this is 1 even when `data` is empty.","example":3,"isRequired":true,"uniqueKey":"total","typeLabel":"integer"},"offset":{"type":"integer","description":"The `offset` the page starts at.","example":0,"isRequired":true,"uniqueKey":"offset","typeLabel":"integer"},"limit":{"type":"integer","description":"The page size.","example":50,"isRequired":true,"uniqueKey":"limit","typeLabel":"integer"},"included":{"type":"object","description":"The games, teams, players and leagues the orders' markets reference. Absent when `data` holds a `PendingOrder`.","required":["events","teams","entities","sub_categories"],"properties":{"events":{"type":"array","items":{"type":"object","description":"A game (or a golf tournament) referenced by a market's `event_id`.","required":["id","name","league","start_date","status","state"],"properties":{"id":{"type":"string","description":"The game id: what a market's `event_id` refers to.","example":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","isRequired":true,"uniqueKey":"included.events.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Display name of the game or tournament.","example":"Kansas City Chiefs at Buffalo Bills","isRequired":true,"uniqueKey":"included.events.items.[INDEX].name","typeLabel":"string"},"league":{"type":"string","description":"The league. See [Leagues](/predictions/enums#leagues-sub_category).","enum":["nfl","ncaaf","nba","wnba","ncaab","mlb","nhl","epl","mls","pga","wc"],"title":"SubCategoryId","example":"nfl","isRequired":true,"uniqueKey":"included.events.items.[INDEX].league","typeLabel":"enum\u003cstring>"},"start_date":{"type":"integer","format":"int64","description":"Scheduled start, epoch milliseconds.","example":1794160800000,"isRequired":true,"uniqueKey":"included.events.items.[INDEX].start_date","typeLabel":"integer\u003cint64>"},"status":{"type":"string","enum":["SCHEDULED","IN_PROGRESS","FINISHED","FINALIZED","CANCELED"],"title":"GameStatus","description":"`SCHEDULED`, `IN_PROGRESS`, `FINISHED`, `FINALIZED` or `CANCELED`. See [Game status](/predictions/enums#game-status-status-on-a-game).","example":"SCHEDULED","isRequired":true,"uniqueKey":"included.events.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"state":{"type":"object","description":"Live state, shaped by `state.sport`.","required":["sport","league"],"properties":{"sport":{"type":"string","enum":["basketball","football","hockey","baseball","golf","soccer"],"description":"The sport, which decides the fields below: `football`, `basketball`, `hockey`, `baseball`, `soccer` or `golf`.","example":"football","isRequired":true,"uniqueKey":"included.events.items.[INDEX].state.sport","typeLabel":"enum\u003cstring>"},"league":{"type":"string","description":"The league. See [Leagues](/predictions/enums#leagues-sub_category).","enum":["nfl","ncaaf","nba","wnba","ncaab","mlb","nhl","epl","mls","pga","wc"],"title":"SubCategoryId","example":"nfl","isRequired":true,"uniqueKey":"included.events.items.[INDEX].state.league","typeLabel":"enum\u003cstring>"},"clock":{"type":"string","description":"Football, basketball, hockey and soccer: the game clock as display text.","example":"15:00","uniqueKey":"included.events.items.[INDEX].state.clock","typeLabel":"string"},"phase":{"type":"string","enum":["pregame","regulation","overtime","shootout"],"description":"Football, basketball and hockey: `pregame`, `regulation`, `overtime`, or for hockey `shootout`. See [Game phase](/predictions/enums#game-phase-state-phase).","example":"pregame","uniqueKey":"included.events.items.[INDEX].state.phase","typeLabel":"enum\u003cstring>"},"quarter":{"type":"integer","description":"Football and NBA/WNBA: the current quarter.","example":1,"uniqueKey":"included.events.items.[INDEX].state.quarter","typeLabel":"integer"},"half":{"type":"integer","description":"NCAAB only: the current half.","example":2,"uniqueKey":"included.events.items.[INDEX].state.half","typeLabel":"integer"},"period":{"type":"integer","description":"Hockey: the current period. Above 3 is overtime.","example":3,"uniqueKey":"included.events.items.[INDEX].state.period","typeLabel":"integer"},"balls":{"type":"integer","description":"Baseball: balls in the count.","example":2,"uniqueKey":"included.events.items.[INDEX].state.balls","typeLabel":"integer"},"strikes":{"type":"integer","description":"Baseball: strikes in the count.","example":1,"uniqueKey":"included.events.items.[INDEX].state.strikes","typeLabel":"integer"},"outs":{"type":"integer","description":"Baseball: outs in the half-inning.","example":1,"uniqueKey":"included.events.items.[INDEX].state.outs","typeLabel":"integer"},"current_inning":{"type":"integer","description":"Baseball: the inning in progress.","example":6,"uniqueKey":"included.events.items.[INDEX].state.current_inning","typeLabel":"integer"},"current_inning_phase":{"type":"string","enum":["top","bottom"],"description":"Baseball: `top` or `bottom` of `current_inning`.","example":"bottom","uniqueKey":"included.events.items.[INDEX].state.current_inning_phase","typeLabel":"enum\u003cstring>"},"last_inning":{"type":"integer","description":"Baseball: the last inning played.","example":5,"uniqueKey":"included.events.items.[INDEX].state.last_inning","typeLabel":"integer"},"last_inning_phase":{"type":"string","enum":["top","bottom"],"description":"Baseball: `top` or `bottom` of `last_inning`.","example":"bottom","uniqueKey":"included.events.items.[INDEX].state.last_inning_phase","typeLabel":"enum\u003cstring>"},"double_header":{"type":"boolean","description":"Baseball: whether the game is part of a doubleheader.","example":false,"uniqueKey":"included.events.items.[INDEX].state.double_header","typeLabel":"boolean"},"game_number":{"type":"integer","description":"Baseball: 1, or 2 for the second game of a doubleheader.","example":1,"uniqueKey":"included.events.items.[INDEX].state.game_number","typeLabel":"integer"},"home_score":{"type":"integer","description":"Soccer: home team goals.","example":1,"uniqueKey":"included.events.items.[INDEX].state.home_score","typeLabel":"integer"},"away_score":{"type":"integer","description":"Soccer: away team goals.","example":0,"uniqueKey":"included.events.items.[INDEX].state.away_score","typeLabel":"integer"},"match_status":{"type":"string","enum":["not_started","1st_half","2nd_half","1st_extra","2nd_extra","penalties","interrupted","halftime","extra_time_halftime","ended"],"description":"Soccer: the match status. See [Soccer match status](/predictions/enums#soccer-match-status-state-match_status).","example":"2nd_half","uniqueKey":"included.events.items.[INDEX].state.match_status","typeLabel":"enum\u003cstring>"},"home_penalties":{"type":"integer","description":"Soccer: home team goals in a penalty shootout. Absent unless there is one.","example":4,"uniqueKey":"included.events.items.[INDEX].state.home_penalties","typeLabel":"integer"},"away_penalties":{"type":"integer","description":"Soccer: away team goals in a penalty shootout. Absent unless there is one.","example":3,"uniqueKey":"included.events.items.[INDEX].state.away_penalties","typeLabel":"integer"},"rounds":{"type":"array","description":"Golf only: the tournament rounds and their status.","items":{"title":"GolfRound","type":"object","description":"One round of a golf tournament.","required":["number","status"],"properties":{"number":{"type":"integer","description":"Round number, from 1.","example":2,"isRequired":true,"uniqueKey":"included.events.items.[INDEX].state.rounds.items.[INDEX].number","typeLabel":"integer"},"status":{"type":"string","enum":["SCHEDULED","IN_PROGRESS","FINISHED","FINALIZED","CANCELED"],"title":"GameStatus","description":"The round's status, with the same values as a game's `status`.","example":"IN_PROGRESS","isRequired":true,"uniqueKey":"included.events.items.[INDEX].state.rounds.items.[INDEX].status","typeLabel":"enum\u003cstring>"}},"example":{"number":2,"status":"IN_PROGRESS"},"uniqueKey":"included.events.items.[INDEX].state.rounds.items.[INDEX]","typeLabel":"GolfRound · object"},"uniqueKey":"included.events.items.[INDEX].state.rounds","typeLabel":"GolfRound · object[]"},"weather":{"type":"object","required":["condition"],"properties":{"condition":{"type":"string","description":"Conditions at the venue as the game data feed describes them.","example":"Partly Cloudy","isRequired":true,"uniqueKey":"included.events.items.[INDEX].state.weather.condition","typeLabel":"string"},"humidity":{"type":"number","description":"Relative humidity, percent.","example":62,"uniqueKey":"included.events.items.[INDEX].state.weather.humidity","typeLabel":"number"},"temp":{"type":"number","description":"Temperature at the venue as the game data feed reports it.","example":41,"uniqueKey":"included.events.items.[INDEX].state.weather.temp","typeLabel":"number"},"wind_direction":{"type":"string","description":"Wind direction as the game data feed reports it.","example":"WNW","uniqueKey":"included.events.items.[INDEX].state.weather.wind_direction","typeLabel":"string"},"wind_speed":{"type":"number","description":"Wind speed as the game data feed reports it.","example":12,"uniqueKey":"included.events.items.[INDEX].state.weather.wind_speed","typeLabel":"number"}},"title":"Weather","description":"Conditions at the venue, when the game feed has them.","example":{"condition":"Partly Cloudy","humidity":62,"temp":41,"wind_direction":"WNW","wind_speed":12},"uniqueKey":"included.events.items.[INDEX].state.weather","typeLabel":"Weather · object"},"weather_icon":{"type":"string","enum":["rain","snow","wind","cloud","night","indoor","clear","unknown"],"description":"An icon key for the conditions, when the game feed has them: `rain`, `snow`, `wind`, `cloud`, `night`, `indoor`, `clear` or `unknown`.","example":"cloud","uniqueKey":"included.events.items.[INDEX].state.weather_icon","typeLabel":"enum\u003cstring>"}},"title":"GameState","example":{"sport":"football","league":"nfl","clock":"15:00","quarter":1,"phase":"pregame","weather":{"condition":"Partly Cloudy","humidity":62,"temp":41,"wind_direction":"WNW","wind_speed":12},"weather_icon":"cloud"},"isRequired":true,"uniqueKey":"included.events.items.[INDEX].state","typeLabel":"GameState · object"},"home":{"type":"object","description":"The home team and its live score. Absent on a golf tournament.","required":["id","alias"],"properties":{"id":{"type":"string","description":"The team. Resolve it in `included.teams`.","example":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","isRequired":true,"uniqueKey":"included.events.items.[INDEX].home.id","typeLabel":"string"},"alias":{"type":"string","example":"BUF","description":"Team abbreviation, upper case.","isRequired":true,"uniqueKey":"included.events.items.[INDEX].home.alias","typeLabel":"string"},"points":{"type":"integer","description":"The team's score. Absent on an MLB game, which reports `runs`.","example":0,"uniqueKey":"included.events.items.[INDEX].home.points","typeLabel":"integer"},"primary_color":{"type":"string","description":"MLB games only: the team's primary color as a hex string. Other leagues' games currently carry it under `primaryColor`; read colors from `included.teams[].primary_color` instead.","example":"#00338D","uniqueKey":"included.events.items.[INDEX].home.primary_color","typeLabel":"string"},"runs":{"type":"integer","description":"Baseball: runs scored.","example":3,"uniqueKey":"included.events.items.[INDEX].home.runs","typeLabel":"integer"},"hits":{"type":"integer","description":"Baseball: hits. MLB games do not currently carry it.","example":7,"uniqueKey":"included.events.items.[INDEX].home.hits","typeLabel":"integer"},"errors":{"type":"integer","description":"Baseball: errors. MLB games do not currently carry it.","example":0,"uniqueKey":"included.events.items.[INDEX].home.errors","typeLabel":"integer"},"record":{"title":"TeamRecord","type":"object","required":["wins","losses"],"properties":{"wins":{"type":"integer","description":"Wins this season.","example":7,"isRequired":true,"uniqueKey":"included.events.items.[INDEX].home.record.wins","typeLabel":"integer"},"losses":{"type":"integer","description":"Losses this season.","example":1,"isRequired":true,"uniqueKey":"included.events.items.[INDEX].home.record.losses","typeLabel":"integer"},"ties":{"type":"integer","description":"Ties this season. Only in leagues that can tie.","example":0,"uniqueKey":"included.events.items.[INDEX].home.record.ties","typeLabel":"integer"}},"description":"The team's season record, when the game feed has one.","example":{"wins":7,"losses":1},"uniqueKey":"included.events.items.[INDEX].home.record","typeLabel":"TeamRecord · object"}},"title":"TeamState","example":{"id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","alias":"BUF","points":0,"record":{"wins":6,"losses":2}},"uniqueKey":"included.events.items.[INDEX].home","typeLabel":"TeamState · object"},"away":{"type":"object","description":"The away team and its live score. Absent on a golf tournament.","required":["id","alias"],"properties":{"id":{"type":"string","description":"The team. Resolve it in `included.teams`.","example":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","isRequired":true,"uniqueKey":"included.events.items.[INDEX].away.id","typeLabel":"string"},"alias":{"type":"string","example":"BUF","description":"Team abbreviation, upper case.","isRequired":true,"uniqueKey":"included.events.items.[INDEX].away.alias","typeLabel":"string"},"points":{"type":"integer","description":"The team's score. Absent on an MLB game, which reports `runs`.","example":0,"uniqueKey":"included.events.items.[INDEX].away.points","typeLabel":"integer"},"primary_color":{"type":"string","description":"MLB games only: the team's primary color as a hex string. Other leagues' games currently carry it under `primaryColor`; read colors from `included.teams[].primary_color` instead.","example":"#00338D","uniqueKey":"included.events.items.[INDEX].away.primary_color","typeLabel":"string"},"runs":{"type":"integer","description":"Baseball: runs scored.","example":3,"uniqueKey":"included.events.items.[INDEX].away.runs","typeLabel":"integer"},"hits":{"type":"integer","description":"Baseball: hits. MLB games do not currently carry it.","example":7,"uniqueKey":"included.events.items.[INDEX].away.hits","typeLabel":"integer"},"errors":{"type":"integer","description":"Baseball: errors. MLB games do not currently carry it.","example":0,"uniqueKey":"included.events.items.[INDEX].away.errors","typeLabel":"integer"},"record":{"title":"TeamRecord","type":"object","required":["wins","losses"],"properties":{"wins":{"type":"integer","description":"Wins this season.","example":7,"isRequired":true,"uniqueKey":"included.events.items.[INDEX].away.record.wins","typeLabel":"integer"},"losses":{"type":"integer","description":"Losses this season.","example":1,"isRequired":true,"uniqueKey":"included.events.items.[INDEX].away.record.losses","typeLabel":"integer"},"ties":{"type":"integer","description":"Ties this season. Only in leagues that can tie.","example":0,"uniqueKey":"included.events.items.[INDEX].away.record.ties","typeLabel":"integer"}},"description":"The team's season record, when the game feed has one.","example":{"wins":7,"losses":1},"uniqueKey":"included.events.items.[INDEX].away.record","typeLabel":"TeamRecord · object"}},"title":"TeamState","example":{"id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","alias":"BUF","points":0,"record":{"wins":6,"losses":2}},"uniqueKey":"included.events.items.[INDEX].away","typeLabel":"TeamState · object"}},"title":"Game","example":{"id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","name":"Kansas City Chiefs at Buffalo Bills","league":"nfl","start_date":1794160800000,"status":"SCHEDULED","home":{"id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","alias":"BUF","points":0,"record":{"wins":6,"losses":2}},"away":{"id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","alias":"KC","points":0,"record":{"wins":7,"losses":1}},"state":{"sport":"football","league":"nfl","clock":"15:00","quarter":1,"phase":"pregame","weather":{"condition":"Partly Cloudy","humidity":62,"temp":41,"wind_direction":"WNW","wind_speed":12},"weather_icon":"cloud"}},"uniqueKey":"included.events.items.[INDEX]","typeLabel":"Game · object"},"description":"Every game the primary data references.","isRequired":true,"uniqueKey":"included.events","typeLabel":"Game · object[]"},"teams":{"type":"array","items":{"type":"object","required":["id","name","league","alias","market","official_logo"],"properties":{"id":{"type":"string","description":"The team id, as `team_id`, `yes_team_id` and `no_team_id` refer to it.","example":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","isRequired":true,"uniqueKey":"included.teams.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","example":"Chiefs","description":"The team name without its city, e.g. `Chiefs`.","isRequired":true,"uniqueKey":"included.teams.items.[INDEX].name","typeLabel":"string"},"league":{"type":"string","description":"The league. See [Leagues](/predictions/enums#leagues-sub_category).","enum":["nfl","ncaaf","nba","wnba","ncaab","mlb","nhl","epl","mls","pga","wc"],"title":"SubCategoryId","example":"nfl","isRequired":true,"uniqueKey":"included.teams.items.[INDEX].league","typeLabel":"enum\u003cstring>"},"alias":{"type":"string","example":"KC","description":"Team abbreviation, upper case.","isRequired":true,"uniqueKey":"included.teams.items.[INDEX].alias","typeLabel":"string"},"market":{"type":"string","example":"Kansas City","description":"The team's city or region, e.g. `Kansas City`.","isRequired":true,"uniqueKey":"included.teams.items.[INDEX].market","typeLabel":"string"},"official_logo":{"type":"boolean","description":"`true` when `icon_url` is the league's official logo (NHL, MLB, NBA, WNBA, EPL, MLS), `false` when Splash drew it (NFL and NCAAF helmets, NCAAB crests). A drawn icon faces one way, so mirror the away team's icon in a matchup; never mirror an official logo. Always present.","example":false,"isRequired":true,"uniqueKey":"included.teams.items.[INDEX].official_logo","typeLabel":"boolean"},"primary_color":{"type":"string","description":"The team's primary color as a hex string. Absent when the game feed has none.","example":"#E31837","uniqueKey":"included.teams.items.[INDEX].primary_color","typeLabel":"string"},"secondary_color":{"type":"string","description":"The team's secondary color as a hex string. Absent when the game feed has none.","example":"#FFB81C","uniqueKey":"included.teams.items.[INDEX].secondary_color","typeLabel":"string"},"icon_url":{"type":"string","format":"uri","description":"The team's icon on Cloudinary, falling back to the league's default icon. The URL is version-pinned, so it is safe to cache indefinitely. Absent when neither icon exists.","example":"https://res.cloudinary.com/splashsports/image/upload/v1791500102/static/icons/teams/nfl/kc.png","uniqueKey":"included.teams.items.[INDEX].icon_url","typeLabel":"string\u003curi>"}},"title":"Team","description":"A team referenced by a market or a game.","example":{"id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","name":"Chiefs","league":"nfl","alias":"KC","market":"Kansas City","primary_color":"#E31837","secondary_color":"#FFB81C","icon_url":"https://res.cloudinary.com/splashsports/image/upload/v1791500102/static/icons/teams/nfl/kc.png","official_logo":false},"uniqueKey":"included.teams.items.[INDEX]","typeLabel":"Team · object"},"description":"Every team the primary data references, plus both teams of each included game.","isRequired":true,"uniqueKey":"included.teams","typeLabel":"Team · object[]"},"entities":{"type":"array","items":{"type":"object","description":"A player referenced by a market's `entity_id`.","required":["id","name","league","player_details"],"properties":{"id":{"type":"string","description":"The player id, as a market's `entity_id` refers to it.","example":"11cad59d-90dd-449c-a839-dddaba4fe16c","isRequired":true,"uniqueKey":"included.entities.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"The player's full name.","example":"Patrick Mahomes","isRequired":true,"uniqueKey":"included.entities.items.[INDEX].name","typeLabel":"string"},"league":{"type":"string","description":"The league. See [Leagues](/predictions/enums#leagues-sub_category).","enum":["nfl","ncaaf","nba","wnba","ncaab","mlb","nhl","epl","mls","pga","wc"],"title":"SubCategoryId","example":"nfl","isRequired":true,"uniqueKey":"included.entities.items.[INDEX].league","typeLabel":"enum\u003cstring>"},"player_details":{"type":"object","required":["league","first_name","last_name","abbreviated_name","status"],"properties":{"league":{"type":"string","description":"The league. See [Leagues](/predictions/enums#leagues-sub_category).","enum":["nfl","ncaaf","nba","wnba","ncaab","mlb","nhl","epl","mls","pga","wc"],"title":"SubCategoryId","example":"nfl","isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.league","typeLabel":"enum\u003cstring>"},"first_name":{"type":"string","description":"The player's first name.","example":"Patrick","isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.first_name","typeLabel":"string"},"last_name":{"type":"string","description":"The player's last name.","example":"Mahomes","isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.last_name","typeLabel":"string"},"abbreviated_name":{"type":"string","description":"Short display name, as the game feed abbreviates it.","example":"P.Mahomes","isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.abbreviated_name","typeLabel":"string"},"status":{"type":"string","description":"The player's roster status code as the game feed reports it.","example":"ACT","isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.status","typeLabel":"string"},"position":{"type":"string","description":"Team sports only: position abbreviation.","example":"QB","uniqueKey":"included.entities.items.[INDEX].player_details.position","typeLabel":"string"},"jersey_number":{"type":"string","description":"Team sports only: jersey number, as a string.","example":"15","uniqueKey":"included.entities.items.[INDEX].player_details.jersey_number","typeLabel":"string"},"throw_hand":{"type":"string","enum":["L","R"],"description":"MLB only: `L` or `R`.","example":"R","uniqueKey":"included.entities.items.[INDEX].player_details.throw_hand","typeLabel":"enum\u003cstring>"},"bat_hand":{"type":"string","enum":["L","R","B"],"description":"MLB only: `L`, `R`, or `B` for a switch hitter.","example":"R","uniqueKey":"included.entities.items.[INDEX].player_details.bat_hand","typeLabel":"enum\u003cstring>"},"statistics":{"title":"MLBSeasonStatistics","type":"object","description":"MLB only: season statistics.","properties":{"hitting":{"title":"MLBSeasonHittingStatistics","type":"object","description":"Season hitting. Present for a hitter, and for a two-way player.","required":["at_bats_per_game","hits_per_game","runs_per_game","rbi_per_game","total_bases_per_game","home_runs_per_game","total_strikeouts_per_game","stolen_bases_per_game","at_bats","hits","walks","home_runs","runs","rbi","stolen_bases","doubles","games_played","games_started","grounded_into_double_play","hit_by_pitch","intentional_walks","plate_appearances","reached_on_error","sacrifice_flys","singles","slugging_percentage","total_bases","total_strikeouts","triples","on_base_plus_slugging_percentage","on_base_percentage","batting_average"],"properties":{"at_bats_per_game":{"type":"number","description":"At-bats per game played.","example":3.62,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.at_bats_per_game","typeLabel":"number"},"hits_per_game":{"type":"number","description":"Hits per game played.","example":1.07,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.hits_per_game","typeLabel":"number"},"runs_per_game":{"type":"number","description":"Runs scored per game played.","example":0.85,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.runs_per_game","typeLabel":"number"},"rbi_per_game":{"type":"number","description":"Runs batted in per game played.","example":0.9,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.rbi_per_game","typeLabel":"number"},"total_bases_per_game":{"type":"number","description":"Total bases per game played.","example":2.24,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.total_bases_per_game","typeLabel":"number"},"home_runs_per_game":{"type":"number","description":"Home runs per game played.","example":0.33,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.home_runs_per_game","typeLabel":"number"},"total_strikeouts_per_game":{"type":"number","description":"Strikeouts per game played.","example":1.04,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.total_strikeouts_per_game","typeLabel":"number"},"stolen_bases_per_game":{"type":"number","description":"Stolen bases per game played.","example":0.06,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.stolen_bases_per_game","typeLabel":"number"},"at_bats":{"type":"number","description":"At-bats this season.","example":543,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.at_bats","typeLabel":"number"},"hits":{"type":"number","description":"Hits this season.","example":160,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.hits","typeLabel":"number"},"walks":{"type":"number","description":"Walks this season.","example":112,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.walks","typeLabel":"number"},"home_runs":{"type":"number","description":"Home runs this season.","example":50,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.home_runs","typeLabel":"number"},"runs":{"type":"number","description":"Runs scored this season.","example":128,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.runs","typeLabel":"number"},"rbi":{"type":"number","description":"Runs batted in this season.","example":135,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.rbi","typeLabel":"number"},"stolen_bases":{"type":"number","description":"Stolen bases this season.","example":9,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.stolen_bases","typeLabel":"number"},"doubles":{"type":"number","description":"Doubles this season.","example":26,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.doubles","typeLabel":"number"},"games_played":{"type":"number","description":"Games played this season.","example":150,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.games_played","typeLabel":"number"},"games_started":{"type":"number","description":"Games started this season.","example":148,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.games_started","typeLabel":"number"},"grounded_into_double_play":{"type":"number","description":"Times grounded into a double play.","example":14,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.grounded_into_double_play","typeLabel":"number"},"hit_by_pitch":{"type":"number","description":"Times hit by a pitch.","example":6,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.hit_by_pitch","typeLabel":"number"},"intentional_walks":{"type":"number","description":"Intentional walks received.","example":18,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.intentional_walks","typeLabel":"number"},"plate_appearances":{"type":"number","description":"Plate appearances this season.","example":671,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.plate_appearances","typeLabel":"number"},"reached_on_error":{"type":"number","description":"Times reached base on an error.","example":3,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.reached_on_error","typeLabel":"number"},"sacrifice_flys":{"type":"number","description":"Sacrifice flies.","example":7,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.sacrifice_flys","typeLabel":"number"},"singles":{"type":"number","description":"Singles this season.","example":82,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.singles","typeLabel":"number"},"slugging_percentage":{"type":"number","description":"Slugging percentage, as a decimal.","example":0.637,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.slugging_percentage","typeLabel":"number"},"total_bases":{"type":"number","description":"Total bases this season.","example":336,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.total_bases","typeLabel":"number"},"total_strikeouts":{"type":"number","description":"Strikeouts this season.","example":156,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.total_strikeouts","typeLabel":"number"},"triples":{"type":"number","description":"Triples this season.","example":2,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.triples","typeLabel":"number"},"on_base_plus_slugging_percentage":{"type":"number","description":"On-base plus slugging (OPS), as a decimal.","example":1.071,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.on_base_plus_slugging_percentage","typeLabel":"number"},"on_base_percentage":{"type":"number","description":"On-base percentage, as a decimal.","example":0.434,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.on_base_percentage","typeLabel":"number"},"batting_average":{"type":"string","example":".295","description":"Batting average as display text, e.g. `.295`.","isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting.batting_average","typeLabel":"string"}},"example":{"at_bats_per_game":3.62,"hits_per_game":1.07,"runs_per_game":0.85,"rbi_per_game":0.9,"total_bases_per_game":2.24,"home_runs_per_game":0.33,"total_strikeouts_per_game":1.04,"stolen_bases_per_game":0.06,"at_bats":543,"hits":160,"walks":112,"home_runs":50,"runs":128,"rbi":135,"stolen_bases":9,"doubles":26,"games_played":150,"games_started":148,"grounded_into_double_play":14,"hit_by_pitch":6,"intentional_walks":18,"plate_appearances":671,"reached_on_error":3,"sacrifice_flys":7,"singles":82,"slugging_percentage":0.637,"total_bases":336,"total_strikeouts":156,"triples":2,"on_base_plus_slugging_percentage":1.071,"on_base_percentage":0.434,"batting_average":".295"},"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.hitting","typeLabel":"MLBSeasonHittingStatistics · object"},"pitching":{"title":"MLBSeasonPitchingStatistics","type":"object","description":"Season pitching. Present for a pitcher, and for a two-way player.","required":["innings_pitched","pitch_count","hits_allowed","earned_runs","base_on_balls","strikeouts","home_runs_allowed","earned_run_average","shutout","complete_game","win","loss","save","hold","blown_save","quality_start","total_outs"],"properties":{"innings_pitched":{"type":"number","description":"Innings pitched, in baseball notation: `.1` and `.2` are one and two outs.","example":186.2,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.innings_pitched","typeLabel":"number"},"pitch_count":{"type":"number","description":"Pitches thrown this season.","example":2985,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.pitch_count","typeLabel":"number"},"hits_allowed":{"type":"number","description":"Hits allowed.","example":151,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.hits_allowed","typeLabel":"number"},"earned_runs":{"type":"number","description":"Earned runs allowed.","example":58,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.earned_runs","typeLabel":"number"},"base_on_balls":{"type":"number","description":"Walks issued.","example":44,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.base_on_balls","typeLabel":"number"},"strikeouts":{"type":"number","description":"Strikeouts recorded.","example":221,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.strikeouts","typeLabel":"number"},"home_runs_allowed":{"type":"number","description":"Home runs allowed.","example":19,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.home_runs_allowed","typeLabel":"number"},"earned_run_average":{"type":"number","description":"Earned run average.","example":2.8,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.earned_run_average","typeLabel":"number"},"shutout":{"type":"number","description":"Shutouts.","example":1,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.shutout","typeLabel":"number"},"complete_game":{"type":"number","description":"Complete games.","example":2,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.complete_game","typeLabel":"number"},"win":{"type":"number","description":"Wins.","example":15,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.win","typeLabel":"number"},"loss":{"type":"number","description":"Losses.","example":7,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.loss","typeLabel":"number"},"save":{"type":"number","description":"Saves.","example":0,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.save","typeLabel":"number"},"hold":{"type":"number","description":"Holds.","example":0,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.hold","typeLabel":"number"},"blown_save":{"type":"number","description":"Blown saves.","example":0,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.blown_save","typeLabel":"number"},"quality_start":{"type":"number","description":"Quality starts.","example":21,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.quality_start","typeLabel":"number"},"total_outs":{"type":"number","description":"Outs recorded.","example":560,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching.total_outs","typeLabel":"number"}},"example":{"innings_pitched":186.2,"pitch_count":2985,"hits_allowed":151,"earned_runs":58,"base_on_balls":44,"strikeouts":221,"home_runs_allowed":19,"earned_run_average":2.8,"shutout":1,"complete_game":2,"win":15,"loss":7,"save":0,"hold":0,"blown_save":0,"quality_start":21,"total_outs":560},"uniqueKey":"included.entities.items.[INDEX].player_details.statistics.pitching","typeLabel":"MLBSeasonPitchingStatistics · object"}},"example":{"hitting":{"at_bats_per_game":3.62,"hits_per_game":1.07,"runs_per_game":0.85,"rbi_per_game":0.9,"total_bases_per_game":2.24,"home_runs_per_game":0.33,"total_strikeouts_per_game":1.04,"stolen_bases_per_game":0.06,"at_bats":543,"hits":160,"walks":112,"home_runs":50,"runs":128,"rbi":135,"stolen_bases":9,"doubles":26,"games_played":150,"games_started":148,"grounded_into_double_play":14,"hit_by_pitch":6,"intentional_walks":18,"plate_appearances":671,"reached_on_error":3,"sacrifice_flys":7,"singles":82,"slugging_percentage":0.637,"total_bases":336,"total_strikeouts":156,"triples":2,"on_base_plus_slugging_percentage":1.071,"on_base_percentage":0.434,"batting_average":".295"}},"uniqueKey":"included.entities.items.[INDEX].player_details.statistics","typeLabel":"MLBSeasonStatistics · object"},"splits":{"title":"MLBPlayerSplits","type":"object","description":"MLB only: hitting splits by opposing pitcher hand.","properties":{"hitting":{"title":"MLBPlayerHittingSplits","type":"object","required":["pitching_hand"],"properties":{"pitching_hand":{"type":"array","description":"One entry per opposing pitcher hand, `L` and `R`.","items":{"title":"MLBSeasonHittingSplitStatistics","type":"object","description":"Season hitting against one pitching hand.","required":["value","at_bats","hits","walks","home_runs","runs","rbi","stolen_bases","doubles","hit_by_pitch","intentional_walks","singles","slugging_percentage","total_strikeouts","triples","on_base_plus_slugging_percentage","on_base_percentage","batting_average"],"properties":{"value":{"type":"string","enum":["L","R"],"description":"The opposing pitcher's hand: `L` or `R`.","example":"L","isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].value","typeLabel":"enum\u003cstring>"},"at_bats":{"type":"number","description":"At-bats against this hand.","example":131,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].at_bats","typeLabel":"number"},"hits":{"type":"number","description":"Hits against this hand.","example":41,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].hits","typeLabel":"number"},"walks":{"type":"number","description":"Walks against this hand.","example":31,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].walks","typeLabel":"number"},"home_runs":{"type":"number","description":"Home runs against this hand.","example":13,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].home_runs","typeLabel":"number"},"runs":{"type":"number","description":"Runs scored against this hand.","example":33,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].runs","typeLabel":"number"},"rbi":{"type":"number","description":"Runs batted in against this hand.","example":36,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].rbi","typeLabel":"number"},"stolen_bases":{"type":"number","description":"Stolen bases against this hand.","example":2,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].stolen_bases","typeLabel":"number"},"doubles":{"type":"number","description":"Doubles against this hand.","example":7,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].doubles","typeLabel":"number"},"hit_by_pitch":{"type":"number","description":"Times hit by a pitch.","example":2,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].hit_by_pitch","typeLabel":"number"},"intentional_walks":{"type":"number","description":"Intentional walks received.","example":5,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].intentional_walks","typeLabel":"number"},"singles":{"type":"number","description":"Singles against this hand.","example":21,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].singles","typeLabel":"number"},"slugging_percentage":{"type":"number","description":"Slugging percentage, as a decimal.","example":0.672,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].slugging_percentage","typeLabel":"number"},"total_strikeouts":{"type":"number","description":"Strikeouts against this hand.","example":35,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].total_strikeouts","typeLabel":"number"},"triples":{"type":"number","description":"Triples against this hand.","example":0,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].triples","typeLabel":"number"},"on_base_plus_slugging_percentage":{"type":"number","description":"On-base plus slugging (OPS), as a decimal.","example":1.122,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].on_base_plus_slugging_percentage","typeLabel":"number"},"on_base_percentage":{"type":"number","description":"On-base percentage, as a decimal.","example":0.45,"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].on_base_percentage","typeLabel":"number"},"batting_average":{"type":"string","description":"Batting average as display text, e.g. `.295`.","example":".313","isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX].batting_average","typeLabel":"string"}},"example":{"value":"L","at_bats":131,"hits":41,"walks":31,"home_runs":13,"runs":33,"rbi":36,"stolen_bases":2,"doubles":7,"hit_by_pitch":2,"intentional_walks":5,"singles":21,"slugging_percentage":0.672,"total_strikeouts":35,"triples":0,"on_base_plus_slugging_percentage":1.122,"on_base_percentage":0.45,"batting_average":".313"},"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand.items.[INDEX]","typeLabel":"MLBSeasonHittingSplitStatistics · object"},"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting.pitching_hand","typeLabel":"MLBSeasonHittingSplitStatistics · object[]"}},"description":"Hitting splits. Present for a hitter.","example":{"pitching_hand":[{"value":"L","at_bats":131,"hits":41,"walks":31,"home_runs":13,"runs":33,"rbi":36,"stolen_bases":2,"doubles":7,"hit_by_pitch":2,"intentional_walks":5,"singles":21,"slugging_percentage":0.672,"total_strikeouts":35,"triples":0,"on_base_plus_slugging_percentage":1.122,"on_base_percentage":0.45,"batting_average":".313"},{"value":"R","at_bats":412,"hits":119,"walks":81,"home_runs":37,"runs":95,"rbi":99,"stolen_bases":2,"doubles":19,"hit_by_pitch":2,"intentional_walks":5,"singles":61,"slugging_percentage":0.626,"total_strikeouts":121,"triples":2,"on_base_plus_slugging_percentage":1.056,"on_base_percentage":0.43,"batting_average":".289"}]},"uniqueKey":"included.entities.items.[INDEX].player_details.splits.hitting","typeLabel":"MLBPlayerHittingSplits · object"}},"example":{"hitting":{"pitching_hand":[{"value":"L","at_bats":131,"hits":41,"walks":31,"home_runs":13,"runs":33,"rbi":36,"stolen_bases":2,"doubles":7,"hit_by_pitch":2,"intentional_walks":5,"singles":21,"slugging_percentage":0.672,"total_strikeouts":35,"triples":0,"on_base_plus_slugging_percentage":1.122,"on_base_percentage":0.45,"batting_average":".313"},{"value":"R","at_bats":412,"hits":119,"walks":81,"home_runs":37,"runs":95,"rbi":99,"stolen_bases":2,"doubles":19,"hit_by_pitch":2,"intentional_walks":5,"singles":61,"slugging_percentage":0.626,"total_strikeouts":121,"triples":2,"on_base_plus_slugging_percentage":1.056,"on_base_percentage":0.43,"batting_average":".289"}]}},"uniqueKey":"included.entities.items.[INDEX].player_details.splits","typeLabel":"MLBPlayerSplits · object"},"country":{"type":"string","description":"PGA only: country name.","example":"United States","uniqueKey":"included.entities.items.[INDEX].player_details.country","typeLabel":"string"},"country_abb":{"type":"string","description":"PGA only: country abbreviation.","example":"USA","uniqueKey":"included.entities.items.[INDEX].player_details.country_abb","typeLabel":"string"},"amateur":{"type":"boolean","description":"PGA only: whether the player is an amateur.","example":false,"uniqueKey":"included.entities.items.[INDEX].player_details.amateur","typeLabel":"boolean"}},"title":"PlayerDetails","description":"Biographical details, and season statistics in MLB.","example":{"league":"nfl","first_name":"Patrick","last_name":"Mahomes","abbreviated_name":"P.Mahomes","status":"ACT","position":"QB","jersey_number":"15"},"isRequired":true,"uniqueKey":"included.entities.items.[INDEX].player_details","typeLabel":"PlayerDetails · object"},"current_team_id":{"type":"string","description":"The player's current team. Absent for PGA.","example":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","uniqueKey":"included.entities.items.[INDEX].current_team_id","typeLabel":"string"},"icon_url":{"type":"string","format":"uri","description":"Team sports: the player's jersey in their current team's colors with their number (no number in MLB), rendered by Cloudinary. Version-pinned and safe to cache. Absent for PGA.","example":"https://res.cloudinary.com/splashsports/image/upload/e_tint:100:3a0610:0p:8f0f1f:45p:e31837:72p:eb5a6a:100p/l_static:nfl:jersey_grey_stripe/e_colorize:100,co_rgb:ffb81c/fl_layer_apply/l_static:nfl:jersey_white_stripe/fl_layer_apply/l_text:Saira%20Condensed_820_black:15,co_white/fl_layer_apply,g_center,y_40/c_scale,w_255,dpr_2.0/c_mpad,w_300,h_300,b_transparent,dpr_2.0/e_sharpen:60/v1791500312/static/nfl/jersey.png","uniqueKey":"included.entities.items.[INDEX].icon_url","typeLabel":"string\u003curi>"}},"title":"Entity","example":{"id":"11cad59d-90dd-449c-a839-dddaba4fe16c","name":"Patrick Mahomes","league":"nfl","current_team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","player_details":{"league":"nfl","first_name":"Patrick","last_name":"Mahomes","abbreviated_name":"P.Mahomes","status":"ACT","position":"QB","jersey_number":"15"},"icon_url":"https://res.cloudinary.com/splashsports/image/upload/e_tint:100:3a0610:0p:8f0f1f:45p:e31837:72p:eb5a6a:100p/l_static:nfl:jersey_grey_stripe/e_colorize:100,co_rgb:ffb81c/fl_layer_apply/l_static:nfl:jersey_white_stripe/fl_layer_apply/l_text:Saira%20Condensed_820_black:15,co_white/fl_layer_apply,g_center,y_40/c_scale,w_255,dpr_2.0/c_mpad,w_300,h_300,b_transparent,dpr_2.0/e_sharpen:60/v1791500312/static/nfl/jersey.png"},"uniqueKey":"included.entities.items.[INDEX]","typeLabel":"Entity · object"},"description":"Every player the primary data references. On a `group_by=prop_type` response, only the players shown.","isRequired":true,"uniqueKey":"included.entities","typeLabel":"Entity · object[]"},"sub_categories":{"type":"array","items":{"type":"object","description":"A league referenced by an `included` block. Identity only: `active` and `filters` describe what is tradeable service-wide, which a list derived from one response's resources cannot speak to. Those come from `GET /sub_categories`.","required":["id","name","icon_url"],"properties":{"id":{"type":"string","description":"The league id. See [Leagues](/predictions/enums#leagues-sub_category).","enum":["nfl","ncaaf","nba","wnba","ncaab","mlb","nhl","epl","mls","pga","wc"],"title":"SubCategoryId","example":"nfl","isRequired":true,"uniqueKey":"included.sub_categories.items.[INDEX].id","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"The league's display-ready label.","example":"NFL","isRequired":true,"uniqueKey":"included.sub_categories.items.[INDEX].name","typeLabel":"string"},"icon_url":{"type":"string","format":"uri","description":"The league's icon.","example":"https://res.cloudinary.com/splashsports/image/upload/v1786629706/pro_football.png","isRequired":true,"uniqueKey":"included.sub_categories.items.[INDEX].icon_url","typeLabel":"string\u003curi>"}},"title":"IncludedSubCategory","example":{"id":"nfl","name":"NFL","icon_url":"https://res.cloudinary.com/splashsports/image/upload/v1786629706/pro_football.png"},"uniqueKey":"included.sub_categories.items.[INDEX]","typeLabel":"IncludedSubCategory · object"},"description":"The distinct leagues of the included events, teams and entities, ordered by `name`. Identity only: `active` and `filters` come from `GET /sub_categories`.","isRequired":true,"uniqueKey":"included.sub_categories","typeLabel":"IncludedSubCategory · object[]"}},"title":"Included","example":{"events":[{"id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","name":"Kansas City Chiefs at Buffalo Bills","league":"nfl","start_date":1794160800000,"status":"SCHEDULED","home":{"id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","alias":"BUF","points":0,"record":{"wins":6,"losses":2}},"away":{"id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","alias":"KC","points":0,"record":{"wins":7,"losses":1}},"state":{"sport":"football","league":"nfl","clock":"15:00","quarter":1,"phase":"pregame","weather":{"condition":"Partly Cloudy","humidity":62,"temp":41,"wind_direction":"WNW","wind_speed":12},"weather_icon":"cloud"}}],"teams":[{"id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","name":"Bills","league":"nfl","alias":"BUF","market":"Buffalo","primary_color":"#00338D","secondary_color":"#C60C30","icon_url":"https://res.cloudinary.com/splashsports/image/upload/v1791500098/static/icons/teams/nfl/buf.png","official_logo":false},{"id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","name":"Chiefs","league":"nfl","alias":"KC","market":"Kansas City","primary_color":"#E31837","secondary_color":"#FFB81C","icon_url":"https://res.cloudinary.com/splashsports/image/upload/v1791500102/static/icons/teams/nfl/kc.png","official_logo":false}],"entities":[{"id":"11cad59d-90dd-449c-a839-dddaba4fe16c","name":"Patrick Mahomes","league":"nfl","current_team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","player_details":{"league":"nfl","first_name":"Patrick","last_name":"Mahomes","abbreviated_name":"P.Mahomes","status":"ACT","position":"QB","jersey_number":"15"},"icon_url":"https://res.cloudinary.com/splashsports/image/upload/e_tint:100:3a0610:0p:8f0f1f:45p:e31837:72p:eb5a6a:100p/l_static:nfl:jersey_grey_stripe/e_colorize:100,co_rgb:ffb81c/fl_layer_apply/l_static:nfl:jersey_white_stripe/fl_layer_apply/l_text:Saira%20Condensed_820_black:15,co_white/fl_layer_apply,g_center,y_40/c_scale,w_255,dpr_2.0/c_mpad,w_300,h_300,b_transparent,dpr_2.0/e_sharpen:60/v1791500312/static/nfl/jersey.png"}],"sub_categories":[{"id":"nfl","name":"NFL","icon_url":"https://res.cloudinary.com/splashsports/image/upload/v1786629706/pro_football.png"}]},"uniqueKey":"included","typeLabel":"Included · object"}},"uniqueKey":"","typeLabel":"OrderListResponse · object"},"examples":{"Polled: executed":{"title":"Polled: executed","description":"`?request_id=` once the order filled: the full order with its market.","value":{"status":"success","data":[{"id":"ord_6aedec658f3a61c2d94e07b5a1c6e2d9","side":"yes","yes_price":0.585,"no_price":0.415,"quantity":10,"status":"executed","fill_cost":5.85,"updated_at":1793977446412,"created_at":1793977445000,"executed_at":1793977446412,"remaining_quantity":0,"fill_quantity":10,"fees":0.12,"action":"buy","splash_action":"buy","proceeds":0,"splash_side":"yes","trade_price":0.597,"proceeds_minus_fees":0,"fill_cost_plus_fees":5.97,"request_id":"3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10","time_in_force":"FOK","realized_pnl":0,"market_id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","market":{"id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","provider_ticker":"aec-nfl-kc-buf-2026-11-08","title":"Kansas City Chiefs to win the game?","sub_category":"nfl","type":"moneyline","event_id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","event_start":1794160800000,"moneyline_type":"two_way","team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","yes_team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","no_team_id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","price_yes":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"price_no":{"american":"+138","decimal":"2.38x","percentage":"42%","price":"$0.42","numeric_price":0.42},"volume":184532.17,"liquidity":9266.25,"yes_liquidity":5378.8,"no_liquidity":4334.95,"last_price_yes":0.585,"last_price_no":0.415,"status":"active","updated_at":1793977442118,"rules":"This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.","market_group_id":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02"},"market_title":"KC @ BUF • Chiefs to win"}],"total":1,"included":{"events":[{"id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","name":"Kansas City Chiefs at Buffalo Bills","league":"nfl","start_date":1794160800000,"status":"SCHEDULED","home":{"id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","alias":"BUF","points":0,"record":{"wins":6,"losses":2}},"away":{"id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","alias":"KC","points":0,"record":{"wins":7,"losses":1}},"state":{"sport":"football","league":"nfl","clock":"15:00","quarter":1,"phase":"pregame","weather":{"condition":"Partly Cloudy","humidity":62,"temp":41,"wind_direction":"WNW","wind_speed":12},"weather_icon":"cloud"}}],"teams":[{"id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","name":"Bills","league":"nfl","alias":"BUF","market":"Buffalo","primary_color":"#00338D","secondary_color":"#C60C30","icon_url":"https://res.cloudinary.com/splashsports/image/upload/v1791500098/static/icons/teams/nfl/buf.png","official_logo":false},{"id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","name":"Chiefs","league":"nfl","alias":"KC","market":"Kansas City","primary_color":"#E31837","secondary_color":"#FFB81C","icon_url":"https://res.cloudinary.com/splashsports/image/upload/v1791500102/static/icons/teams/nfl/kc.png","official_logo":false}],"entities":[],"sub_categories":[{"id":"nfl","name":"NFL","icon_url":"https://res.cloudinary.com/splashsports/image/upload/v1786629706/pro_football.png"}]},"offset":0,"limit":50}},"Polled: still queued":{"title":"Polled: still queued","description":"`?request_id=` before the order is recorded: a PendingOrder, and no `included`. Poll again.","value":{"status":"success","data":[{"id":"ord_6aedec658f3a61c2d94e07b5a1c6e2d9","request_id":"3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10","status":"pending"}],"total":1,"offset":0,"limit":50}},"Polled: refused before it was recorded":{"title":"Polled: refused before it was recorded","description":"A PendingOrder with `status: cancelled` and the refusal's message in `error`: the order was not placed and the `request_id` is spent. Send a new `request_id` to try again.","value":{"status":"success","data":[{"id":"ord_6aededb87e1c4b9f2d6a03e8b5c1d7f2","request_id":"a6d0e3b7-92c4-4f1e-8b5a-d3c7f0e9a214","status":"cancelled","error":"Market is not active"}],"total":1,"offset":0,"limit":50}},"Order history":{"title":"Order history","description":"No filters: newest first. The sell closed the Chiefs buy for a realized $0.58 after fees.","value":{"status":"success","data":[{"id":"ord_6af0d056c50d27e8a6b19f34d0e8c3a1","side":"yes","yes_price":0.665,"no_price":0.335,"quantity":10,"status":"executed","fill_cost":0,"updated_at":1794166871236,"created_at":1794166870000,"executed_at":1794166871236,"remaining_quantity":0,"fill_quantity":10,"fees":0.1,"action":"sell","splash_action":"sell","proceeds":6.65,"splash_side":"yes","trade_price":0.655,"proceeds_minus_fees":6.55,"fill_cost_plus_fees":0,"request_id":"c47b19e2-0f6d-4b8a-a3e5-71d9f2c08a56","time_in_force":"FOK","realized_pnl":0.58,"market_id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","market":{"id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","provider_ticker":"aec-nfl-kc-buf-2026-11-08","title":"Kansas City Chiefs to win the game?","sub_category":"nfl","type":"moneyline","event_id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","event_start":1794160800000,"moneyline_type":"two_way","team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","yes_team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","no_team_id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","price_yes":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"price_no":{"american":"+138","decimal":"2.38x","percentage":"42%","price":"$0.42","numeric_price":0.42},"volume":184532.17,"liquidity":9266.25,"yes_liquidity":5378.8,"no_liquidity":4334.95,"last_price_yes":0.585,"last_price_no":0.415,"status":"active","updated_at":1793977442118,"rules":"This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.","market_group_id":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02"},"market_title":"KC @ BUF • Chiefs to win"},{"id":"ord_6aedecf62b7e94d0c13f58a6e2d7b0c4","side":"yes","yes_price":0.535,"no_price":0.465,"quantity":20,"status":"executed","fill_cost":9.3,"updated_at":1793977591087,"created_at":1793977590000,"executed_at":1793977591087,"remaining_quantity":0,"fill_quantity":20,"fees":0.19,"action":"sell","splash_action":"buy","proceeds":0,"splash_side":"no","trade_price":0.4745,"proceeds_minus_fees":0,"fill_cost_plus_fees":9.49,"request_id":"8d2e6f40-1c3b-4a7e-b5d9-2f0a7c6e1b84","time_in_force":"FOK","realized_pnl":0,"market_id":"pm_6ae1e3c08d5c2a7e3f9b41e6d2c8a604","market":{"id":"pm_6ae1e3c08d5c2a7e3f9b41e6d2c8a604","provider_ticker":"tsc-nfl-kc-buf-2026-11-08-47pt5","title":"Chiefs vs. Bills: Total Points O/U 47.5","sub_category":"nfl","type":"total","event_id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","event_start":1794160800000,"line":47.5,"yes_line_display":"O 47.5","no_line_display":"U 47.5","price_yes":{"american":"-117","decimal":"1.85x","percentage":"54%","price":"$0.54","numeric_price":0.54},"price_no":{"american":"+113","decimal":"2.13x","percentage":"47%","price":"$0.47","numeric_price":0.47},"volume":71455.92,"liquidity":4350.3,"yes_liquidity":2298.2,"no_liquidity":2211.5,"last_price_yes":0.535,"last_price_no":0.465,"status":"active","updated_at":1793977442118,"rules":"This market resolves to \"Yes\" if the Kansas City Chiefs and Buffalo Bills combine for more than 47.5 points in their game on November 8, 2026, overtime included. Otherwise it resolves to \"No\".","market_group_id":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02"},"market_title":"KC @ BUF • Under 47.5 points"},{"id":"ord_6aedec658f3a61c2d94e07b5a1c6e2d9","side":"yes","yes_price":0.585,"no_price":0.415,"quantity":10,"status":"executed","fill_cost":5.85,"updated_at":1793977446412,"created_at":1793977445000,"executed_at":1793977446412,"remaining_quantity":0,"fill_quantity":10,"fees":0.12,"action":"buy","splash_action":"buy","proceeds":0,"splash_side":"yes","trade_price":0.597,"proceeds_minus_fees":0,"fill_cost_plus_fees":5.97,"request_id":"3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10","time_in_force":"FOK","realized_pnl":0,"market_id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","market":{"id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","provider_ticker":"aec-nfl-kc-buf-2026-11-08","title":"Kansas City Chiefs to win the game?","sub_category":"nfl","type":"moneyline","event_id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","event_start":1794160800000,"moneyline_type":"two_way","team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","yes_team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","no_team_id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","price_yes":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"price_no":{"american":"+138","decimal":"2.38x","percentage":"42%","price":"$0.42","numeric_price":0.42},"volume":184532.17,"liquidity":9266.25,"yes_liquidity":5378.8,"no_liquidity":4334.95,"last_price_yes":0.585,"last_price_no":0.415,"status":"active","updated_at":1793977442118,"rules":"This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.","market_group_id":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02"},"market_title":"KC @ BUF • Chiefs to win"}],"total":3,"included":{"events":[{"id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","name":"Kansas City Chiefs at Buffalo Bills","league":"nfl","start_date":1794160800000,"status":"SCHEDULED","home":{"id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","alias":"BUF","points":0,"record":{"wins":6,"losses":2}},"away":{"id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","alias":"KC","points":0,"record":{"wins":7,"losses":1}},"state":{"sport":"football","league":"nfl","clock":"15:00","quarter":1,"phase":"pregame","weather":{"condition":"Partly Cloudy","humidity":62,"temp":41,"wind_direction":"WNW","wind_speed":12},"weather_icon":"cloud"}}],"teams":[{"id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","name":"Bills","league":"nfl","alias":"BUF","market":"Buffalo","primary_color":"#00338D","secondary_color":"#C60C30","icon_url":"https://res.cloudinary.com/splashsports/image/upload/v1791500098/static/icons/teams/nfl/buf.png","official_logo":false},{"id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","name":"Chiefs","league":"nfl","alias":"KC","market":"Kansas City","primary_color":"#E31837","secondary_color":"#FFB81C","icon_url":"https://res.cloudinary.com/splashsports/image/upload/v1791500102/static/icons/teams/nfl/kc.png","official_logo":false}],"entities":[],"sub_categories":[{"id":"nfl","name":"NFL","icon_url":"https://res.cloudinary.com/splashsports/image/upload/v1786629706/pro_football.png"}]},"offset":0,"limit":50}}},"exampleType":"examples"}},"exampleType":"examples"},"48e8ca91-907b-4e1c-9883-953767164d9c":{"description":"A query or path parameter failed validation (`Invalid request parameters`).","content":{"application/json":{"schema":{"type":"object","title":"TradingError","description":"The error body of the signed order and position routes. Same shape as the public `Error`, with the codes those routes can return. Branch on `error`; `message` is for people. See [Errors](/predictions/trading#errors).","required":["status","error","message"],"properties":{"status":{"type":"string","const":"error","description":"Always `error` on an error response.","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"error":{"type":"string","description":"Machine-readable code; branch on this. A string: the values below are the ones these routes return today, and a code not listed here should be handled by its HTTP status. See [Trading error codes](/predictions/enums#trading-error-codes-error).\n\n- `BAD_REQUEST` (400): invalid body or query, or an order check failed.\n- `NOT_AUTHORIZED` (401): the signature check failed, the request had no `SPLASH-ACCESS-KEY` header, or `user_id` was passed to `GET /orders`, `GET /orders/{id}`, `GET /positions`, `GET /positions/{id}` or `GET /transactions`.\n- `FOBIDDEN` (403): `Not authorized to trade`, the account may not trade. `FOBIDDEN` is the literal value the API returns (not `FORBIDDEN`); match it exactly.\n- `NOT_FOUND` (404): no such order, position or market on your account.\n- `DUPLICATE_REQUEST_ID` (409): another account used this `request_id`.\n- `UNSUPPORTED_MEDIA_TYPE` (415): a signed body that is not JSON.\n- `INTERNAL_ERROR` (500): the request could not be handled. On `POST /trading/orders` the order was not placed; poll the `request_id`, then try again with a new one.\n- `TRADING_API_UNAVAILABLE` (503): the Trading API is not taking signed requests; retry later.\n- `EXCHANGE_UNAVAILABLE`, `SERVICE_UNAVAILABLE` (503): the order could not be placed right now; retry later with a new `request_id`. On `GET /balance`, `SERVICE_UNAVAILABLE` means your balance could not be read; retry shortly.\n\nA `429 Too Many Requests` is the rate limit, not one of these codes; see [Rate limits](/predictions/rate-limits). Whether an order's `request_id` can be reused after an error: see [Order outcomes and retries](/predictions/trading#order-outcomes-and-retries).","example":"FOBIDDEN","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable detail. For `BAD_REQUEST` and `NOT_AUTHORIZED` it names the cause, e.g. `Invalid price` or `Invalid signature`. Do not branch on it.","example":"Not authorized to trade","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"status":"error","error":"FOBIDDEN","message":"Not authorized to trade"},"uniqueKey":"","typeLabel":"TradingError · object"},"examples":{"A query parameter failed validation":{"title":"A query parameter failed validation","description":"For example `?status=filled`, `?limit=0`, or a `request_id` with a character outside `A-Z a-z 0-9 _ -`.","value":{"status":"error","error":"BAD_REQUEST","message":"Invalid request parameters"}}},"exampleType":"examples"}},"exampleType":"examples"},"b76958ab-70e8-4daa-ada6-ea2fc4009f24":{"description":"The signature check failed, or the request had no `SPLASH-ACCESS-KEY` header. A failed check's `message` is one of `Unknown API key`, `API key revoked`, `Timestamp outside the allowed window` or `Invalid signature`. `API key revoked` is reported only when the signature is correct, so a wrong secret always reads `Invalid signature`. A request without the `SPLASH-ACCESS-KEY` header is not an API request and is refused with `You are not authorized to perform the requested action.` See [Authentication errors](/predictions/authentication#authentication-errors). This route also refuses `user_id` with the same message: it always acts as the key's own account.","content":{"application/json":{"schema":{"type":"object","title":"TradingError","description":"The error body of the signed order and position routes. Same shape as the public `Error`, with the codes those routes can return. Branch on `error`; `message` is for people. See [Errors](/predictions/trading#errors).","required":["status","error","message"],"properties":{"status":{"type":"string","const":"error","description":"Always `error` on an error response.","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"error":{"type":"string","description":"Machine-readable code; branch on this. A string: the values below are the ones these routes return today, and a code not listed here should be handled by its HTTP status. See [Trading error codes](/predictions/enums#trading-error-codes-error).\n\n- `BAD_REQUEST` (400): invalid body or query, or an order check failed.\n- `NOT_AUTHORIZED` (401): the signature check failed, the request had no `SPLASH-ACCESS-KEY` header, or `user_id` was passed to `GET /orders`, `GET /orders/{id}`, `GET /positions`, `GET /positions/{id}` or `GET /transactions`.\n- `FOBIDDEN` (403): `Not authorized to trade`, the account may not trade. `FOBIDDEN` is the literal value the API returns (not `FORBIDDEN`); match it exactly.\n- `NOT_FOUND` (404): no such order, position or market on your account.\n- `DUPLICATE_REQUEST_ID` (409): another account used this `request_id`.\n- `UNSUPPORTED_MEDIA_TYPE` (415): a signed body that is not JSON.\n- `INTERNAL_ERROR` (500): the request could not be handled. On `POST /trading/orders` the order was not placed; poll the `request_id`, then try again with a new one.\n- `TRADING_API_UNAVAILABLE` (503): the Trading API is not taking signed requests; retry later.\n- `EXCHANGE_UNAVAILABLE`, `SERVICE_UNAVAILABLE` (503): the order could not be placed right now; retry later with a new `request_id`. On `GET /balance`, `SERVICE_UNAVAILABLE` means your balance could not be read; retry shortly.\n\nA `429 Too Many Requests` is the rate limit, not one of these codes; see [Rate limits](/predictions/rate-limits). Whether an order's `request_id` can be reused after an error: see [Order outcomes and retries](/predictions/trading#order-outcomes-and-retries).","example":"FOBIDDEN","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable detail. For `BAD_REQUEST` and `NOT_AUTHORIZED` it names the cause, e.g. `Invalid price` or `Invalid signature`. Do not branch on it.","example":"Not authorized to trade","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"status":"error","error":"FOBIDDEN","message":"Not authorized to trade"},"uniqueKey":"","typeLabel":"TradingError · object"},"examples":{"Invalid signature":{"title":"Invalid signature","description":"The signature does not match what Splash computed. Check that you signed the exact body bytes and the full path including `/predictions-service/api` and the query string.","value":{"status":"error","error":"NOT_AUTHORIZED","message":"Invalid signature"}},"Timestamp outside the allowed window":{"title":"Timestamp outside the allowed window","description":"`SPLASH-ACCESS-TIMESTAMP` is more than 30 seconds from server time. Check your clock.","value":{"status":"error","error":"NOT_AUTHORIZED","message":"Timestamp outside the allowed window"}},"Unknown API key":{"title":"Unknown API key","value":{"status":"error","error":"NOT_AUTHORIZED","message":"Unknown API key"}},"API key revoked":{"title":"API key revoked","value":{"status":"error","error":"NOT_AUTHORIZED","message":"API key revoked"}},"Missing or misspelled key header":{"title":"Missing or misspelled key header","description":"The request carried no `SPLASH-ACCESS-KEY` header, because it was not signed or the header name is misspelled. A request without the `SPLASH-ACCESS-KEY` header is not an API request and is refused. Send all three `SPLASH-ACCESS-*` headers.","value":{"status":"error","error":"NOT_AUTHORIZED","message":"You are not authorized to perform the requested action."}},"user_id was passed":{"title":"user_id was passed","description":"This route always acts as the key's own account, so `user_id` is refused rather than ignored. Remove it.","value":{"status":"error","error":"NOT_AUTHORIZED","message":"You are not authorized to perform the requested action."}}},"exampleType":"examples"}},"exampleType":"examples"},"4d9ece72-c949-4818-8e97-66ee39531cf4":{"description":"Too Many Requests: more than 10 requests per second from your IP address. The request was not handled and nothing was recorded. If the response has a `Retry-After` header, wait that many seconds; otherwise back off (about 1 second, with jitter). Then send the same request again; on `POST /trading/orders` reuse the same `request_id`. See [Rate limits](/predictions/rate-limits).","headers":{"Retry-After":{"description":"Optional, and may be absent. When present, the number of seconds to wait before retrying; when absent, back off about 1 second with jitter.","required":false,"schema":{"type":"integer"},"example":1}},"content":{"application/json":{"schema":{"type":"object","title":"TooManyRequestsError","description":"The body of a `429 Too Many Requests`: more than 10 requests per second from your IP address. It is not a `TradingError`; branch on the `429` status. See [Rate limits](/predictions/rate-limits).","required":["status","error","message"],"properties":{"status":{"type":"string","const":"error","description":"Always `error`.","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"error":{"type":"string","const":"TOO_MANY_REQUESTS","description":"Always `TOO_MANY_REQUESTS` on a rate-limited request.","example":"TOO_MANY_REQUESTS","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable detail. Do not branch on it.","example":"Too many requests, try again later","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"status":"error","error":"TOO_MANY_REQUESTS","message":"Too many requests, try again later"},"uniqueKey":"","typeLabel":"TooManyRequestsError · object"},"examples":{"Over the limit":{"title":"Over the limit","description":"More than 10 requests per second from your IP address. Nothing was recorded; wait about a second (or the `Retry-After` seconds when that header is present) and send the same request again.","value":{"status":"error","error":"TOO_MANY_REQUESTS","message":"Too many requests, try again later"}}},"exampleType":"examples"}},"exampleType":"examples"},"56a2a916-790d-4258-8ca5-c95f415c4438":{"description":"The request could not be handled. On `POST /trading/orders` the order was not placed: poll `GET /orders?request_id=` before trying again. If the poll returns the order, follow it; otherwise send the order again with a new `request_id`, because this one now reads `cancelled`. See [Order outcomes and retries](/predictions/trading#order-outcomes-and-retries).","content":{"application/json":{"schema":{"type":"object","required":["status","error","message"],"properties":{"status":{"type":"string","const":"error","description":"Always `error` on an error response.","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"error":{"type":"string","enum":["BAD_REQUEST","NOT_FOUND","INTERNAL_ERROR"],"description":"Machine-readable code; branch on this. `BAD_REQUEST` (400), `NOT_FOUND` (404) or `INTERNAL_ERROR` (500). See [Error codes](/predictions/enums#error-codes-error).","example":"BAD_REQUEST","isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable detail for logs and people. Wording can change; do not branch on it.","example":"Invalid request parameters","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"title":"Error","example":{"status":"error","error":"BAD_REQUEST","message":"Invalid request parameters"},"uniqueKey":"","typeLabel":"Error · object"},"examples":{"The request could not be handled":{"title":"The request could not be handled","description":"The message is spelled `occured` on the wire. On `POST /trading/orders`, poll the `request_id` before trying again, then send the order with a new `request_id`.","value":{"status":"error","error":"INTERNAL_ERROR","message":"An internal error has occured and the request could not be handled."}}},"exampleType":"examples"}},"exampleType":"examples"},"c7f1dd3e-c241-4b31-a85f-322d83e6e0a2":{"description":"The Trading API cannot take signed requests right now (`TRADING_API_UNAVAILABLE`). Nothing was read or recorded. Retry later.","content":{"application/json":{"schema":{"type":"object","title":"TradingError","description":"The error body of the signed order and position routes. Same shape as the public `Error`, with the codes those routes can return. Branch on `error`; `message` is for people. See [Errors](/predictions/trading#errors).","required":["status","error","message"],"properties":{"status":{"type":"string","const":"error","description":"Always `error` on an error response.","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"error":{"type":"string","description":"Machine-readable code; branch on this. A string: the values below are the ones these routes return today, and a code not listed here should be handled by its HTTP status. See [Trading error codes](/predictions/enums#trading-error-codes-error).\n\n- `BAD_REQUEST` (400): invalid body or query, or an order check failed.\n- `NOT_AUTHORIZED` (401): the signature check failed, the request had no `SPLASH-ACCESS-KEY` header, or `user_id` was passed to `GET /orders`, `GET /orders/{id}`, `GET /positions`, `GET /positions/{id}` or `GET /transactions`.\n- `FOBIDDEN` (403): `Not authorized to trade`, the account may not trade. `FOBIDDEN` is the literal value the API returns (not `FORBIDDEN`); match it exactly.\n- `NOT_FOUND` (404): no such order, position or market on your account.\n- `DUPLICATE_REQUEST_ID` (409): another account used this `request_id`.\n- `UNSUPPORTED_MEDIA_TYPE` (415): a signed body that is not JSON.\n- `INTERNAL_ERROR` (500): the request could not be handled. On `POST /trading/orders` the order was not placed; poll the `request_id`, then try again with a new one.\n- `TRADING_API_UNAVAILABLE` (503): the Trading API is not taking signed requests; retry later.\n- `EXCHANGE_UNAVAILABLE`, `SERVICE_UNAVAILABLE` (503): the order could not be placed right now; retry later with a new `request_id`. On `GET /balance`, `SERVICE_UNAVAILABLE` means your balance could not be read; retry shortly.\n\nA `429 Too Many Requests` is the rate limit, not one of these codes; see [Rate limits](/predictions/rate-limits). Whether an order's `request_id` can be reused after an error: see [Order outcomes and retries](/predictions/trading#order-outcomes-and-retries).","example":"FOBIDDEN","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable detail. For `BAD_REQUEST` and `NOT_AUTHORIZED` it names the cause, e.g. `Invalid price` or `Invalid signature`. Do not branch on it.","example":"Not authorized to trade","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"status":"error","error":"FOBIDDEN","message":"Not authorized to trade"},"uniqueKey":"","typeLabel":"TradingError · object"},"examples":{"The Trading API is not available":{"title":"The Trading API is not available","value":{"status":"error","error":"TRADING_API_UNAVAILABLE","message":"The trading API is not available."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"0ff56bd9-c900-4054-a553-2d17860e12b2":{"SplashAccessKey":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-KEY","description":"Your API key id. Keys are issued by Splash on request, never expire, and stay valid until Splash revokes them, which it does on request. See [Authentication](/predictions/authentication).","scopes":[],"schemeName":"SplashAccessKey"},"SplashAccessTimestamp":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-TIMESTAMP","description":"Unix milliseconds, within 30 seconds of server time.","scopes":[],"schemeName":"SplashAccessTimestamp"},"SplashAccessSignature":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-SIGNATURE","description":"`base64(HMAC-SHA256(secret, timestamp + METHOD + path + body))`. See [Authentication](/predictions/authentication).","scopes":[],"schemeName":"SplashAccessSignature"}}},"servers":{"d7d3b42f-0ca4-43cd-8663-0e65fcf09fe8":{"url":"https://api.splashsports.com/predictions-service/api","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-KEY","description":"Your API key id. Keys are issued by Splash on request, never expire, and stay valid until Splash revokes them, which it does on request. See [Authentication](/predictions/authentication).","scopes":[],"schemeName":"SplashAccessKey"},"schema":{"title":"SPLASH-ACCESS-KEY","type":"string","description":"Your API key id. Keys are issued by Splash on request, never expire, and stay valid until Splash revokes them, which it does on request. See [Authentication](/predictions/authentication).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"SplashAccessKey","name":"SPLASH-ACCESS-KEY"},{"scheme":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-TIMESTAMP","description":"Unix milliseconds, within 30 seconds of server time.","scopes":[],"schemeName":"SplashAccessTimestamp"},"schema":{"title":"SPLASH-ACCESS-TIMESTAMP","type":"string","description":"Unix milliseconds, within 30 seconds of server time.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"SplashAccessTimestamp","name":"SPLASH-ACCESS-TIMESTAMP"},{"scheme":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-SIGNATURE","description":"`base64(HMAC-SHA256(secret, timestamp + METHOD + path + body))`. See [Authentication](/predictions/authentication).","scopes":[],"schemeName":"SplashAccessSignature"},"schema":{"title":"SPLASH-ACCESS-SIGNATURE","type":"string","description":"`base64(HMAC-SHA256(secret, timestamp + METHOD + path + body))`. See [Authentication](/predictions/authentication).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"SplashAccessSignature","name":"SPLASH-ACCESS-SIGNATURE"}],"title":"SplashAccessKey \u0026 SplashAccessTimestamp \u0026 SplashAccessSignature"}]},"originalFileLocation":"predictions/openapi.json"},"subdomain":"splashsports","siteName":"Splash API","title":"List orders - Splash API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T04:46:16.381Z","originalFileLocation":"predictions/reference/orders/list-orders.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=\"system\"}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=\"Your orders, newest first, each with its market. Use it to review your order history, filter it by status, and, most often, to follow an order you just placed: pass the request_id you sent to Place an order and repeat until the order\u0026#x27;s status is executed or cancelled: every 500 ms to 1 second for the first few seconds, then every few seconds. Requests are limited to 10 per second per IP address; see Rate limits. An order is pending while it is queued or in flight, executed once it filled completely, and cancelled when it did not fill (a fill-or-kill order that could not fill at your price, or an order that was refused). While the order is still queued, or after it was refused before it was recorded, the item is the minimal PendingOrder, { id, request_id, status, error? }; once recorded it is the full order with its market. A refused order carries the reason in error. Pages are limit (1 to 50) and offset; total counts every match. To read one order by its id, use Get an order. To see what your orders added up to, see List positions.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Splash API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_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/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_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/splashsports/PRNnoWEL4Q64I1hT/_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/splashsports/PRNnoWEL4Q64I1hT/_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/splashsports/PRNnoWEL4Q64I1hT/_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/splashsports/PRNnoWEL4Q64I1hT/_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/splashsports/PRNnoWEL4Q64I1hT/_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/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List orders - Splash API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Your orders, newest first, each with its market. Use it to review your order history, filter it by status, and, most often, to follow an order you just placed: pass the request_id you sent to Place an order and repeat until the order\u0026#x27;s status is executed or cancelled: every 500 ms to 1 second for the first few seconds, then every few seconds. Requests are limited to 10 per second per IP address; see Rate limits. An order is pending while it is queued or in flight, executed once it filled completely, and cancelled when it did not fill (a fill-or-kill order that could not fill at your price, or an order that was refused). While the order is still queued, or after it was refused before it was recorded, the item is the minimal PendingOrder, { id, request_id, status, error? }; once recorded it is the full order with its market. A refused order carries the reason in error. Pages are limit (1 to 50) and offset; total counts every match. To read one order by its id, use Get an order. To see what your orders added up to, see List positions.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Splash API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.splashsports.com/predictions/reference/orders/list-orders\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://splashsports.mintlify.app/_mintlify/api/og/v2?division=Orders\u0026amp;title=List+orders\u0026amp;description=Your+orders%2C+newest+first%2C+each+with+its+market.+Use+it+to+review+your+order+history%2C+filter+it+by+%60status%60%2C+and%2C+most+often%2C+to+follow+an+order+you+just+placed\u0026amp;theme=9004f4974dec995f2169f042\u0026amp;signature=c76547a1d6f1e2e5d66ef99af4782c60de1890300761ef312186fafb9f84bd91\">\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=\"List orders - Splash API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Your orders, newest first, each with its market. Use it to review your order history, filter it by status, and, most often, to follow an order you just placed: pass the request_id you sent to Place an order and repeat until the order\u0026#x27;s status is executed or cancelled: every 500 ms to 1 second for the first few seconds, then every few seconds. Requests are limited to 10 per second per IP address; see Rate limits. An order is pending while it is queued or in flight, executed once it filled completely, and cancelled when it did not fill (a fill-or-kill order that could not fill at your price, or an order that was refused). While the order is still queued, or after it was refused before it was recorded, the item is the minimal PendingOrder, { id, request_id, status, error? }; once recorded it is the full order with its market. A refused order carries the reason in error. Pages are limit (1 to 50) and offset; total counts every match. To read one order by its id, use Get an order. To see what your orders added up to, see List positions.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://splashsports.mintlify.app/_mintlify/api/og/v2?division=Orders\u0026amp;title=List+orders\u0026amp;description=Your+orders%2C+newest+first%2C+each+with+its+market.+Use+it+to+review+your+order+history%2C+filter+it+by+%60status%60%2C+and%2C+most+often%2C+to+follow+an+order+you+just+placed\u0026amp;theme=9004f4974dec995f2169f042\u0026amp;signature=c76547a1d6f1e2e5d66ef99af4782c60de1890300761ef312186fafb9f84bd91\">\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/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Splash API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00938A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.splashsports.com/predictions/reference/orders/list-orders\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/predictions/reference/orders/list-orders.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.splashsports.com/#organization\",\"name\":\"Splash API\",\"url\":\"https://docs.splashsports.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/splashsports/kcAVKCSKVe9QsybE/images/Black.png?fit=max\u0026auto=format\u0026n=kcAVKCSKVe9QsybE\u0026q=85\u0026s=e3ebef52faf215906edfadd8cb6b8f6c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.splashsports.com#website\",\"name\":\"Splash API\",\"url\":\"https://docs.splashsports.com\",\"publisher\":{\"@id\":\"https://docs.splashsports.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.splashsports.com/predictions/reference/orders/list-orders#webpage\",\"url\":\"https://docs.splashsports.com/predictions/reference/orders/list-orders\",\"name\":\"List orders\",\"description\":\"Your orders, newest first, each with its market. Use it to review your order history, filter it by status, and, most often, to follow an order you just placed: pass the request_id you sent to Place an order and repeat until the order's status is executed or cancelled: every 500 ms to 1 second for the first few seconds, then every few seconds. Requests are limited to 10 per second per IP address; see Rate limits. An order is pending while it is queued or in flight, executed once it filled completely, and cancelled when it did not fill (a fill-or-kill order that could not fill at your price, or an order that was refused). While the order is still queued, or after it was refused before it was recorded, the item is the minimal PendingOrder, { id, request_id, status, error? }; once recorded it is the full order with its market. A refused order carries the reason in error. Pages are limit (1 to 50) and offset; total counts every match. To read one order by its id, use Get an order. To see what your orders added up to, see List positions.\",\"dateModified\":\"2026-11-03T04:46:16.381Z\",\"isPartOf\":{\"@id\":\"https://docs.splashsports.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.splashsports.com/predictions/reference/orders/list-orders#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.splashsports.com/predictions/reference/orders/list-orders#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reference\",\"item\":\"https://docs.splashsports.com/predictions/reference/discover/discover-feed\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Orders\",\"item\":\"https://docs.splashsports.com/predictions/reference/orders/place-an-order\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"List orders\",\"item\":\"https://docs.splashsports.com/predictions/reference/orders/list-orders\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.splashsports.com/predictions/reference/orders/list-orders#apireference\",\"headline\":\"List orders\",\"name\":\"List orders\",\"description\":\"Your orders, newest first, each with its market. Use it to review your order history, filter it by status, and, most often, to follow an order you just placed: pass the request_id you sent to Place an order and repeat until the order's status is executed or cancelled: every 500 ms to 1 second for the first few seconds, then every few seconds. Requests are limited to 10 per second per IP address; see Rate limits. An order is pending while it is queued or in flight, executed once it filled completely, and cancelled when it did not fill (a fill-or-kill order that could not fill at your price, or an order that was refused). While the order is still queued, or after it was refused before it was recorded, the item is the minimal PendingOrder, { id, request_id, status, error? }; once recorded it is the full order with its market. A refused order carries the reason in error. Pages are limit (1 to 50) and offset; total counts every match. To read one order by its id, use Get an order. To see what your orders added up to, see List positions.\",\"url\":\"https://docs.splashsports.com/predictions/reference/orders/list-orders\",\"mainEntityOfPage\":{\"@id\":\"https://docs.splashsports.com/predictions/reference/orders/list-orders#webpage\"},\"dateModified\":\"2026-11-03T04:46:16.381Z\",\"publisher\":{\"@id\":\"https://docs.splashsports.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.splashsports.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Splash API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Splash API","nav":{"global":null,"tabs":[{"tab":"Predictions API","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Overview","href":"/predictions/overview"},{"title":"Trading","href":"/predictions/trading"},{"title":"Authentication","href":"/predictions/authentication"},{"title":"Rate limits","href":"/predictions/rate-limits"},{"title":"Fees and order cost","href":"/predictions/fees"},{"title":"Enumerations","href":"/predictions/enums"}]},{"group":"Reference","pages":[{"group":"Discover","pages":[{"title":"Discover feed","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /discover","href":"/predictions/reference/discover/discover-feed"}]},{"group":"Sub-categories","pages":[{"title":"List sub-categories","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /sub_categories","href":"/predictions/reference/sub-categories/list-sub-categories"}]},{"group":"Markets","pages":[{"title":"List market groups","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /prediction_markets","href":"/predictions/reference/markets/list-market-groups"},{"title":"List promoted market groups","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /prediction_markets/promoted","href":"/predictions/reference/markets/list-promoted-market-groups"},{"title":"Get a market group","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /prediction_markets/{id}","href":"/predictions/reference/markets/get-a-market-group"}]},{"group":"Events","pages":[{"title":"Get a game's markets","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /events/{event_id}/details","href":"/predictions/reference/events/get-a-games-markets"}]},{"group":"Orders","pages":[{"title":"Place an order","description":"Places a fill-or-kill order on one market. Use it to buy YES or NO contracts at your limit `price` or better. A `200` means the order was **accepted**, not filled: the order is queued. Poll [`GET /orders?request_id=`](/predictions/reference/orders/list-orders) (or [`GET /orders/{id}`](/predictions/reference/orders/get-an-order) with the `order_id` this call returns) until `status` is `executed` or `cancelled`.\n\nSend the raw order only. There is no fee field: Splash computes the fee from your account's fee settings, adds it to a buy's debit and takes it from a close's proceeds. To check before sending that you have enough cash, compute the order's cost from `fee` on [Get account](/predictions/reference/account/get-account) and compare it with `cash_available` on [Get balance](/predictions/reference/account/get-balance); see [Fees and order cost](/predictions/fees). A buy without enough cash is accepted and then cancelled without filling.\n\nSign the request with your API key; see [Authentication](/predictions/authentication). A request without the `SPLASH-ACCESS-KEY` header is not treated as an API request and is a `401`.\n\n`request_id` is your idempotency key: one `request_id` never places more than one order. What to do after each answer:\n\n- **`200` with `order_status: \"pending\"`**: the order is queued. Poll until `executed` or `cancelled`.\n- **No response** (your client timed out, the connection dropped) or a **`504`** from the gateway: the outcome is unknown, and the order may have gone through. Check `GET /orders?request_id=`. If it returns the order, follow it. If it returns nothing, send the request again with the same `request_id`; it can never place the order twice.\n- **Refused before the order was accepted**: `401`, `415`, `429`, `400 Invalid request parameters`, `400 IOC orders are not yet supported` and `503 TRADING_API_UNAVAILABLE`. Nothing was recorded; fix the cause (after a `429`, wait the `Retry-After` seconds when that header is present, otherwise about a second) and retry with the same `request_id`.\n- **Any other error**: a `400` order-check message (`Invalid price`, `Market is not active` and the rest), `403`, `404`, `409`, `503 EXCHANGE_UNAVAILABLE` or `SERVICE_UNAVAILABLE`, and `500`. The order was not placed and that `request_id` is spent: polling it reads `cancelled` with the reason in `error`, and sending it again returns `200` with `order_status: \"cancelled\"` without placing anything. Send a new `request_id` to try again.\n\nSee [Order outcomes and retries](/predictions/trading#order-outcomes-and-retries). Only `time_in_force: \"FOK\"` is accepted today; `IOC` is coming and is a `400` until then. The `market_id` is a market's `id` from the market endpoints. The order fills completely at your price or better, or is cancelled; it never partially fills.","deprecated":null,"version":null,"openapi":"/predictions/openapi.json post /trading/orders","href":"/predictions/reference/orders/place-an-order"},{"title":"List orders","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /orders","href":"/predictions/reference/orders/list-orders"},{"title":"Get an order","description":"One order by its `order_id`, with its market. Use it when you already hold the id from [Place an order](/predictions/reference/orders/place-an-order) or from [List orders](/predictions/reference/orders/list-orders) and want the current state of that one order: its `status`, how many contracts filled, the average fill price, the fill cost and the fees.\n\nAn executed, filled sell also carries `original_buy`, the buy it closed. While the order is queued, or after it was refused before being recorded, the answer is the minimal [PendingOrder](/predictions/types/pending-order) instead of a `404`. This route takes the order id only; if you never received the `order_id` (for example after a timeout), poll [List orders](/predictions/reference/orders/list-orders) with `?request_id=` instead. Poll until `status` is `executed` or `cancelled`.\n\nAn order that belongs to another account is a `404`, the same as an id that does not exist.","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /orders/{id}","href":"/predictions/reference/orders/get-an-order"}]},{"group":"Positions","pages":[{"title":"List positions","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /positions","href":"/predictions/reference/positions/list-positions"},{"title":"Get a position","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /positions/{id}","href":"/predictions/reference/positions/get-a-position"},{"title":"Get a position by market","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /positions/market/{market_id}","href":"/predictions/reference/positions/get-a-position-by-market"},{"title":"Get portfolio summary","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /portfolio/summary","href":"/predictions/reference/positions/get-portfolio-summary"}]},{"group":"Activity","pages":[{"title":"List transactions","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /transactions","href":"/predictions/reference/activity/list-transactions"}]},{"group":"Account","pages":[{"title":"Get account","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /account","href":"/predictions/reference/account/get-account"},{"title":"Get balance","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /balance","href":"/predictions/reference/account/get-balance"}]}]},{"group":"Types","pages":[{"title":"Market","href":"/predictions/types/market"},{"title":"GamelineMarket","href":"/predictions/types/gameline-market"},{"title":"SpreadMarket","href":"/predictions/types/spread-market"},{"title":"TotalMarket","href":"/predictions/types/total-market"},{"title":"MoneylineMarket","href":"/predictions/types/moneyline-market"},{"title":"FutureTeamChampionMarket","href":"/predictions/types/future-team-champion-market"},{"title":"PlayerPropMarket","href":"/predictions/types/player-prop-market"},{"title":"PlayerPropLine","href":"/predictions/types/player-prop-line"},{"title":"GamelineLine","href":"/predictions/types/gameline-line"},{"title":"MarketGroup","href":"/predictions/types/market-group"},{"title":"GamelineMarketGroup","href":"/predictions/types/gameline-market-group"},{"title":"FutureTeamChampionMarketGroup","href":"/predictions/types/future-team-champion-market-group"},{"title":"PlayerPropMarketGroup","href":"/predictions/types/player-prop-market-group"},{"title":"MarketPrice","href":"/predictions/types/market-price"},{"title":"Orderbook","href":"/predictions/types/orderbook"},{"title":"Included","href":"/predictions/types/included"},{"title":"Game","href":"/predictions/types/game"},{"title":"GameState","href":"/predictions/types/game-state"},{"title":"TeamState","href":"/predictions/types/team-state"},{"title":"Team","href":"/predictions/types/team"},{"title":"Entity","href":"/predictions/types/entity"},{"title":"PlayerDetails","href":"/predictions/types/player-details"},{"title":"SubCategory","href":"/predictions/types/sub-category"},{"title":"GameTab","href":"/predictions/types/game-tab"},{"title":"PlayerPropSection","href":"/predictions/types/player-prop-section"},{"title":"GamelineSection","href":"/predictions/types/gameline-section"},{"title":"Order","href":"/predictions/types/order"},{"title":"OrderWithMarket","href":"/predictions/types/order-with-market"},{"title":"OrderDetail","href":"/predictions/types/order-detail"},{"title":"PendingOrder","href":"/predictions/types/pending-order"},{"title":"OriginalBuy","href":"/predictions/types/original-buy"},{"title":"PlaceOrderRequest","href":"/predictions/types/place-order-request"},{"title":"PlaceOrderResponse","href":"/predictions/types/place-order-response"},{"title":"Position","href":"/predictions/types/position"},{"title":"PositionDetail","href":"/predictions/types/position-detail"},{"title":"Transaction","href":"/predictions/types/transaction"},{"title":"Settlement","href":"/predictions/types/settlement"},{"title":"FeeInfo","href":"/predictions/types/fee-info"}]}]}]},"basePath":"","title":"List orders - Splash API","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}