{
    "info": {
        "name": "Lottevo API",
        "description": "Every operation of the Lottevo data API. Set the `apiKey` collection variable to your key (a `lv_test_` sandbox key works) and send.",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "token",
                "value": "{{apiKey}}",
                "type": "string"
            }
        ]
    },
    "variable": [
        {
            "key": "baseUrl",
            "value": "https://api.lottevo.com/v1"
        },
        {
            "key": "apiKey",
            "value": ""
        },
        {
            "key": "lottery",
            "value": "EU-002"
        },
        {
            "key": "draw",
            "value": ""
        },
        {
            "key": "export",
            "value": ""
        },
        {
            "key": "webhookEndpoint",
            "value": ""
        },
        {
            "key": "uuid",
            "value": ""
        }
    ],
    "item": [
        {
            "name": "Account",
            "item": [
                {
                    "name": "Get",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/account",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "account"
                            ]
                        },
                        "description": "What the calling key is: its account's plan, its scopes and how many requests the account has made today. The integration smoke test — a client can verify a key works without needing a scope, and read its own ceiling from the answer"
                    }
                }
            ]
        },
        {
            "name": "Lotteries",
            "item": [
                {
                    "name": "Compliance",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/compliance",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "compliance"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ]
                        },
                        "description": "The legal frame of every jurisdiction a lottery is sold in\n\nA national game lists its country only: which states or provinces\nsell it is not known for every game, and the country entry says when\nthe rules differ between them."
                    }
                },
                {
                    "name": "List",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries"
                            ]
                        },
                        "description": "The catalogue. Inactive games are not listed"
                    }
                },
                {
                    "name": "Get",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ]
                        },
                        "description": "One game, addressed by its code — plus its last results and its payout table, which are cheap for one game and are what a game's own page shows"
                    }
                },
                {
                    "name": "Data quality",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/data-quality",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "data-quality"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ]
                        },
                        "description": "How complete and how fast a game's results have been\n\nOver the last 30 days: how many draws the game's schedule called for,\nhow many were published, how many the operator did not hold, and how\nmany are missing — plus how long after each draw's scheduled time its\nresult was available, as the median, the 90th percentile and the\nslowest. Recomputed once a day. `completeness` is null for a game drawn\non a calendar no fixed schedule describes; `data` is null for a game\nthat has not been measured yet."
                    }
                },
                {
                    "name": "Draws",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/draws",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "draws"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ]
                        },
                        "description": "One game's result history, newest first, as far back as your plan includes (see `/v1/account`). Pages stay equally fast however deep you walk back\n\nBesides the dates, `filter[numbers]=7,23` keeps the draws whose main\nnumbers include all of those, `filter[weekday]=7` the draws held on a\nweekday (1 = Monday, 7 = Sunday, on the game's local clock; several\nseparated by commas), and `filter[jackpot_won]=true` the draws whose top\nprize was won (`false`: published without a winner)."
                    }
                },
                {
                    "name": "Freshness",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/freshness",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "freshness"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ]
                        },
                        "description": "How current a game's results are right now\n\nWhether the latest scheduled draw has its result (`current`), is still\nwithin the time results normally take (`awaiting`) or is late and\nflagged as missing (`overdue`); when the game's results last changed\nhere, which is not the same as when it was last drawn; how long after\nits scheduled time the latest result arrived, against the usual delay;\nand how many results were corrected after publication recently.\nComputed on every request, unlike the daily data-quality figures."
                    }
                },
                {
                    "name": "Generate",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/generate",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "generate"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ],
                            "query": [
                                {
                                    "key": "count",
                                    "value": "",
                                    "description": "How many tickets to generate, 1 to 50.",
                                    "disabled": true
                                },
                                {
                                    "key": "size",
                                    "value": "",
                                    "description": "How many numbers each ticket holds, within the game's own range (`meta.sizes`). Defaults to the most a ticket may hold.",
                                    "disabled": true
                                },
                                {
                                    "key": "seed",
                                    "value": "",
                                    "description": "A whole number from 0 to 9007199254740991 that makes the request repeatable. Chosen at random when absent.",
                                    "disabled": true
                                },
                                {
                                    "key": "odd",
                                    "value": "",
                                    "description": "How many odd numbers each ticket holds, exactly.",
                                    "disabled": true
                                },
                                {
                                    "key": "low",
                                    "value": "",
                                    "description": "How many numbers from the lower half of the pool (`meta.low`) each ticket holds, exactly.",
                                    "disabled": true
                                },
                                {
                                    "key": "ranges",
                                    "value": "",
                                    "description": "Exact counts from stretches of the pool, as `from-to:count` separated by commas: `1-10:2,11-20:1` is two numbers from 1 to 10 and one from 11 to 20. The stretches may not overlap.",
                                    "disabled": true
                                },
                                {
                                    "key": "include",
                                    "value": "",
                                    "description": "Numbers every ticket holds, separated by commas.",
                                    "disabled": true
                                },
                                {
                                    "key": "exclude",
                                    "value": "",
                                    "description": "Numbers no ticket holds, separated by commas.",
                                    "disabled": true
                                },
                                {
                                    "key": "sum_min",
                                    "value": "",
                                    "description": "The lowest sum of a ticket's numbers.",
                                    "disabled": true
                                },
                                {
                                    "key": "sum_max",
                                    "value": "",
                                    "description": "The highest sum of a ticket's numbers.",
                                    "disabled": true
                                },
                                {
                                    "key": "max_consecutive",
                                    "value": "",
                                    "description": "The longest run of neighbouring numbers a ticket may hold (14, 15, 16 is a run of 3).",
                                    "disabled": true
                                },
                                {
                                    "key": "max_same_ending",
                                    "value": "",
                                    "description": "The most numbers a ticket may hold with the same last digit.",
                                    "disabled": true
                                },
                                {
                                    "key": "max_per_decade",
                                    "value": "",
                                    "description": "The most numbers a ticket may hold from one group of ten (1-10, 11-20, …).",
                                    "disabled": true
                                },
                                {
                                    "key": "never_drawn",
                                    "value": "",
                                    "description": "Only tickets no past draw held. For number games, only when a ticket holds as many numbers as a draw.",
                                    "disabled": true
                                },
                                {
                                    "key": "avoid_popular",
                                    "value": "",
                                    "description": "Leave out the patterns many players mark.",
                                    "disabled": true
                                },
                                {
                                    "key": "numbers_from",
                                    "value": "",
                                    "description": "Draw the tickets only from the `hot` (most drawn), `cold` (least drawn) or `overdue` (longest absent) numbers of `window`. Historical analysis, not a prediction.",
                                    "disabled": true
                                },
                                {
                                    "key": "numbers_from_top",
                                    "value": "",
                                    "description": "How many of those numbers to draw from. Defaults to a third of the pool.",
                                    "disabled": true
                                },
                                {
                                    "key": "weighting",
                                    "value": "",
                                    "description": "`hot` picks numbers drawn more often in `window` more often, `cold` the reverse, `none` weighs every ticket alike. A preference, not a better chance.",
                                    "disabled": true
                                },
                                {
                                    "key": "window",
                                    "value": "",
                                    "description": "The past draws `numbers_from` and `weighting` read: `meta.available_windows` on the game's statistics lists them.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Generate tickets for a game\n\nEvery ticket is valid for the game and distinct from the others, and\nevery ticket the filters allow is equally likely unless `weighting`\nsays otherwise. No filter changes the chance of winning: they choose\nwhich tickets you play, not how likely they are to come up.\n\n`meta.space` counts the tickets the filters allow — exactly while only\nthe counted filters are used (`odd`, `low`, `ranges`, `include`,\n`exclude`, `numbers_from`), estimated once the sum, neighbour, ending,\ngroup-of-ten or popular-pattern filters are added (`exact: false`).\nA request no ticket can meet is refused at once with the reason\n(`generator_impossible`), and one asking for more tickets than exist\nsays how many do (`generator_space_too_small`).\n\n`seed` makes a request repeatable: the same request with the same seed\nreturns the same tickets while the game's history stands. The seed\nused is always in `meta.seed`.\n\nThe filters read from past draws (`numbers_from`, `weighting`) need at\nleast 100 draws in `window` (`not_enough_draws`). `avoid_popular`\nleaves out the patterns many players mark — the latest draw, only\ndates, even-step rows, long runs, one ending, one multiple: in a\npari-mutuel game a prize is then shared with fewer winners.\n\nDigit games (Pick 3, Joker, …) take only `exclude`, `sum_min`,\n`sum_max`, `never_drawn`, `avoid_popular`, `numbers_from` and\n`weighting`; games whose count of numbers is the result, games drawn\nfrom several drums and races answer 422 `generator_unsupported`."
                    }
                },
                {
                    "name": "Jackpots",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/jackpots",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "jackpots"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ]
                        },
                        "description": "How a game's announced jackpot has moved\n\nEvery distinct figure the operator announced for an upcoming draw, newest\nfirst, with the span over which it stood unchanged. A figure revised\nduring the week becomes a new entry, so the list shows how the estimate\ngrew toward each draw. The history starts when we began recording it."
                    }
                },
                {
                    "name": "Payouts",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/payouts",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "payouts"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ]
                        },
                        "description": "The payout table of a fixed-odds game\n\nSome games do not split a pool between winners: the prize is a function\nof the ticket — what was bet on, how many numbers were played, how many\nmatched — so it is the same for every draw and is published here rather\nthan with each result. A game that splits a pool returns an empty list;\nits money is on the draws."
                    }
                },
                {
                    "name": "Schedule",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/schedule",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "schedule"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ],
                            "query": [
                                {
                                    "key": "occurrences",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "When a game draws: each schedule written out in the language of the request, plus the next few occurrences already resolved to UTC instants so a client does not have to handle DST to build a calendar\n\n`regular` is false for a game that draws on irregular days, such as\none tied to horse-racing fixtures: it has no timetable, so the\nschedules, the next draw and the upcoming occurrences are empty."
                    }
                },
                {
                    "name": "Statistics",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/statistics",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "statistics"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ],
                            "query": [
                                {
                                    "key": "combo_size",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                },
                                {
                                    "key": "window",
                                    "value": "",
                                    "description": "How far back to count: `day`, `two_days` … `six_days`, `seven_days`, `fourteen_days`, `thirty_days`, `three_months`, `six_months`, `nine_months`, `year` or `all_time`. The windows shorter than seven days exist only for games drawn several times a day; any other value counts the whole history. `meta.available_windows` lists the game's.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "The three rankings for a game: most drawn, least drawn, and longest without appearing\n\nHistorical analysis of past results, not a prediction of future ones."
                    }
                },
                {
                    "name": "Statistics distributions",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/statistics/distributions",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "statistics",
                                "distributions"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ],
                            "query": [
                                {
                                    "key": "window",
                                    "value": "",
                                    "description": "How far back to count: `day`, `two_days` … `six_days`, `seven_days`, `fourteen_days`, `thirty_days`, `three_months`, `six_months`, `nine_months`, `year` or `all_time`. The windows shorter than seven days exist only for games drawn several times a day; any other value counts the whole history. `meta.available_windows` lists the game's.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "How a game's past draws are spread, each figure beside what a fair draw would have produced\n\nHistorical analysis of past results, not a prediction of future ones.\nCounted over the main numbers of the draws made with the game's current\nnumber pool, within the window; `meta` says which draws that was.\n\n- `sum`: the sum of each draw's numbers, in ranges.\n- `odd_even` and `high_low`: how many odd, and how many low numbers, a draw held. Low is the lower half of the pool (`high_low.low`).\n- `consecutive`: pairs of neighbouring numbers in a draw, such as 14 and 15. The fair-draw figure is only given for games where a number cannot come up twice.\n- `positions`: which numbers came up at each position — the lowest number first, or the order of the draw for games where it is part of the result (`positions.order`). Null for games drawing more than 10 numbers or from more than 100.\n- `gaps`: how many draws passed between two appearances of the same number.\n- `randomness`: a chi-square test of how evenly the numbers came up. A small `p_value` (below 0.01) says the spread is unlikely from a fair draw; it is null while too few draws are counted. For a digit game where some position draws from a narrower range (a first digit from 1 to 6 only), every figure follows each position's own range and the test runs position by position; `expected_per_number` is then the smallest count any position expects of a digit.\n\nBingo-style games, whose count of numbers is the result, and games\ndrawn from several drums answer 422 `distributions_unsupported`."
                    }
                },
                {
                    "name": "Check",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/check",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "check"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ],
                            "query": [
                                {
                                    "key": "numbers",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                },
                                {
                                    "key": "bonus",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                },
                                {
                                    "key": "bet_type",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                },
                                {
                                    "key": "stake",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                },
                                {
                                    "key": "refund",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                },
                                {
                                    "key": "min_matched",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Check a ticket against a game's history\n\nPass the ticket as `numbers=3,11,17,24,38,45` — plus `bonus=7` for a game\nwhose bonus is played separately, and `refund=3` for one that draws a\nrefund digit (`ticket_check.refund`) — and get every past draw it matched,\nnewest first. For a number game a draw is listed when it contained at\nleast `min_matched` of the numbers; for a digit game (Pick 3, Joker, …)\nwhen it was an exact or any-order hit, or matched at least `min_matched`\ndigits by position or in a row from either end. `meta.summary` counts\nevery outcome over the whole window, and for a game whose operator\npublishes prizes per draw `meta.winnings` adds up what the ticket would\nhave won, by currency, at the amounts paid per winner then — gross, as\npublished; `complete` is false when some draws could not be judged.\nFor a fixed-odds game (Pick 3, keno, fixed-odds lotto bets) name the bet with\n`bet_type` — one of the game's `ticket_check.bet_types` — and\noptionally `stake`, and every draw is priced at the game's payout table\ninstead: `meta.bet` says the stake, currency and whether the amounts\nare before withholdings. The window is `range` (`3months`,\n`6months`, `1year`, `2years`, `all`) or `from`/`to`, and never reaches\nback before the game took its current format nor further than your plan\nincludes (`meta.window`)."
                    }
                },
                {
                    "name": "Check batch",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/check",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "check"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ]
                        },
                        "description": "Check up to twenty tickets against a game's history at once\n\nSend `tickets` — each `{\"numbers\": [...], \"bonus\": [...]}`, plus\n`bet_type` and `stake` for a fixed-odds game — with the same window as\na single check (`range` or `from`/`to`), and get each ticket's summary:\nhow many draws it matched, and how. The draws themselves are\nlisted by the single-ticket check. Counts as one request. A game with a\nvery long history may need a shorter window for many tickets at once\n(`ticket_check_too_large`).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"tickets\": [\n        \"\"\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                },
                {
                    "name": "Wheel",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/lotteries/:lottery/wheel",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "lotteries",
                                ":lottery",
                                "wheel"
                            ],
                            "variable": [
                                {
                                    "key": "lottery",
                                    "value": "{{lottery}}"
                                }
                            ],
                            "query": [
                                {
                                    "key": "numbers",
                                    "value": "",
                                    "description": "Your numbers, separated by commas: more than a ticket holds, and at most 40.",
                                    "disabled": true
                                },
                                {
                                    "key": "size",
                                    "value": "",
                                    "description": "How many numbers each ticket holds, within the game's own range (`meta.sizes`). Defaults to the most a ticket may hold.",
                                    "disabled": true
                                },
                                {
                                    "key": "guarantee",
                                    "value": "",
                                    "description": "How many of the drawn numbers one ticket is sure to hold, from 1 to the ticket's size.",
                                    "disabled": true
                                },
                                {
                                    "key": "if_drawn",
                                    "value": "",
                                    "description": "How many of the draw's numbers must be among yours for the guarantee to apply: from `guarantee` to the draw's count. Defaults to `guarantee`.",
                                    "disabled": true
                                },
                                {
                                    "key": "bonus",
                                    "value": "",
                                    "description": "The bonus numbers every ticket carries, separated by commas, for a game whose bonus is played separately.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Build a reduced system (a wheel) on your numbers\n\nChoose more numbers than a ticket holds and a guarantee: with\n`guarantee=4&if_drawn=5`, whenever 5 of the draw's numbers are among\nyours, at least one ticket holds 4 of them. `if_drawn` defaults to\n`guarantee`. The system plays far fewer tickets than every combination\nof your numbers (`meta.full_system`); it is not always the smallest\nsystem there is, but the guarantee always holds.\n\nThe guarantee is about the main numbers only. `bonus` puts the same\nbonus numbers on every ticket; without it the tickets carry none, and\n`meta.bonus` says what each still needs. `meta.odds.condition_met_one_in`\nis how rarely enough of the draw's numbers fall among yours for the\nguarantee to apply: a system changes which tickets you play, not the\nchance of winning.\n\nThe same request always returns the same tickets. A system too large\nto work out answers 422 `wheel_too_large`; digit games, games drawn\nfrom several drums and races answer 422 `wheel_unsupported`. This route\nhas a per-minute rate of its own, on top of the plan's."
                    }
                }
            ]
        },
        {
            "name": "Compliance",
            "item": [
                {
                    "name": "List",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/compliance",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "compliance"
                            ]
                        },
                        "description": "The legal frame of every researched jurisdiction, optionally within one country\n\nCountries and their states or provinces come in one list, each\ncountry followed by its states. A US state carries the federal tax\nlevel alongside its own, so it can be read on its own."
                    }
                }
            ]
        },
        {
            "name": "Draws",
            "item": [
                {
                    "name": "List",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/draws",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "draws"
                            ]
                        },
                        "description": "The results feed, newest first, across the whole catalogue or narrowed to a game, a country or a date range. The cursor is what a client re-syncs against; an offset page would be shifted by every draw that lands while it reads. Results older than the history your plan includes are not listed — `/v1/account` gives the exact start"
                    }
                },
                {
                    "name": "Latest",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/draws/latest",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "draws",
                                "latest"
                            ]
                        },
                        "description": "The latest result of every game, paginated over games — the board a dashboard renders. A game with no result yet is listed with `latest_draw: null`"
                    }
                },
                {
                    "name": "Get",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/draws/:draw",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "draws",
                                ":draw"
                            ],
                            "variable": [
                                {
                                    "key": "draw",
                                    "value": "{{draw}}"
                                }
                            ]
                        },
                        "description": "One result by id. Ids are stable, and this is the URL a webhook payload points back at. A result older than the history your plan includes is refused with `history_not_included`"
                    }
                },
                {
                    "name": "Changes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/draws/changes",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "draws",
                                "changes"
                            ],
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Everything that happened to the results, in order\n\nThe feed to keep a copy of the results in step without re-reading\nthem. Each entry says what happened — `published`, `updated` (money\nfilled in later: the jackpot, the prize categories), `revised` (the\nnumbers or the draw time corrected) or `deleted` — which fields it\ntouched, and carries the draw as it stands now; a deleted draw carries\nonly its id. Start from `filter[since]`, then follow `next_cursor`\nfrom one request to the next. Entries older than the retention window\nare no longer listed, except corrections; a client further behind\nthan that re-reads the results feed."
                    }
                },
                {
                    "name": "Revisions",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/draws/:draw/revisions",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "draws",
                                ":draw",
                                "revisions"
                            ],
                            "variable": [
                                {
                                    "key": "draw",
                                    "value": "{{draw}}"
                                }
                            ]
                        },
                        "description": "The corrections of one result, oldest first\n\nEach entry holds the fields that were corrected, with their values\nbefore and after. A result that was never corrected has none."
                    }
                }
            ]
        },
        {
            "name": "Exports",
            "item": [
                {
                    "name": "List",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/exports",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "exports"
                            ]
                        },
                        "description": "List this key's exports\n\nThe latest 100, newest first. `meta` says how many exports the account\nmay still ask for this UTC month, across all its keys."
                    }
                },
                {
                    "name": "Create",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/exports",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "exports"
                            ]
                        },
                        "description": "Ask for a bulk export\n\nOf one lottery (`lottery`) this key is entitled to, as `csv` or\n`ndjson`, gzip-compressed. The whole history the plan includes is\nwritten, oldest draw first.\n\nThe file is built in the background: poll `GET /v1/exports/{id}` until\n`status` is `ready`, then follow `download_url`. Each export counts\nagainst the account's monthly allowance (see `meta` on the listing);\none that fails does not. NDJSON lines are the draw objects of\n`GET /v1/draws/{id}`, prize categories included; CSV carries the same\nfields without the categories, lists separated by spaces.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"format\": \"csv\",\n    \"lottery\": \"EU-002\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                },
                {
                    "name": "Get",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/exports/:export",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "exports",
                                ":export"
                            ],
                            "variable": [
                                {
                                    "key": "export",
                                    "value": "{{export}}"
                                }
                            ]
                        },
                        "description": "Show one export, with its download link once it is ready"
                    }
                }
            ]
        },
        {
            "name": "Continents",
            "item": [
                {
                    "name": "List",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/continents",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "continents"
                            ]
                        },
                        "description": "The continents that have any lottery. Unpaginated on purpose: there are only a handful of them, and a client building a dropdown should not have to follow a cursor for it"
                    }
                }
            ]
        },
        {
            "name": "Countries",
            "item": [
                {
                    "name": "List",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/countries",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "countries"
                            ],
                            "query": [
                                {
                                    "key": "filter[continent]",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "The countries that have any lottery, optionally within one continent. Lists both the countries that own games and those where games are sold, so Cyprus appears for the Greek games"
                    }
                }
            ]
        },
        {
            "name": "States",
            "item": [
                {
                    "name": "List",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/states",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "states"
                            ],
                            "query": [
                                {
                                    "key": "filter[country]",
                                    "value": "",
                                    "description": "",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "The states that have any lottery, optionally within one country"
                    }
                }
            ]
        },
        {
            "name": "Stream",
            "item": [
                {
                    "name": "Get",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/stream",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "stream"
                            ]
                        },
                        "description": "Results as they land, as Server-Sent Events\n\nA new result reaches an open stream within a few seconds of being\npublished — well inside what \"live\" means for a game that draws every\nfour minutes at best.\n\n`Last-Event-ID` (which the browser resends on reconnect) is honoured,\nso a reconnect resumes rather than replaying or skipping.\n\nOpen streams are capped per account and in total; a connection over the\ncap is refused with 429 and told when to try again."
                    }
                }
            ]
        },
        {
            "name": "Webhooks",
            "item": [
                {
                    "name": "Deliveries",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/webhooks/:webhookEndpoint/deliveries",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "webhooks",
                                ":webhookEndpoint",
                                "deliveries"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpoint",
                                    "value": "{{webhookEndpoint}}"
                                }
                            ]
                        },
                        "description": "What this subscription has been sent, newest first. Filterable by `filter[status]=dead` — which is the dead-letter list, and the only thing most clients ever look at"
                    }
                },
                {
                    "name": "Replay",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/webhooks/:webhookEndpoint/deliveries/:uuid/replay",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "webhooks",
                                ":webhookEndpoint",
                                "deliveries",
                                ":uuid",
                                "replay"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpoint",
                                    "value": "{{webhookEndpoint}}"
                                },
                                {
                                    "key": "uuid",
                                    "value": "{{uuid}}"
                                }
                            ]
                        },
                        "description": "Offer a delivery again — the recovery path for a receiver that was down longer than the backoff lasts\n\nThe uuid is kept, so a receiver that DID process the original still\nrecognises it as the same event and can drop it. Only a delivery that\nis no longer being retried — dead, or already delivered — can be\noffered again.",
                        "body": {
                            "mode": "raw",
                            "raw": "{}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                },
                {
                    "name": "List",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/webhooks",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "webhooks"
                            ]
                        },
                        "description": "The subscriptions this key holds"
                    }
                },
                {
                    "name": "Create",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/webhooks",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "webhooks"
                            ]
                        },
                        "description": "Subscribe. The signing secret comes back on this response only — afterwards it is encrypted at rest and can be rotated but not read",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"url\": \"https://example.com/lottevo\",\n    \"events\": [\n        \"draw.published\"\n    ],\n    \"lottery_codes\": [\n        \"EU-002\"\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                },
                {
                    "name": "Get",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/webhooks/:webhookEndpoint",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "webhooks",
                                ":webhookEndpoint"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpoint",
                                    "value": "{{webhookEndpoint}}"
                                }
                            ]
                        },
                        "description": "Show one subscription"
                    }
                },
                {
                    "name": "Update",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/webhooks/:webhookEndpoint",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "webhooks",
                                ":webhookEndpoint"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpoint",
                                    "value": "{{webhookEndpoint}}"
                                }
                            ]
                        },
                        "description": "Change what a subscription listens to, or switch it back on after it was disabled for being unreachable",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"url\": \"https://example.com/lottevo\",\n    \"events\": [\n        \"draw.published\"\n    ],\n    \"lottery_codes\": [\n        \"EU-002\"\n    ],\n    \"active\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                },
                {
                    "name": "Delete",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/webhooks/:webhookEndpoint",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "webhooks",
                                ":webhookEndpoint"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpoint",
                                    "value": "{{webhookEndpoint}}"
                                }
                            ]
                        },
                        "description": "Unsubscribe for good, taking the delivery history with it"
                    }
                },
                {
                    "name": "Rotate secret",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/webhooks/:webhookEndpoint/rotate-secret",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "webhooks",
                                ":webhookEndpoint",
                                "rotate-secret"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpoint",
                                    "value": "{{webhookEndpoint}}"
                                }
                            ]
                        },
                        "description": "Replace the signing secret, returning the new one once. The old one stops verifying immediately — rotate when it has leaked, not on a schedule",
                        "body": {
                            "mode": "raw",
                            "raw": "{}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                },
                {
                    "name": "Test",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/webhooks/:webhookEndpoint/test",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "webhooks",
                                ":webhookEndpoint",
                                "test"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpoint",
                                    "value": "{{webhookEndpoint}}"
                                }
                            ]
                        },
                        "description": "Send the receiver a signed `webhook.ping` now and answer with what it did. Nothing is logged and the failure streak is untouched: a test is for whoever is looking at the result",
                        "body": {
                            "mode": "raw",
                            "raw": "{}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                }
            ]
        }
    ]
}
