{"info":{"name":"Lottery Feed API","description":"Generated from the public OpenAPI contract. The apiKey variable defaults to the deterministic sandbox token; replace it with an issued lf_live key for production data. Monitor API changes and deprecations at https://lotteryfeedapi.com/api-docs/changelog.","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"variable":[{"key":"baseUrl","value":"https://api.lotteryfeedapi.com/v1","type":"string"},{"key":"apiKey","value":"lf_test_demo_sandbox","type":"secret"},{"key":"sandboxDrawDate","value":"2026-06-21","type":"string"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"item":[{"name":"General","item":[{"name":"Get API version and discovery links","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"noauth"},"url":{"raw":"{{baseUrl}}/","host":["{{baseUrl}}"],"path":[],"variable":[]},"description":"Public version-root response with stable links to API documentation, OpenAPI, and service status.\n\nContract source: /openapi.json."}}]},{"name":"Results","item":[{"name":"List latest draw results with stored numbers","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('status is 200', function () { pm.response.to.have.status(200); });","pm.test('sandbox latest result shape is compact', function () {","  const body = pm.response.json();","  const row = body.data && body.data[0];","  pm.expect(row && row.game_code).to.eql('md-pick3-midday');","  pm.expect(row && (row.numbers_formatted || row.numbers_string)).to.eql('2-3-6');","});"]}}],"request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/results/latest?state=MD&ball_count=3&limit=1","host":["{{baseUrl}}"],"path":["results","latest"],"query":[{"key":"country","value":"US","disabled":true,"description":"Optional"},{"key":"state","value":"MD","disabled":false,"description":"Enabled for deterministic sandbox smoke tests. Optional"},{"key":"ball_count","value":"3","disabled":false,"description":"Enabled for deterministic sandbox smoke tests. Optional"},{"key":"game_code","value":"md-pick3-midday","disabled":true,"description":"Optional"},{"key":"q","value":"Pick 3","disabled":true,"description":"Optional Case-insensitive public search across lottery names, game codes, states, and country labels where supported."},{"key":"include","value":"","disabled":true,"description":"Optional Optional comma-separated public projection. Use include=trust, include=trust_evidence, or include=provenance_timeline to add bounded public trust_evidence. Use include=mismatch_timeline, include=observer_mismatch, or include=source_comparison to add a customer-safe source comparison timeline. Raw source diagnostics are never included."},{"key":"limit","value":"1","disabled":false,"description":"Enabled for deterministic sandbox smoke tests. Optional Maximum number of rows to return from bounded list endpoints. Defaults to 100 and is capped at 1000; use total_count and has_more to detect truncation. Default: 100."},{"key":"short","value":"false","disabled":true,"description":"Optional Explicit short-response alias for the compact public read model. Use short=1 in copy-paste integrations when you want to make the compact contract obvious. Default: false."},{"key":"compact","value":"true","disabled":true,"description":"Optional When true, returns the compact public response shape. Compact is also the default response shape. Default: true."},{"key":"shape","value":"compact","disabled":true,"description":"Optional Response projection. Public APIs use the compact customer-safe projection. Default: compact."}],"variable":[]},"description":"List latest draw results with stored numbers\n\nRequired scopes: results:read.\n\nSandbox smoke: with apiKey=lf_test_demo_sandbox, MD Pick 3 returns numbers_formatted=2-3-6.\n\nContract source: /openapi.json."}},{"name":"Get latest result for one lottery","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/results/latest/:game_code","host":["{{baseUrl}}"],"path":["results","latest",":game_code"],"query":[{"key":"include","value":"","disabled":true,"description":"Optional Optional comma-separated public projection. Use include=trust, include=trust_evidence, or include=provenance_timeline to add bounded public trust_evidence. Use include=mismatch_timeline, include=observer_mismatch, or include=source_comparison to add a customer-safe source comparison timeline. Raw source diagnostics are never included."},{"key":"short","value":"false","disabled":true,"description":"Optional Explicit short-response alias for the compact public read model. Use short=1 in copy-paste integrations when you want to make the compact contract obvious. Default: false."},{"key":"compact","value":"true","disabled":true,"description":"Optional When true, returns the compact public response shape. Compact is also the default response shape. Default: true."},{"key":"shape","value":"compact","disabled":true,"description":"Optional Response projection. Public APIs use the compact customer-safe projection. Default: compact."}],"variable":[{"key":"game_code","value":"md-pick3-midday"}]},"description":"Get latest result for one lottery\n\nRequired scopes: results:read.\n\nContract source: /openapi.json."}},{"name":"List historical draw results for a date","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/results/history?date=2026-05-25","host":["{{baseUrl}}"],"path":["results","history"],"query":[{"key":"date","value":"2026-05-25","disabled":false,"description":"Required"},{"key":"country","value":"US","disabled":true,"description":"Optional"},{"key":"state","value":"MD","disabled":true,"description":"Optional"},{"key":"ball_count","value":"3","disabled":true,"description":"Optional"},{"key":"game_code","value":"md-pick3-midday","disabled":true,"description":"Optional"},{"key":"q","value":"Pick 3","disabled":true,"description":"Optional Case-insensitive public search across lottery names, game codes, states, and country labels where supported."},{"key":"include","value":"","disabled":true,"description":"Optional Optional comma-separated public projection. Use include=trust, include=trust_evidence, or include=provenance_timeline to add bounded public trust_evidence. Use include=mismatch_timeline, include=observer_mismatch, or include=source_comparison to add a customer-safe source comparison timeline. Raw source diagnostics are never included."},{"key":"limit","value":"100","disabled":true,"description":"Optional Maximum number of rows to return from bounded list endpoints. Defaults to 100 and is capped at 1000; use total_count and has_more to detect truncation. Default: 100."},{"key":"short","value":"false","disabled":true,"description":"Optional Explicit short-response alias for the compact public read model. Use short=1 in copy-paste integrations when you want to make the compact contract obvious. Default: false."},{"key":"compact","value":"true","disabled":true,"description":"Optional When true, returns the compact public response shape. Compact is also the default response shape. Default: true."},{"key":"shape","value":"compact","disabled":true,"description":"Optional Response projection. Public APIs use the compact customer-safe projection. Default: compact."}],"variable":[]},"description":"List historical draw results for a date\n\nRequired scopes: results:read.\n\nContract source: /openapi.json."}},{"name":"Check submitted numbers against one stored draw","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('status is 200', function () { pm.response.to.have.status(200); });","pm.test('sandbox checker result is exact order', function () {","  const body = pm.response.json();","  pm.expect(body.match_class).to.eql('exact_order');","  pm.expect(body.submitted_numbers_formatted).to.eql('2-3-6');","  pm.expect(body.winning_numbers_formatted).to.eql('2-3-6');","});"]}}],"request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/results/check","host":["{{baseUrl}}"],"path":["results","check"],"variable":[]},"body":{"mode":"raw","raw":"{\n  \"game_code\": \"md-pick3-midday\",\n  \"draw_date\": \"{{sandboxDrawDate}}\",\n  \"numbers\": [\n    \"2\",\n    \"3\",\n    \"6\"\n  ]\n}","options":{"raw":{"language":"json"}}},"description":"Check submitted numbers against one stored draw\n\nRequired scopes: results:read.\n\nSandbox smoke: with apiKey=lf_test_demo_sandbox and sandboxDrawDate, the checker returns match_class=exact_order and winning_numbers_formatted=2-3-6.\n\nContract source: /openapi.json."}},{"name":"Get available draw years for one lottery","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/results/years?game_code=md-pick3-midday","host":["{{baseUrl}}"],"path":["results","years"],"query":[{"key":"game_code","value":"md-pick3-midday","disabled":false,"description":"Required"}],"variable":[]},"description":"Compatibility query endpoint for draw-year pickers. Prefer /lotteries/{game_code}/draw-years for canonical integrations; both paths use the same bounded drawYears read model and lotteries:read scope.\n\nRequired scopes: lotteries:read.\n\nContract source: /openapi.json."}}]},{"name":"Lotteries","item":[{"name":"List customer-visible lotteries with latest numbers","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/lotteries","host":["{{baseUrl}}"],"path":["lotteries"],"query":[{"key":"country","value":"US","disabled":true,"description":"Optional"},{"key":"state","value":"MD","disabled":true,"description":"Optional"},{"key":"ball_count","value":"3","disabled":true,"description":"Optional"},{"key":"game_code","value":"md-pick3-midday","disabled":true,"description":"Optional"},{"key":"q","value":"Pick 3","disabled":true,"description":"Optional Case-insensitive public search across lottery names, game codes, states, and country labels where supported."},{"key":"include","value":"","disabled":true,"description":"Optional Optional comma-separated public projection. Use include=trust, include=trust_evidence, or include=provenance_timeline to add bounded public trust_evidence. Use include=mismatch_timeline, include=observer_mismatch, or include=source_comparison to add a customer-safe source comparison timeline. Use include=prize_structure_coverage, include=prize_coverage, or include=prize_status to add compact source-review status for prize tables without payout rows. Use include=jackpot_status, include=jackpot_coverage, or include=jackpot_tracking to add compact jackpot source-review status without jackpot amount values. Raw source diagnostics are never included."},{"key":"limit","value":"100","disabled":true,"description":"Optional Maximum number of rows to return from bounded list endpoints. Defaults to 100 and is capped at 1000; use total_count and has_more to detect truncation. Default: 100."},{"key":"short","value":"false","disabled":true,"description":"Optional Explicit short-response alias for the compact public read model. Use short=1 in copy-paste integrations when you want to make the compact contract obvious. Default: false."},{"key":"compact","value":"true","disabled":true,"description":"Optional When true, returns the compact public response shape. Compact is also the default response shape. Default: true."},{"key":"shape","value":"compact","disabled":true,"description":"Optional Response projection. Public APIs use the compact customer-safe projection. Default: compact."}],"variable":[]},"description":"List customer-visible lotteries with latest numbers\n\nRequired scopes: lotteries:read.\n\nContract source: /openapi.json."}},{"name":"Get one lottery","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/lotteries/:game_code","host":["{{baseUrl}}"],"path":["lotteries",":game_code"],"query":[{"key":"date","value":"2026-05-25","disabled":true,"description":"Optional"},{"key":"include","value":"","disabled":true,"description":"Optional Optional comma-separated single-lottery projection. Use include=prize_structure to request publication status; payout rows remain omitted until typed currency, scale, source evidence, and publication approval are available. Use include=prize_structure_coverage / prize_coverage / prize_status for compact status without payout rows, include=jackpot for a no-value jackpot source-review notice, include=jackpot_status / jackpot_coverage / jackpot_tracking for compact jackpot review coverage, include=trust / trust_evidence / provenance_timeline for compact public trust evidence, or include=mismatch_timeline / observer_mismatch / source_comparison for customer-safe source comparison evidence. Default responses stay compact."},{"key":"short","value":"false","disabled":true,"description":"Optional Explicit short-response alias for the compact public read model. Use short=1 in copy-paste integrations when you want to make the compact contract obvious. Default: false."},{"key":"compact","value":"true","disabled":true,"description":"Optional When true, returns the compact public response shape. Compact is also the default response shape. Default: true."},{"key":"shape","value":"compact","disabled":true,"description":"Optional Response projection. Public APIs use the compact customer-safe projection. Default: compact."}],"variable":[{"key":"game_code","value":"md-pick3-midday"}]},"description":"Get one lottery\n\nRequired scopes: lotteries:read.\n\nContract source: /openapi.json."}},{"name":"Get available draw years for one lottery","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/lotteries/:game_code/draw-years","host":["{{baseUrl}}"],"path":["lotteries",":game_code","draw-years"],"variable":[{"key":"game_code","value":"md-pick3-midday"}]},"description":"Get available draw years for one lottery\n\nRequired scopes: lotteries:read.\n\nContract source: /openapi.json."}},{"name":"Get number frequency preview for one lottery","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/lotteries/:game_code/frequency","host":["{{baseUrl}}"],"path":["lotteries",":game_code","frequency"],"query":[{"key":"date","value":"2026-05-25","disabled":true,"description":"Optional"},{"key":"to","value":"2026-05-25","disabled":true,"description":"Optional Backward-compatible end-date alias. Use either date or to, not both."},{"key":"window","value":"","disabled":true,"description":"Optional Optional bounded published-history window. Ignored when date is supplied. Access is capped by freshness level: F1=7d, F2=30d, F3=90d, and F4-F7=1y. Unsupported values return INVALID_WINDOW; windows above the current access level return STATISTICS_WINDOW_REQUIRES_UPGRADE. When history is unavailable, the API fails closed instead of scanning archived feed files."},{"key":"include","value":"","disabled":true,"description":"Optional Optional comma-separated bounded detail projection. Use include=details for patterns, longest gaps, top pairs, and top combinations. Default compact responses omit detail tables and access metadata."},{"key":"short","value":"false","disabled":true,"description":"Optional Explicit short-response alias for the compact public read model. Use short=1 in copy-paste integrations when you want to make the compact contract obvious. Default: false."},{"key":"compact","value":"true","disabled":true,"description":"Optional When true, returns the compact public response shape. Compact is also the default response shape. Default: true."},{"key":"shape","value":"compact","disabled":true,"description":"Optional Response projection. Public APIs use the compact customer-safe projection. Default: compact."}],"variable":[{"key":"game_code","value":"md-pick3-midday"}]},"description":"Get number frequency preview for one lottery\n\nRequired scopes: results:read.\n\nContract source: /openapi.json."}}]},{"name":"Schedules","item":[{"name":"List draw schedules for customer-visible lotteries","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/schedules","host":["{{baseUrl}}"],"path":["schedules"],"query":[{"key":"date","value":"2026-05-25","disabled":true,"description":"Optional"},{"key":"country","value":"US","disabled":true,"description":"Optional"},{"key":"state","value":"MD","disabled":true,"description":"Optional"},{"key":"ball_count","value":"3","disabled":true,"description":"Optional"},{"key":"game_code","value":"md-pick3-midday","disabled":true,"description":"Optional"},{"key":"q","value":"Pick 3","disabled":true,"description":"Optional Case-insensitive public search across lottery names, game codes, states, and country labels where supported."},{"key":"limit","value":"100","disabled":true,"description":"Optional Maximum number of rows to return from bounded list endpoints. Defaults to 100 and is capped at 1000; use total_count and has_more to detect truncation. Default: 100."},{"key":"short","value":"false","disabled":true,"description":"Optional Explicit short-response alias for the compact public read model. Use short=1 in copy-paste integrations when you want to make the compact contract obvious. Default: false."},{"key":"compact","value":"true","disabled":true,"description":"Optional When true, returns the compact public response shape. Compact is also the default response shape. Default: true."},{"key":"shape","value":"compact","disabled":true,"description":"Optional Response projection. Public APIs use the compact customer-safe projection. Default: compact."}],"variable":[]},"description":"Returns compact stored schedule metadata for customer-visible Pick 3, Pick 4, and Pick 5 lotteries. The endpoint preserves timezone IDs and date-aware local and UTC labels for integration planning.\n\nRequired scopes: lotteries:read.\n\nContract source: /openapi.json."}}]},{"name":"Stats","item":[{"name":"Get compact descriptive statistics for one lottery","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/stats/:game_code","host":["{{baseUrl}}"],"path":["stats",":game_code"],"query":[{"key":"date","value":"2026-05-25","disabled":true,"description":"Optional"},{"key":"to","value":"2026-05-25","disabled":true,"description":"Optional Backward-compatible end-date alias. Use either date or to, not both."},{"key":"window","value":"","disabled":true,"description":"Optional Optional bounded published-history window. Ignored when date is supplied. Access is capped by freshness level: F1=7d, F2=30d, F3=90d, and F4-F7=1y. Unsupported values return INVALID_WINDOW; windows above the current access level return STATISTICS_WINDOW_REQUIRES_UPGRADE. When history is unavailable, the API fails closed instead of scanning archived feed files."},{"key":"include","value":"","disabled":true,"description":"Optional Optional comma-separated bounded detail projection. Use include=details for patterns, longest gaps, top pairs, and top combinations. Default compact responses omit detail tables and access metadata."},{"key":"short","value":"false","disabled":true,"description":"Optional Explicit short-response alias for the compact public read model. Use short=1 in copy-paste integrations when you want to make the compact contract obvious. Default: false."},{"key":"compact","value":"true","disabled":true,"description":"Optional When true, returns the compact public response shape. Compact is also the default response shape. Default: true."},{"key":"shape","value":"compact","disabled":true,"description":"Optional Response projection. Public APIs use the compact customer-safe projection. Default: compact."}],"variable":[{"key":"game_code","value":"md-pick3-midday"}]},"description":"Short alias for /lotteries/{game_code}/frequency. It uses the same bounded trusted-row read model, request parameters, response shape, and results:read scope.\n\nRequired scopes: results:read.\n\nContract source: /openapi.json."}}]},{"name":"Countries","item":[{"name":"List supported countries","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/countries","host":["{{baseUrl}}"],"path":["countries"],"query":[{"key":"limit","value":"100","disabled":true,"description":"Optional Maximum number of rows to return from bounded list endpoints. Defaults to 100 and is capped at 1000; use total_count and has_more to detect truncation. Default: 100."},{"key":"short","value":"false","disabled":true,"description":"Optional Explicit short-response alias for the compact public read model. Use short=1 in copy-paste integrations when you want to make the compact contract obvious. Default: false."},{"key":"compact","value":"true","disabled":true,"description":"Optional When true, returns the compact public response shape. Compact is also the default response shape. Default: true."},{"key":"shape","value":"compact","disabled":true,"description":"Optional Response projection. Public APIs use the compact customer-safe projection. Default: compact."}],"variable":[]},"description":"List supported countries\n\nRequired scopes: lotteries:read.\n\nContract source: /openapi.json."}}]},{"name":"States","item":[{"name":"List supported states/provinces","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"url":{"raw":"{{baseUrl}}/states","host":["{{baseUrl}}"],"path":["states"],"query":[{"key":"country","value":"US","disabled":true,"description":"Optional"},{"key":"q","value":"Pick 3","disabled":true,"description":"Optional Case-insensitive public search across lottery names, game codes, states, and country labels where supported."},{"key":"limit","value":"100","disabled":true,"description":"Optional Maximum number of rows to return from bounded list endpoints. Defaults to 100 and is capped at 1000; use total_count and has_more to detect truncation. Default: 100."},{"key":"short","value":"false","disabled":true,"description":"Optional Explicit short-response alias for the compact public read model. Use short=1 in copy-paste integrations when you want to make the compact contract obvious. Default: false."},{"key":"compact","value":"true","disabled":true,"description":"Optional When true, returns the compact public response shape. Compact is also the default response shape. Default: true."},{"key":"shape","value":"compact","disabled":true,"description":"Optional Response projection. Public APIs use the compact customer-safe projection. Default: compact."}],"variable":[]},"description":"List supported states/provinces\n\nRequired scopes: lotteries:read.\n\nContract source: /openapi.json."}}]},{"name":"Status","item":[{"name":"Get feed health summary","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"auth":{"type":"noauth"},"url":{"raw":"{{baseUrl}}/status","host":["{{baseUrl}}"],"path":["status"],"query":[{"key":"include","value":"","disabled":true,"description":"Optional Use include=games only for bounded customer diagnostics. Returned game rows are scoped to customer-visible Pick 3, Pick 4, and Pick 5 number games; other collected rows are not part of this public API."},{"key":"limit","value":"100","disabled":true,"description":"Optional Maximum number of rows to return from bounded list endpoints. Defaults to 100 and is capped at 1000; use total_count and has_more to detect truncation. Default: 100."},{"key":"offset","value":"0","disabled":true,"description":"Optional Zero-based offset for /v1/status?include=games. Use the games_next continuation URL instead of raising limit for large status screens. Default: 0."},{"key":"short","value":"false","disabled":true,"description":"Optional Explicit short-response alias for the compact public read model. Use short=1 in copy-paste integrations when you want to make the compact contract obvious. Default: false."},{"key":"compact","value":"true","disabled":true,"description":"Optional When true, returns the compact public response shape. Compact is also the default response shape. Default: true."},{"key":"shape","value":"compact","disabled":true,"description":"Optional Response projection. Public APIs use the compact customer-safe projection. Default: compact."}],"variable":[]},"description":"Compact feed health, source-health, freshness policy, and public incident summary. This public status smoke endpoint does not require a bearer key.\n\nContract source: /openapi.json."}}]}]}