{"components":{"schemas":{"Meta":{"properties":{"as_of":{"format":"date-time","type":"string"},"confidence":{"maximum":1,"minimum":0,"type":"number"},"has_more":{"description":"Present only when a follow-up page exists.","type":"boolean"},"hint":{"description":"One-line, agent-actionable note on how to get the rest.","type":"string"},"next_cursor":{"description":"Opaque; pass back as ?cursor= to resume. Absent = no more.","type":"string"},"returned":{"description":"Rows actually returned; present only when truncated.","type":"integer"},"staleness_ms":{"type":"integer"},"truncated":{"description":"Omitted unless the page was cut short by the token budget.","type":"boolean"},"venues":{"items":{"type":"string"},"type":"array"}},"required":["as_of","venues","staleness_ms","confidence"],"type":"object"},"PaymentRequirements":{"description":"One accepted x402 payment option (v2 `exact` scheme). Atomic amounts are 6-decimal USDC unit strings.","properties":{"amount":{"description":"Atomic 6-decimal USDC units.","example":"1000","type":"string"},"asset":{"description":"USDC mint address.","example":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","type":"string"},"extra":{"description":"Scheme-specific extras (Solana `exact`: `{feePayer}`).","type":"object"},"maxTimeoutSeconds":{"example":60,"type":"integer"},"network":{"description":"CAIP-2 network id (Solana).","example":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","type":"string"},"payTo":{"description":"Recipient — the dedicated x402 receiving address.","type":"string"},"scheme":{"example":"exact","type":"string"}},"required":["scheme","network","amount","asset","payTo","maxTimeoutSeconds"],"type":"object"},"Problem":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"},"Provenance":{"properties":{"method":{"type":"string"},"sources":{"items":{"properties":{"symbol":{"type":"string"},"ts":{"format":"date-time","type":"string"},"venue":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"securitySchemes":{"bearerAuth":{"description":"API key as a bearer token (required for /v1/data/**). `X-API-Key: <key>` is also accepted.","scheme":"bearer","type":"http"}}},"info":{"description":"The x402 data API of Seeking Data Labs, an AI-driven crypto and trading research company — the same pipelines our research agents build, run, and freshness-check, productized. Deterministic and provenance-carrying, organized as Category -> Product -> Metric (+ Source, + Entity); every response is `{data, meta, provenance}`. See /llms.txt for a quick agent-facing index. Priced /v1/data/** routes also accept x402 pay-per-call: a keyless caller gets a 402 with a PAYMENT-REQUIRED challenge and pays per call over Solana USDC; API-key/subscription callers bypass it and discovery endpoints stay free.","title":"Seeking Data Labs — x402 research & data API","version":"2.0.0"},"openapi":"3.1.0","paths":{"/auth/login":{"post":{"summary":"Sign in with email and password (may answer a TOTP challenge)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/health":{"get":{"operationId":"getHealth","responses":{"200":{"content":{"application/json":{"example":{"clickhouse":true,"status":"ok"}}},"description":"OK"}},"summary":"Liveness + ClickHouse connectivity"}},"/v1/account":{"get":{"summary":"The signed-in account: email, plan, entitlements, keys","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/billing/prices":{"get":{"description":"Public, no key required — an agent can price a call before paying. Carries the USDC deposit address, the subscription tiers, and (when x402 pay-per-call is enabled) an `x402` block with the scheme, CAIP-2 network, USDC mint, payTo, facilitator, and the two atomic price bands.","operationId":"getBillingPrices","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"asset":{"example":"USDC","type":"string"},"chain":{"example":"solana","type":"string"},"deposit_address":{"type":"string"},"instructions":{"type":"string"},"memo_required":{"type":"boolean"},"tiers":{"items":{"type":"object"},"type":"array"},"x402":{"description":"Present only when x402 pay-per-call is enabled.","type":"object"}},"type":"object"}}},"description":"OK"}},"summary":"Free discovery: subscription tier prices + (when enabled) the x402 pay-per-call price bands"}},"/v1/catalog":{"get":{"operationId":"getCatalog","parameters":[{"description":"Filter to one category id.","example":"crypto","in":"query","name":"category","required":false,"schema":{"type":"string"}},{"description":"Filter metrics within each product.","in":"query","name":"status","required":false,"schema":{"enum":["live","planned"],"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"properties":{"categories":{"type":"array"},"version":{"type":"integer"}},"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"}},"summary":"The full catalog tree (categories -> products -> metrics)"}},"/v1/categories":{"get":{"operationId":"listCategories","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"properties":{"description":{"type":"string"},"id":{"type":"string"},"live_product_count":{"type":"integer"},"name":{"type":"string"},"product_count":{"type":"integer"},"status":{"enum":["live","planned"],"type":"string"}},"type":"object"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"}},"summary":"Every category, with product counts"}},"/v1/categories/{category}":{"get":{"operationId":"getCategory","parameters":[{"example":"crypto","in":"path","name":"category","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Unknown category"}},"summary":"One category's detail"}},"/v1/categories/{category}/products":{"get":{"operationId":"listProducts","parameters":[{"example":"crypto","in":"path","name":"category","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Unknown category"}},"summary":"A category's products"}},"/v1/categories/{category}/products/{product}":{"get":{"operationId":"getProduct","parameters":[{"example":"crypto","in":"path","name":"category","required":true,"schema":{"type":"string"}},{"example":"spot","in":"path","name":"product","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Unknown category/product"}},"summary":"One product's detail"}},"/v1/categories/{category}/products/{product}/entities":{"get":{"operationId":"listProductEntities","parameters":[{"example":"crypto","in":"path","name":"category","required":true,"schema":{"type":"string"}},{"example":"spot","in":"path","name":"product","required":true,"schema":{"type":"string"}},{"description":"scope the universe to one metric's entities (metrics within a product can key on different dimensions)","in":"query","name":"metric","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Unknown metric for the product"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Unknown category/product"}},"summary":"A product's entity universe (live where a registry exists)"}},"/v1/categories/{category}/products/{product}/metrics":{"get":{"operationId":"listMetrics","parameters":[{"example":"crypto","in":"path","name":"category","required":true,"schema":{"type":"string"}},{"example":"spot","in":"path","name":"product","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Unknown category/product"}},"summary":"A product's metrics"}},"/v1/categories/{category}/products/{product}/sources":{"get":{"operationId":"listProductSources","parameters":[{"example":"crypto","in":"path","name":"category","required":true,"schema":{"type":"string"}},{"example":"spot","in":"path","name":"product","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Unknown category/product"}},"summary":"A product's sources, resolved from the top-level registry"}},"/v1/data/absurd_civic/city_nervous_system/rat_sightings_today":{"get":{"operationId":"get_absurd_civic_city_nervous_system_rat_sightings_today","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"true → derived running total over the returned window (implies series)","in":"query","name":"cumulative","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Rat sightings today (min tier: free)"}},"/v1/data/absurd_civic/leviathan_ledger/red_tape_output":{"get":{"operationId":"get_absurd_civic_leviathan_ledger_red_tape_output","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"true → derived running total over the returned window (implies series)","in":"query","name":"cumulative","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Red-tape output (min tier: free)"}},"/v1/data/absurd_cosmos/off_world/humans_in_space":{"get":{"operationId":"get_absurd_cosmos_off_world_humans_in_space","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Humans in space (min tier: free)"}},"/v1/data/absurd_cosmos/restless_earth/largest_quake_today":{"get":{"operationId":"get_absurd_cosmos_restless_earth_largest_quake_today","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Largest quake today (min tier: free)"}},"/v1/data/absurd_cosmos/restless_earth/quakes_last_hour":{"get":{"operationId":"get_absurd_cosmos_restless_earth_quakes_last_hour","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Quakes in the last hour (min tier: free)"}},"/v1/data/absurd_cosmos/solar_cycle/sunspot_number":{"get":{"operationId":"get_absurd_cosmos_solar_cycle_sunspot_number","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Sunspot number (min tier: free)"}},"/v1/data/absurd_cosmos/space_weather/planetary_kp":{"get":{"operationId":"get_absurd_cosmos_space_weather_planetary_kp","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Planetary K-index (min tier: free)"}},"/v1/data/absurd_earth/tides/water_level":{"get":{"operationId":"get_absurd_earth_tides_water_level","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"the-battery","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Water level (min tier: free)"}},"/v1/data/absurd_earth/weather/temperature":{"get":{"operationId":"get_absurd_earth_weather_temperature","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"nyc","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Air temperature (min tier: free)"}},"/v1/data/absurd_economy/treasury/avg_interest_rate":{"get":{"operationId":"get_absurd_economy_treasury_avg_interest_rate","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Average interest rate on marketable debt (min tier: free)"}},"/v1/data/absurd_economy/treasury/national_debt":{"get":{"operationId":"get_absurd_economy_treasury_national_debt","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"National debt (min tier: free)"}},"/v1/data/batch":{"post":{"description":"Body `{\"refs\":[{\"key?\",\"category\",\"product\",\"metric\",\"entity?\",\"source?\",\"params?\"}, ...]}`; returns results in input order, each echoing its `key`. Tier is checked per-ref, so a shortfall on one ref is a captured per-ref error, never fatal.","operationId":"postDataBatch","requestBody":{"content":{"application/json":{"schema":{"properties":{"refs":{"items":{"properties":{"category":{"type":"string"},"entity":{"type":"string"},"key":{"description":"Optional correlation key, echoed back on this ref's result.","type":"string"},"metric":{"type":"string"},"params":{"additionalProperties":{"type":"string"},"description":"Extra query params for this metric's resolver (e.g. series/limit/interval).","type":"object"},"product":{"type":"string"},"source":{"type":"string"}},"required":["category","product","metric"],"type":"object"},"maxItems":12,"minItems":1,"type":"array"}},"required":["refs"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"results":{"items":{"properties":{"envelope":{"description":"The metric's normal `{data, meta, provenance}` envelope (present when ok=true)."},"error":{"description":"The captured problem+json body for this ref (present when ok=false)."},"key":{"description":"Caller-supplied `key`, else `{category}/{product}/{metric}/{entity}`.","type":"string"},"ok":{"type":"boolean"}},"required":["key","ok"],"type":"object"},"type":"array"}},"required":["results"],"type":"object"}}},"description":"OK — `results` in input order, each echoing its `key` with either `envelope` (ok=true) or a captured per-ref `error` (ok=false). Tier is checked per-ref, so a shortfall on one ref is a captured per-ref error, never fatal to the batch."},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Empty refs, more than 12 refs, or malformed body"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Resolve several metric reads in one keyed call (max 12 refs)"}},"/v1/data/commodities/energy/natural_gas":{"get":{"operationId":"get_commodities_energy_natural_gas","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Natural gas (min tier: free)"}},"/v1/data/commodities/energy/wti_crude":{"get":{"operationId":"get_commodities_energy_wti_crude","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"WTI crude oil (min tier: free)"}},"/v1/data/commodities/metals/copper":{"get":{"operationId":"get_commodities_metals_copper","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Copper (min tier: free)"}},"/v1/data/commodities/metals/gold":{"get":{"operationId":"get_commodities_metals_gold","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Gold (min tier: free)"}},"/v1/data/commodities/metals/silver":{"get":{"operationId":"get_commodities_metals_silver","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Silver (min tier: free)"}},"/v1/data/crypto/etf_flows/cumulative_net_flow":{"get":{"operationId":"get_crypto_etf_flows_cumulative_net_flow","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"IBIT","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the chartable daily time series (points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Cumulative net flow (min tier: free)"}},"/v1/data/crypto/etf_flows/flow_by_etf":{"get":{"operationId":"get_crypto_etf_flows_flow_by_etf","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"IBIT","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → this ETF's chartable daily-flow history (points ascending by as_of, oldest first)","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Daily flow by ETF (min tier: free)"}},"/v1/data/crypto/etf_flows/net_flow":{"get":{"operationId":"get_crypto_etf_flows_net_flow","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"IBIT","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the chartable daily time series (points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Daily net flow (min tier: free)"}},"/v1/data/crypto/futures/basis":{"get":{"operationId":"get_crypto_futures_basis","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Futures basis (min tier: ultra)"}},"/v1/data/crypto/futures/funding":{"get":{"operationId":"get_crypto_futures_funding","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Perp funding rate (min tier: ultra)"}},"/v1/data/crypto/futures/mark_price":{"get":{"operationId":"get_crypto_futures_mark_price","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Futures mark price (min tier: ultra)"}},"/v1/data/crypto/network/difficulty":{"get":{"operationId":"get_crypto_network_difficulty","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Mining difficulty (min tier: free)"}},"/v1/data/crypto/network/hashrate":{"get":{"operationId":"get_crypto_network_hashrate","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Network hashrate (min tier: free)"}},"/v1/data/crypto/network/market_cap":{"get":{"operationId":"get_crypto_network_market_cap","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Market capitalization (min tier: free)"}},"/v1/data/crypto/network/tx_count":{"get":{"operationId":"get_crypto_network_tx_count","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"true → derived running total over the returned window (implies series)","in":"query","name":"cumulative","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Daily transactions (min tier: free)"}},"/v1/data/crypto/options/chain":{"get":{"operationId":"get_crypto_options_chain","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"in":"query","name":"type","required":false,"schema":{"enum":["C","P"],"type":"string"}},{"description":"RFC3339 or YYYY-MM-DD; filters to that expiry date.","example":"2026-08-28","in":"query","name":"expiry","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":500,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Option chain (mark, IV, greeks, open interest) (min tier: pro)"}},"/v1/data/crypto/options/implied_vol_index":{"get":{"operationId":"get_crypto_options_implied_vol_index","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Implied volatility index (30-day) (min tier: pro)"}},"/v1/data/crypto/options/open_interest":{"get":{"operationId":"get_crypto_options_open_interest","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Aggregate open interest (min tier: pro)"}},"/v1/data/crypto/options/put_call_oi_ratio":{"get":{"operationId":"get_crypto_options_put_call_oi_ratio","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → the chartable daily put/call ratio series (points ascending by as_of, oldest first)","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"window start date (YYYY-MM-DD, inclusive); default trailing 90 days","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"window end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Put/call open-interest ratio (min tier: pro)"}},"/v1/data/crypto/spot/change_24h":{"get":{"operationId":"get_crypto_spot_change_24h","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"24h percent change (min tier: free)"}},"/v1/data/crypto/spot/ohlcv":{"get":{"operationId":"get_crypto_spot_ohlcv","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"candle timeframe; 1s and 1m are native, coarser frames are rolled up from 1m","in":"query","name":"interval","required":false,"schema":{"default":"1m","enum":["1s","1m","5m","15m","30m","1h","4h","1d"],"type":"string"}},{"description":"window start date (YYYY-MM-DD, inclusive) on the candle bucket","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"window end date (YYYY-MM-DD, exclusive) on the candle bucket","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":1000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"OHLCV candles (min tier: free)"}},"/v1/data/crypto/spot/range_24h":{"get":{"operationId":"get_crypto_spot_range_24h","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"24h range (high/low/volume) (min tier: free)"}},"/v1/data/crypto/spot/realized_volatility_24h":{"get":{"operationId":"get_crypto_spot_realized_volatility_24h","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"24h realized volatility (min tier: free)"}},"/v1/data/crypto/spot/reference_price":{"get":{"operationId":"get_crypto_spot_reference_price","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Cross-venue reference price (min tier: free)"}},"/v1/data/crypto/spot/trade_count_24h":{"get":{"operationId":"get_crypto_spot_trade_count_24h","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"24h trade count (min tier: free)"}},"/v1/data/crypto/spot/trades":{"get":{"operationId":"get_crypto_spot_trades","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":500,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Spot trades (tape) (min tier: basic)"}},"/v1/data/crypto/spot/vwap_24h":{"get":{"operationId":"get_crypto_spot_vwap_24h","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"24h volume-weighted average price (min tier: free)"}},"/v1/data/fx/spot/change_24h":{"get":{"operationId":"get_fx_spot_change_24h","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"EUR-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Reference rate change (prior session) (min tier: free)"}},"/v1/data/fx/spot/reference_rate":{"get":{"operationId":"get_fx_spot_reference_rate","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"EUR-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → daily reference-rate history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD); default ~180 days back","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD); default today","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Spot reference rate (min tier: free)"}},"/v1/data/macro/money/m2_growth_yoy":{"get":{"operationId":"get_macro_money_m2_growth_yoy","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → the chartable YoY time series (points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"M2 growth (YoY %) (min tier: free)"}},"/v1/data/macro/money/m2_money_supply":{"get":{"operationId":"get_macro_money_m2_money_supply","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"M2 money supply (min tier: free)"}},"/v1/data/macro/prices/cpi":{"get":{"operationId":"get_macro_prices_cpi","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Consumer price index (min tier: free)"}},"/v1/data/macro/prices/cpi_inflation_yoy":{"get":{"operationId":"get_macro_prices_cpi_inflation_yoy","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → the chartable YoY time series (points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Inflation rate (CPI YoY %) (min tier: free)"}},"/v1/data/medical/guidelines/guideline_downloads":{"get":{"operationId":"get_medical_guidelines_guideline_downloads","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Guideline document downloads (min tier: free)"}},"/v1/data/medical/literature/publication_count":{"get":{"operationId":"get_medical_literature_publication_count","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"neoplasms","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Monthly publication count (min tier: free)"}},"/v1/data/medical/literature/publication_count_by_type":{"get":{"operationId":"get_medical_literature_publication_count_by_type","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"neoplasms","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Monthly publication count by study type (min tier: free)"}},"/v1/data/medical/radiology/article_count":{"get":{"operationId":"get_medical_radiology_article_count","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"abdomen","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Reference article count (min tier: free)"}},"/v1/data/medical/radiology/article_count_by_category":{"get":{"operationId":"get_medical_radiology_article_count_by_category","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"abdomen","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Reference article count by category (min tier: free)"}},"/v1/data/sports/basketball/box_score":{"get":{"operationId":"get_sports_basketball_box_score","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"nba","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Team score (played games) (min tier: basic)"}},"/v1/data/sports/basketball/live_score":{"get":{"operationId":"get_sports_basketball_live_score","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"nba","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Live score (min tier: basic)"}},"/v1/data/sports/basketball/match_result":{"get":{"operationId":"get_sports_basketball_match_result","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"nba","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Match result (min tier: basic)"}},"/v1/data/sports/football/live_score":{"get":{"operationId":"get_sports_football_live_score","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"eng.1","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Live score (min tier: basic)"}},"/v1/data/sports/football/match_result":{"get":{"operationId":"get_sports_football_match_result","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"eng.1","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Match result (min tier: basic)"}},"/v1/data/sports/tennis/live_score":{"get":{"operationId":"get_sports_tennis_live_score","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"atp","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Live score (min tier: basic)"}},"/v1/data/sports/tennis/match_result":{"get":{"operationId":"get_sports_tennis_match_result","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"atp","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Match result (min tier: basic)"}},"/v1/data/stocks/indices/nasdaq":{"get":{"operationId":"get_stocks_indices_nasdaq","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Nasdaq Composite index (min tier: free)"}},"/v1/data/stocks/indices/sp500":{"get":{"operationId":"get_stocks_indices_sp500","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"S&P 500 index (min tier: free)"}},"/v1/data/weather/observations/precipitation":{"get":{"operationId":"get_weather_observations_precipitation","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"nyc","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Precipitation (min tier: free)"}},"/v1/data/weather/observations/temperature":{"get":{"operationId":"get_weather_observations_temperature","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"nyc","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Temperature (min tier: free)"}},"/v1/data/weather/observations/wind_speed":{"get":{"operationId":"get_weather_observations_wind_speed","parameters":[{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"nyc","in":"query","name":"entity","required":true,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"true → return the time-series history (chartable; points ascending by as_of, oldest first) instead of the latest reading","in":"query","name":"series","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"series start date (YYYY-MM-DD, inclusive)","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"series end date (YYYY-MM-DD, exclusive)","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"max series points (default 500, max 2000)","in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":2000,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for entity"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Wind speed (min tier: free)"}},"/v1/data/{category}/{product}/{metric}":{"get":{"description":"A `planned` catalog entry 404s with error_category=not_yet_available (modeled, not live yet). An unknown (category, product, metric) 404s with error_category=not_found.","operationId":"getMetricData","parameters":[{"example":"crypto","in":"path","name":"category","required":true,"schema":{"type":"string"}},{"example":"spot","in":"path","name":"product","required":true,"schema":{"type":"string"}},{"example":"reference_price","in":"path","name":"metric","required":true,"schema":{"type":"string"}},{"description":"The metric's subject (a symbol, underlying, or other catalog-defined entity id).","example":"BTC-USD","in":"query","name":"entity","required":false,"schema":{"type":"string"}},{"description":"Pin one venue/provider id (from the product's `sources`). Omit to combine across all of them.","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing required entity, or bad metric-specific param"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Unknown (category, product, metric), or planned-not-live"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded"}},"security":[{"bearerAuth":[]}],"summary":"Generic metric read — the same shape every live metric is served through"}},"/v1/demo":{"get":{"operationId":"getDemo","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"}},"summary":"Public, unauthenticated, 60s-cached cross-product data snapshot (options + sports + reference price)"}},"/v1/ohlcv/{symbol}":{"get":{"description":"Token-budgeted (default 1500 tokens). Ascending (oldest -> newest) order.","operationId":"getOhlcvLegacy","parameters":[{"example":"BTC-USD","in":"path","name":"symbol","required":true,"schema":{"type":"string"}},{"in":"query","name":"interval","required":false,"schema":{"default":"1m","enum":["1s","1m","5m","15m","30m","1h","4h","1d"],"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":1000,"minimum":1,"type":"integer"}},{"in":"query","name":"venue","required":false,"schema":{"enum":["binance","coinbase"],"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"bucket":"2026-07-09T11:59:00Z","close":63010,"high":63050,"low":62990,"open":63000,"trades":88,"volume":12.4}],"meta":{"as_of":"2026-07-09T12:00:00Z","confidence":1,"staleness_ms":900,"venues":["binance","coinbase"]},"provenance":{"method":"cross-venue combined OHLCV..., interval=1m, from ohlcv_1m","sources":[]}}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Bad interval/format/cursor"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Legacy alias for GET /v1/data/crypto/spot/ohlcv"}},"/v1/options/{underlying}":{"get":{"description":"Token-budgeted (default 2000 tokens) -- a wide chain should be narrowed with expiry/type or paged with cursor.","operationId":"getOptionChainLegacy","parameters":[{"example":"BTC","in":"path","name":"underlying","required":true,"schema":{"enum":["BTC","ETH"],"type":"string"}},{"in":"query","name":"type","required":false,"schema":{"enum":["C","P"],"type":"string"}},{"description":"RFC3339 or YYYY-MM-DD; filters to that expiry date.","example":"2026-08-28","in":"query","name":"expiry","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":500,"maximum":500,"minimum":1,"type":"integer"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":{"options":[{"delta":0.62,"expiry":"2025-06-27T08:00:00Z","gamma":0.00003,"instrument":"BTC-27JUN25-60000-C","mark_iv":55.2,"mark_price":0.0123,"mark_price_usd":774.9,"open_interest":153.2,"option_type":"C","strike":60000,"theta":-38.1,"vega":41.2}],"underlying":"BTC","underlying_px":63000},"meta":{"as_of":"2026-07-09T12:00:00Z","confidence":0.93,"staleness_ms":4200,"venues":["exchange"]},"provenance":{"method":"latest per-instrument options snapshot from the derivatives exchange","sources":[]}}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Bad type/expiry/format/cursor"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No options data for this underlying"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Legacy alias for GET /v1/data/crypto/options/chain"}},"/v1/price/{symbol}":{"get":{"operationId":"getReferencePriceLegacy","parameters":[{"example":"BTC-USD","in":"path","name":"symbol","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":{"price":63012.5,"symbol":"BTC-USD","venues":[{"price":63010,"ts":"2026-07-09T12:00:00Z","venue":"binance"}]},"meta":{"as_of":"2026-07-09T12:00:00Z","confidence":0.98,"staleness_ms":120,"venues":["binance","coinbase"]},"provenance":{"method":"outlier-trimmed cross-venue median (USDT≈USD)","sources":[]}},"schema":{"properties":{"data":{"properties":{"price":{"type":"number"},"symbol":{"type":"string"},"venues":{"type":"array"}},"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"404":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"No data for symbol"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Legacy alias for GET /v1/data/crypto/spot/reference_price"}},"/v1/sources":{"get":{"operationId":"listSources","responses":{"200":{"description":"OK"}},"summary":"The full source registry"}},"/v1/symbols":{"get":{"operationId":"listSymbols","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"properties":{"canonical":{"type":"string"},"venues":{"items":{"type":"string"},"type":"array"}},"type":"object"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"}},"summary":"Canonical crypto symbol universe"}},"/v1/trades/{symbol}":{"get":{"description":"Token-budgeted (default 1200 tokens). Truncates to whole rows and returns meta.next_cursor when more rows exist.","operationId":"getRecentTradesLegacy","parameters":[{"example":"BTC-USD","in":"path","name":"symbol","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":500,"minimum":1,"type":"integer"}},{"in":"query","name":"venue","required":false,"schema":{"enum":["binance","coinbase"],"type":"string"}},{"description":"Flat comma list projecting row objects to a subset of keys, e.g. `fields=price,side,ts`. A small per-endpoint minimal set always survives projection. Unknown names are ignored.","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"`table` returns `data` as `{cols, rows}` (header once + arrays-of-values) instead of an array of row objects. Default is row-objects.","in":"query","name":"format","required":false,"schema":{"enum":["row","table"],"type":"string"}},{"description":"Opaque continuation cursor from a previous response's `meta.next_cursor`. Must be replayed against the same query (entity/source/filters/limit) it was issued for.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Override this endpoint's default token budget (clamped to a hard cap of 20000). Rows are dropped from the tail, never truncated mid-object, once the estimated size of `data` would exceed it.","in":"query","name":"max_response_tokens","required":false,"schema":{"maximum":20000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"price":63010.1,"qty":0.02,"side":"buy","trade_id":"12345","ts":"2026-07-09T12:00:00.123Z","venue":"binance"}],"meta":{"as_of":"2026-07-09T12:00:00Z","confidence":0.9,"staleness_ms":80,"venues":["binance"]},"provenance":{"method":"recent trades, quality<2, limit=50","sources":[]}},"schema":{"properties":{"data":{"oneOf":[{"type":"array"},{"properties":{"cols":{"type":"array"},"rows":{"type":"array"}},"type":"object"}]},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Bad format/cursor"},"401":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Missing/invalid API key"},"402":{"content":{"application/json":{"schema":{"properties":{"accepts":{"items":{"$ref":"#/components/schemas/PaymentRequirements"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"properties":{"description":{"type":"string"},"mimeType":{"type":"string"},"url":{"type":"string"}},"type":"object"},"x402Version":{"example":2,"type":"integer"}},"required":["x402Version","resource","accepts"],"type":"object"}}},"description":"Payment required — x402 pay-per-call. A keyless caller on a priced data route receives a 402 whose `PAYMENT-REQUIRED` header (mirrored in the JSON body) advertises the accepted payment requirements; pay over x402 and retry with a `PAYMENT-SIGNATURE` header, or send an API key to bypass x402 entirely.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded PaymentRequired challenge (the same object mirrored in the JSON body).","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Plan tier below this metric's minimum"},"429":{"content":{"application/problem+json":{"schema":{"description":"RFC 9457 application/problem+json error body.","properties":{"detail":{"example":"unknown underlying 'DOGE', expected 'BTC' or 'ETH'","type":"string"},"error_category":{"enum":["bad_symbol","bad_request","stale_data","upstream","internal","not_found","not_yet_available","unauthorized","tier_forbidden","rate_limit"],"type":"string"},"instance":{"example":"/v1/options/DOGE","type":"string"},"retry_after":{"description":"Seconds, present only when retryable.","type":"integer"},"retryable":{"type":"boolean"},"status":{"example":400,"type":"integer"},"title":{"example":"Unknown Symbol","type":"string"},"type":{"example":"https://seekingdatalabs.com/errors/bad-symbol","format":"uri","type":"string"}},"required":["type","title","status","detail","instance","retryable","error_category"],"type":"object"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer"}}}}},"security":[{"bearerAuth":[]}],"summary":"Legacy alias for GET /v1/data/crypto/spot/trades"}},"/v1/venues":{"get":{"operationId":"listVenues","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["data","meta","provenance"],"type":"object"}}},"description":"OK"}},"summary":"Venues seekingdata ingests from"}},"/auth/2fa/verify":{"post":{"summary":"Answer a TOTP challenge issued by /auth/login","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/auth/logout":{"post":{"summary":"End the session","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/auth/oauth/google":{"get":{"summary":"Begin Google OAuth (302 to Google)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/auth/oauth/google/callback":{"get":{"summary":"Google OAuth return leg","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/auth/password/forgot":{"post":{"summary":"Start a password reset","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/auth/password/reset":{"post":{"summary":"Finish a password reset","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/auth/providers":{"get":{"summary":"Which sign-in providers are configured","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/auth/signup":{"post":{"summary":"Create an account (email confirmation required before sign-in)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/auth/verify-email":{"post":{"summary":"Confirm an email address from the mailed link","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/auth/verify-email/resend":{"post":{"summary":"Resend the confirmation email","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/account/2fa":{"get":{"summary":"Second-factor status","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/account/2fa/activate":{"post":{"summary":"Activate TOTP with a first code","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/account/2fa/disable":{"post":{"summary":"Disable TOTP","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/account/2fa/enrol":{"post":{"summary":"Begin TOTP enrolment","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/account/2fa/{id}":{"post":{"summary":"/v1/account/2fa/{id}","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/account/nickname":{"put":{"summary":"Set the public nickname","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/agent/whoami":{"get":{"summary":"Agent-auth introspection","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/analysis/auto-rescan":{"post":{"summary":"Toggle the weekly auto re-scan for a domain","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/analysis/credentials":{"delete":{"summary":"Sign-in credentials for authenticated audits (owner-gated)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}},"get":{"summary":"Sign-in credentials for authenticated audits (owner-gated)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}},"post":{"summary":"Sign-in credentials for authenticated audits (owner-gated)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/analysis/dns-provider":{"get":{"summary":"Detect the DNS provider for setup help","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/analysis/domains":{"get":{"summary":"Domains on the account / add one for verification","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}},"post":{"summary":"Domains on the account / add one for verification","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/analysis/entitlement":{"get":{"summary":"What a run of each tier costs this account now","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/analysis/report/{id}":{"get":{"summary":"A finished report body (owner-gated)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/analysis/report/{id}/pdf":{"get":{"summary":"The report PDF (owner-gated)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/analysis/report/{id}/share":{"delete":{"summary":"Mint or revoke the share link; set who it works for","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"summary":"Mint or revoke the share link; set who it works for","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/analysis/report/{id}/trace":{"get":{"summary":"Live pipeline trace while a run executes","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/analysis/reports":{"get":{"summary":"Runs and their status for a domain","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/analysis/run":{"post":{"summary":"Commission an analysis run (charges credit or quotes USDC)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/analysis/shared/{id}":{"get":{"summary":"A shared report body (token is the credential)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/analysis/shared/{id}/pdf":{"get":{"summary":"A shared report PDF","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/analysis/verify":{"get":{"summary":"Check DNS TXT ownership verification","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/audit/authorization":{"get":{"summary":"The active-testing authorization for a verified domain, if any (§7/ADR 0012)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/audit/authorization/revoke":{"post":{"summary":"Revoke an active-testing authorization (§7)","tags":["portal"],"responses":{"200":{"description":"Revoked"},"401":{"description":"No valid session"},"404":{"description":"No active authorization"}}}},"/v1/audit/authorize":{"post":{"summary":"Authorize active security testing of a verified domain: the ADR 0012 ownership attestation (section 7)","tags":["portal"],"responses":{"201":{"description":"Authorized"},"400":{"description":"Domain not verified or no attestation"},"401":{"description":"No valid session"}}}},"/v1/audit/subscribe":{"post":{"summary":"Buy a monthly audit subscription (sightline|sightline_secure|sightline_review) from credit (§4)","tags":["portal"],"responses":{"200":{"description":"Subscribed"},"401":{"description":"No valid session"},"402":{"description":"Insufficient credit"}}}},"/v1/audit/subscription":{"get":{"summary":"The caller's current audit subscription tier, grant and expiry (§4)","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/billing/account":{"get":{"summary":"Deposit address and account memo for USDC top-ups","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"deprecated":true,"description":"Deprecated. Legacy subscription deposit rail whose memo is the bare account id; subscription tiers are retired. To add credit use GET /v1/credits (its topup block carries the correct top-<account-id> memo)."}},"/v1/consulting/bookings":{"get":{"summary":"Create or list consulting bookings","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}},"post":{"summary":"Create or list consulting bookings","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/consulting/slots":{"get":{"summary":"Booked consulting slots in a window","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/credits":{"get":{"summary":"Prepaid credit balance and paginated transaction ledger","description":"Returns the account's USDC credit balance and one page of the append-only transaction ledger (top-ups, report charges, refunds), newest first. Cursor-paginated: pass the previous response's next_before as before to fetch the following page. balance_atomic is the server's running total over the WHOLE ledger, not the sum of the returned page. The topup block carries the deposit address and the exact top-<account-id> memo that adds credit (a bare account id is a different rail and does not add credit).","tags":["portal"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"description":"Ledger rows per page (1-100, default 25)."},{"name":"before","in":"query","required":false,"schema":{"type":"integer","minimum":1},"description":"Pagination cursor: return entries with id < before. Use the previous page's next_before."}],"responses":{"200":{"description":"Balance plus one page of ledger entries","content":{"application/json":{"schema":{"type":"object","properties":{"balance_atomic":{"type":"integer","description":"USDC 6-decimal atomic units; running total over the whole ledger."},"balance_usd":{"type":"number","description":"Display convenience; balance_atomic is authoritative."},"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","description":"Monotonic ledger id; also the pagination cursor."},"created_at":{"type":"string","format":"date-time"},"delta_atomic":{"type":"integer","description":"Signed movement in atomic USDC; negative is a debit."},"direction":{"type":"string","enum":["credit","debit"]},"reason":{"type":"string","enum":["report","topup_usdc","topup_manual","admin_grant","admin_revoke","refund"]},"ref":{"type":["string","null"],"description":"Free-form reference (report id, tx signature)."},"actor":{"type":"string"}}}},"next_before":{"type":["integer","null"],"description":"Cursor for the next page, or null on the last page."},"topup":{"type":"object","properties":{"deposit_address":{"type":"string"},"memo":{"type":"string","description":"Exact top-<account-id> memo that credits this account."},"asset":{"type":"string"},"network":{"type":"string"}}}}}}}},"401":{"description":"No valid session"}}}},"/v1/d/{id}":{"get":{"summary":"A public dashboard by short id","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/dashboards":{"get":{"summary":"List or create dashboards","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}},"post":{"summary":"List or create dashboards","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/dashboards/{id}":{"delete":{"summary":"Update or delete a dashboard","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"patch":{"summary":"Update or delete a dashboard","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/dashboards/{id}/fork":{"post":{"summary":"Fork a dashboard","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/dashboards/{id}/like":{"post":{"summary":"Like a dashboard","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/feed":{"get":{"summary":"Community dashboard feed","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/keys":{"post":{"summary":"Create an API key","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/keys/{id}/revoke":{"post":{"summary":"Revoke an API key","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/public-specs":{"get":{"summary":"Public dashboard specs","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}}}},"/v1/u/{id}":{"get":{"summary":"A public profile by nickname","tags":["portal"],"responses":{"200":{"description":"OK"},"401":{"description":"No valid session"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/requests":{"post":{"summary":"Request a pentest, pentest discussion, or consultancy (records intent; does not run anything)","description":"Records a service request onto the operator review board and returns the running count for this (account, domain, kind). This is the ONLY way to ask for a pentest: it does NOT trigger, queue, or execute any scan. A human operator reviews the request and a pentest, if agreed, is dispatched internally after an offline authorization/contract. Repeated identical requests are deduplicated and increment count rather than creating duplicates. Requires a valid session.","tags":["portal"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["pentest","pentest_discussion","consultancy"]},"domain":{"type":"string","description":"Bare hostname the request concerns; omitted/empty for consultancy."},"detail":{"type":"string","description":"Optional free-text note or topic."}}}}}},"responses":{"200":{"description":"Request recorded","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"count":{"type":"integer","description":"How many times this (account, domain, kind) has been requested."}}}}}},"400":{"description":"Unknown kind or malformed body"},"401":{"description":"No valid session"}}}}},"servers":[{"url":"https://api.seekingdatalabs.com"},{"url":"https://api.seekingdata.dev"},{"url":"http://localhost:8080"}]}