{"openapi":"3.1.0","info":{"title":"SNACS Data API","summary":"Public market-data, SEC, and dilution-forensics API.","description":"REST API for SNACS forensic dilution intelligence, live scanner data, news, SEC filings, fundamentals and market data.\n\nAuthenticate every request with your API key: `Authorization: Bearer snacs_sk_live_...`. Keys are issued in your [SNACS account settings](https://snacs.trade/app/settings) on any paid plan. Metered families (fundamentals, aggregates) report usage via `X-Data-Cap-Bytes` / `X-Data-Used-Bytes`; rate limits via `X-RateLimit-*` and `Retry-After`.","version":"0.1.0"},"paths":{"/v1/health":{"get":{"tags":["meta"],"summary":"Liveness probe","operationId":"health_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health V1 Health Get"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/health\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/health\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/health\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/health\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/health\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}],"security":[]}},"/v1/auth/whoami":{"get":{"tags":["auth"],"summary":"Verify your API key and see your plan","operationId":"whoami_v1_auth_whoami_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhoAmI"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/auth/whoami\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/auth/whoami\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/auth/whoami\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/auth/whoami\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/auth/whoami\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/dilution/{ticker}":{"get":{"tags":["dilution"],"summary":"Forensic dilution snapshot for a ticker","operationId":"get_dilution_v1_dilution__ticker__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/dilution/ABLV\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/dilution/ABLV\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/dilution/ABLV\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/dilution/ABLV\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/dilution/ABLV\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/dilution/{ticker}/facilities":{"get":{"tags":["dilution"],"summary":"Active + historical dilution facilities for a ticker","operationId":"get_facilities_v1_dilution__ticker__facilities_get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/dilution/ABLV/facilities\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/dilution/ABLV/facilities\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/dilution/ABLV/facilities\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/dilution/ABLV/facilities\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/dilution/ABLV/facilities\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/dilution/{ticker}/checkpoints":{"get":{"tags":["dilution"],"summary":"Point-in-time share-count checkpoints for a ticker","operationId":"get_checkpoints_v1_dilution__ticker__checkpoints_get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/dilution/ABLV/checkpoints\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/dilution/ABLV/checkpoints\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/dilution/ABLV/checkpoints\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/dilution/ABLV/checkpoints\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/dilution/ABLV/checkpoints\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/dilution/{ticker}/events":{"get":{"tags":["dilution"],"summary":"Corporate-events feed for a ticker","operationId":"get_events_v1_dilution__ticker__events_get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/dilution/ABLV/events\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/dilution/ABLV/events\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/dilution/ABLV/events\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/dilution/ABLV/events\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/dilution/ABLV/events\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/dilution/{ticker}/as-of/{as_of}":{"get":{"tags":["dilution"],"summary":"Point-in-time forensic dilution state as of a date","description":"Reconstruct a covered ticker's forensic state as of `as_of` (YYYY-MM-DD): the share\ncheckpoint effective on/before that date, facilities in force, and events up to it.","operationId":"get_as_of_v1_dilution__ticker__as_of__as_of__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"as_of","in":"path","required":true,"schema":{"type":"string","title":"As Of"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/dilution/ABLV/as-of/2026-03-31\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/dilution/ABLV/as-of/2026-03-31\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/dilution/ABLV/as-of/2026-03-31\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/dilution/ABLV/as-of/2026-03-31\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/dilution/ABLV/as-of/2026-03-31\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/screener":{"get":{"tags":["screener"],"summary":"Cursor-paginated dilution screener over covered tickers","operationId":"screener_v1_screener_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Page size (max 500).","default":100,"title":"Limit"},"description":"Page size (max 500)."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque cursor from a prior page.","title":"Cursor"},"description":"Opaque cursor from a prior page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenerPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/screener\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/screener\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/screener\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/screener\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/screener\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/news/{ticker}":{"get":{"tags":["news"],"summary":"Recent news for a ticker","operationId":"news_for_ticker_v1_news__ticker__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Max articles (newest first).","default":50,"title":"Limit"},"description":"Max articles (newest first)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NewsItem"},"title":"Response News For Ticker V1 News  Ticker  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/news/ABLV\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/news/ABLV\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/news/ABLV\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/news/ABLV\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/news/ABLV\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/news":{"get":{"tags":["news"],"summary":"Global news feed (keyset-paginated, newest first)","operationId":"news_feed_v1_news_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Page size (max 500).","default":100,"title":"Limit"},"description":"Page size (max 500)."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque cursor from a prior page.","title":"Cursor"},"description":"Opaque cursor from a prior page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsFeedPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/news\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/news\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/news\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/news\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/news\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/snapshot":{"get":{"tags":["snapshot"],"summary":"Full live scanner snapshot","operationId":"get_snapshot_v1_snapshot_get","parameters":[{"name":"ticker","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter to a single ticker.","title":"Ticker"},"description":"Filter to a single ticker."},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":10000,"minimum":1},{"type":"null"}],"description":"Cap the row count.","title":"Limit"},"description":"Cap the row count."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotEnvelope"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/snapshot\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/snapshot\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/snapshot\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/snapshot\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/snapshot\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/snapshot/stream":{"get":{"tags":["snapshot"],"summary":"Live snapshot stream (Server-Sent Events)","operationId":"stream_snapshot_v1_snapshot_stream_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/snapshot/stream\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/snapshot/stream\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/snapshot/stream\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/snapshot/stream\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/snapshot/stream\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/sec/{ticker}/filings":{"get":{"tags":["sec"],"summary":"Recent SEC filings for a ticker","operationId":"sec_filings_v1_sec__ticker__filings_get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"form_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by SEC form type (e.g. 8-K, 424B5).","title":"Form Type"},"description":"Filter by SEC form type (e.g. 8-K, 424B5)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Max filings (newest first).","default":100,"title":"Limit"},"description":"Max filings (newest first)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SecFiling"},"title":"Response Sec Filings V1 Sec  Ticker  Filings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/sec/ABLV/filings\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/sec/ABLV/filings\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/sec/ABLV/filings\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/sec/ABLV/filings\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/sec/ABLV/filings\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/fundamentals/{ticker}":{"get":{"tags":["fundamentals"],"summary":"Latest company fundamentals for a ticker","operationId":"get_fundamentals_v1_fundamentals__ticker__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/fundamentals/ABLV\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/fundamentals/ABLV\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/fundamentals/ABLV\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/fundamentals/ABLV\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/fundamentals/ABLV\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/market/{ticker}/quote":{"get":{"tags":["market"],"summary":"Composite quote (live snapshot when available, else latest daily bar)","operationId":"get_quote_v1_market__ticker__quote_get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/market/ABLV/quote\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/market/ABLV/quote\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/market/ABLV/quote\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/market/ABLV/quote\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/market/ABLV/quote\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/market/{ticker}/bars":{"get":{"tags":["market"],"summary":"Daily OHLCV bars (newest first)","operationId":"get_bars_v1_market__ticker__bars_get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Earliest bar date.","title":"From"},"description":"Earliest bar date."},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Latest bar date.","title":"To"},"description":"Latest bar date."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Max bars (newest first).","default":100,"title":"Limit"},"description":"Max bars (newest first)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/market/ABLV/bars\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/market/ABLV/bars\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/market/ABLV/bars\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/market/ABLV/bars\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/market/ABLV/bars\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/coverage":{"get":{"tags":["coverage"],"summary":"Universe-wide coverage counts per data dimension","operationId":"coverage_summary_v1_coverage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoverageSummary"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/coverage\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/coverage\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/coverage\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/coverage\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/coverage\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/coverage/forensic-dilution":{"get":{"tags":["coverage"],"summary":"All forensically-covered tickers (paginated)","operationId":"coverage_forensic_v1_coverage_forensic_dilution_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoveragePage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/coverage/forensic-dilution\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/coverage/forensic-dilution\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/coverage/forensic-dilution\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/coverage/forensic-dilution\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/coverage/forensic-dilution\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/coverage/market-data":{"get":{"tags":["coverage"],"summary":"All market-data-covered tickers (paginated)","operationId":"coverage_market_v1_coverage_market_data_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoveragePage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/coverage/market-data\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/coverage/market-data\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/coverage/market-data\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/coverage/market-data\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/coverage/market-data\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}},"/v1/coverage/{ticker}":{"get":{"tags":["coverage"],"summary":"Multi-dimensional coverage flags for one ticker","operationId":"coverage_for_v1_coverage__ticker__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TickerCoverage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://data.snacs.trade/v1/coverage/ABLV\" \\\n  -H \"Authorization: Bearer snacs_sk_live_...\""},{"lang":"Python","label":"Python","source":"import requests\n\nr = requests.get(\n    \"https://data.snacs.trade/v1/coverage/ABLV\",\n    headers={\"Authorization\": \"Bearer snacs_sk_live_...\"},\n)\nprint(r.json())"},{"lang":"JavaScript","label":"Node","source":"const res = await fetch(\"https://data.snacs.trade/v1/coverage/ABLV\", {\n  headers: { Authorization: \"Bearer snacs_sk_live_...\" },\n});\nconst data = await res.json();"},{"lang":"Go","label":"Go","source":"req, _ := http.NewRequest(\"GET\",\n\t\"https://data.snacs.trade/v1/coverage/ABLV\", nil)\nreq.Header.Set(\"Authorization\", \"Bearer snacs_sk_live_...\")\nres, _ := http.DefaultClient.Do(req)"},{"lang":"Ruby","label":"Ruby","source":"require \"net/http\"\n\nuri = URI(\"https://data.snacs.trade/v1/coverage/ABLV\")\nreq = Net::HTTP::Get.new(uri)\nreq[\"Authorization\"] = \"Bearer snacs_sk_live_...\"\nres = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }"}]}}},"components":{"schemas":{"CoveragePage":{"properties":{"data":{"items":{"$ref":"#/components/schemas/TickerCoverage"},"type":"array","title":"Data","description":"Covered tickers on this page."},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Opaque cursor for the next page; null when there are no more."},"has_more":{"type":"boolean","title":"Has More","description":"Whether another page exists."}},"additionalProperties":false,"type":"object","required":["data","has_more"],"title":"CoveragePage","description":"One keyset-paginated page of covered tickers for a dimension."},"CoverageSummary":{"properties":{"universe_tickers":{"type":"integer","title":"Universe Tickers","examples":[12375]},"forensic_dilution":{"type":"integer","title":"Forensic Dilution","examples":[1910]},"forensic_certified":{"type":"integer","title":"Forensic Certified","description":"Forensic tickers carrying the reconciled ✓ badge (zero-gap share-count chain). Grows continuously as certification runs.","examples":[288]},"corporate_events_tickers":{"type":"integer","title":"Corporate Events Tickers","description":"Tickers with at least one extracted corporate event (grows with the historical backfill).","examples":[37]},"market_data":{"type":"integer","title":"Market Data","examples":[2555]},"recent_news":{"type":"integer","title":"Recent News","examples":[6727]},"sec_filings":{"type":"integer","title":"Sec Filings","examples":[3532]}},"additionalProperties":false,"type":"object","required":["universe_tickers","forensic_dilution","forensic_certified","corporate_events_tickers","market_data","recent_news","sec_filings"],"title":"CoverageSummary","description":"Universe-wide coverage counts per dimension."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"NewsFeedPage":{"properties":{"data":{"items":{"$ref":"#/components/schemas/NewsItem"},"type":"array","title":"Data","description":"Articles on this page (newest first)."},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Opaque cursor for the next page; null when there are no more."},"has_more":{"type":"boolean","title":"Has More","description":"Whether another page exists."}},"additionalProperties":false,"type":"object","required":["data","has_more"],"title":"NewsFeedPage","description":"One keyset-paginated page of the global news feed."},"NewsItem":{"properties":{"ticker":{"type":"string","title":"Ticker","description":"Primary ticker the article is about.","examples":["AAPL"]},"published_utc":{"type":"string","format":"date-time","title":"Published Utc","description":"Publication time (UTC).","examples":["2026-07-03T13:45:00Z"]},"title":{"type":"string","title":"Title","description":"Article headline."},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source","description":"The real originating source/outlet (e.g. reuters.com). Null when the only available attribution was the data provider itself.","examples":["reuters.com"]},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url","description":"Link to the real originating source. Null on ~74% of rows (data gap)."},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body","description":"Article body text, when available."},"sentiment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sentiment","description":"Model-assigned sentiment label.","examples":["bullish"]},"is_catalyst":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Catalyst","description":"Whether the article was flagged as a price catalyst.","examples":[true]},"tickers_mentioned":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tickers Mentioned","description":"All tickers referenced in the article.","examples":[["AAPL","MSFT"]]}},"additionalProperties":false,"type":"object","required":["ticker","published_utc","title"],"title":"NewsItem","description":"One news article for a ticker. The only link is `source_url` (the real originating\nsource); it is often null (data gap). Provider tags/links are never present."},"ScreenerPage":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ScreenerRow"},"type":"array","title":"Data","description":"Rows in this page."},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Opaque cursor for the next page; null at end."},"has_more":{"type":"boolean","title":"Has More","description":"Whether more rows exist beyond this page."}},"additionalProperties":false,"type":"object","required":["data","has_more"],"title":"ScreenerPage","description":"A cursor-paginated page of screener rows."},"ScreenerRow":{"properties":{"ticker":{"type":"string","title":"Ticker","examples":["AXTI"]},"sector":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sector","examples":["Technology"]},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry","examples":["Semiconductors"]},"listing_exchange":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Exchange","examples":["NASDAQ"]},"is_actively_traded":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Actively Traded","examples":[true]},"market_cap_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Market Cap Usd","examples":[442000000.0]},"public_float_shares":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Public Float Shares","examples":[41000000]},"shares_outstanding":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Shares Outstanding","examples":[44000000]},"cash_only_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cash Only Usd","examples":[54200000.0]},"cash_runway_months":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cash Runway Months","examples":[8.6]},"going_concern":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Going Concern","examples":[false]},"short_interest_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Short Interest Pct","examples":[12.4]},"institutional_ownership_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Institutional Ownership Pct","examples":[41.2]},"insider_ownership_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Insider Ownership Pct","examples":[8.1]},"is_adr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Adr","examples":[false]},"has_active_atm":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Active Atm","description":"Has an active ATM facility.","examples":[true]},"has_active_shelf":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Active Shelf","description":"Has an active shelf.","examples":[true]},"reconciled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Reconciled","description":"Forensic certification badge (✓): zero-gap share-count chain.","examples":[true]},"last_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Last Price","examples":[9.87]},"adv_37":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Adv 37","description":"37-day average daily volume.","examples":[1200000]},"adv_50":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Adv 50","description":"50-day average daily volume.","examples":[1100000]},"vol_std_100":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vol Std 100","description":"100-day volume std-dev.","examples":[350000]},"rsi_14":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rsi 14","description":"14-day RSI.","examples":[47.3]},"last_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Updated"}},"additionalProperties":false,"type":"object","required":["ticker"],"title":"ScreenerRow","description":"One screener row (a covered ticker)."},"SecFiling":{"properties":{"ticker":{"type":"string","title":"Ticker","examples":["ABLV"]},"cik":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cik","description":"SEC Central Index Key.","examples":["0001881551"]},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name","examples":["Able View Global Inc."]},"accession_number":{"type":"string","title":"Accession Number","description":"SEC accession number (unique filing id).","examples":["0001213900-26-054321"]},"form_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Form Type","description":"SEC form type.","examples":["8-K"]},"filing_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Filing Date","description":"When the filing was made (UTC)."},"accepted_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted Date","description":"EDGAR acceptance time (UTC)."},"report_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Report Date","description":"Period the filing reports on."},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category","description":"SNACS filing category.","examples":["offering"]},"is_dilution_relevant":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Dilution Relevant","description":"Whether SNACS flags this filing as dilution-relevant.","examples":[true]},"file_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Number","description":"SEC file number.","examples":["333-273861"]},"filing_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filing Url","description":"Link to the filing on SEC.gov EDGAR (the primary source)."}},"additionalProperties":false,"type":"object","required":["ticker","accession_number"],"title":"SecFiling","description":"One SEC filing for a ticker."},"SnapshotEnvelope":{"properties":{"as_of":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of","description":"Publish time of this snapshot (UTC)."},"stale":{"type":"boolean","title":"Stale","description":"True if the snapshot is older than the freshness threshold (e.g. market closed)."},"count":{"type":"integer","title":"Count","description":"Number of rows."},"data":{"items":{"$ref":"#/components/schemas/SnapshotRow"},"type":"array","title":"Data","description":"One row per ticker."}},"additionalProperties":false,"type":"object","required":["stale","count","data"],"title":"SnapshotEnvelope","description":"The full live snapshot plus freshness metadata."},"SnapshotRow":{"properties":{"ticker":{"type":"string","title":"Ticker","examples":["AAPL"]},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price","description":"Last trade price."},"change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Change","description":"Percent change vs previous close."},"prev_close":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Prev Close","description":"Previous session close."},"volume":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Volume","description":"Cumulative session volume."},"dollar_volume":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dollar Volume","description":"Cumulative dollar volume."},"trades_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Trades Count","description":"Trade count this session."},"speed_5s":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Speed 5S","description":"Momentum over the last 5 seconds."},"speed_1m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Speed 1M","description":"Momentum over the last minute."},"speed_5m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Speed 5M","description":"Momentum over the last 5 minutes."},"ybr_1m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ybr 1M","description":"Yellow-bar ratio (1m)."},"ybr_5m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ybr 5M","description":"Yellow-bar ratio (5m)."},"is_halted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Halted","description":"Whether the ticker is currently halted."},"halt_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Halt Time","description":"Halt timestamp, if halted."},"luld_high":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Luld High","description":"LULD upper band."},"luld_low":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Luld Low","description":"LULD lower band."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Company name."},"sector":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sector"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"exchange":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exchange"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"market_cap":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Market Cap"},"float_shares":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Float Shares"},"last_update":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Update","description":"Per-ticker last-update epoch seconds."}},"additionalProperties":false,"type":"object","required":["ticker"],"title":"SnapshotRow","description":"One ticker's live scanner state."},"TickerCoverage":{"properties":{"ticker":{"type":"string","title":"Ticker","examples":["AAPL"]},"cik":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cik","description":"SEC CIK.","examples":["0000320193"]},"exchange":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exchange","examples":["XNAS"]},"is_actively_traded":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Actively Traded","examples":[true]},"is_etf":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Etf","examples":[false]},"is_adr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Adr","examples":[false]},"has_forensic_dilution":{"type":"boolean","title":"Has Forensic Dilution","description":"Forensic dilution coverage available.","examples":[true]},"has_market_data":{"type":"boolean","title":"Has Market Data","description":"Recent daily market data available.","examples":[true]},"has_recent_news":{"type":"boolean","title":"Has Recent News","description":"News within the last 90 days.","examples":[true]},"has_sec_filings":{"type":"boolean","title":"Has Sec Filings","description":"SEC filings available.","examples":[true]}},"additionalProperties":false,"type":"object","required":["ticker","has_forensic_dilution","has_market_data","has_recent_news","has_sec_filings"],"title":"TickerCoverage","description":"Per-ticker multi-dimensional coverage flags."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WhoAmI":{"properties":{"tier":{"type":"string","title":"Tier","description":"Resolved plan tier.","examples":["edge"]},"rate_limit_per_min":{"type":"integer","title":"Rate Limit Per Min","description":"Request rate cap for this tier.","examples":[200]},"forensic_access":{"type":"boolean","title":"Forensic Access","description":"Whether forensic dilution endpoints are available.","examples":[true]},"livemode":{"type":"boolean","title":"Livemode","description":"Whether this is a live (vs test) key.","examples":[true]}},"additionalProperties":false,"type":"object","required":["tier","rate_limit_per_min","forensic_access","livemode"],"title":"WhoAmI","description":"Non-sensitive confirmation of the authenticated key's plan. No user PII."}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"snacs_sk_live_...","description":"SNACS Data API key (paid plans). Issued view-once in account settings; revocable; sha256-hashed at rest."}}},"servers":[{"url":"https://data.snacs.trade","description":"Production"}],"security":[{"bearerAuth":[]}]}