{
  "info": {
    "_postman_id": "euro365-api-v1-public",
    "name": "Euro365 Sportsbook API",
    "description": "Real-time sports betting odds, prematch & live events, scores, and a drop-in widget across 25 sports and 4,800+ markets.\n\nGet a free API key at https://api.euro365.bet/portal?register=1 — 100 req/min free, 3,000 req/min on Pro.\n\nPaste your key into the `apiKey` collection variable to run any request.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      { "key": "key", "value": "x-api-key", "type": "string" },
      { "key": "value", "value": "{{apiKey}}", "type": "string" },
      { "key": "in", "value": "header", "type": "string" }
    ]
  },
  "variable": [
    { "key": "baseUrl", "value": "https://api.euro365.bet", "type": "string" },
    { "key": "apiKey",  "value": "ek_YOUR_KEY_HERE",        "type": "string" }
  ],
  "item": [
    {
      "name": "Catalog",
      "item": [
        {
          "name": "List sports",
          "request": {
            "method": "GET",
            "url": { "raw": "{{baseUrl}}/v1/sports", "host": ["{{baseUrl}}"], "path": ["v1","sports"] },
            "description": "Returns all 25 sports with their live and prematch event counts."
          }
        },
        {
          "name": "Markets catalog (full)",
          "request": {
            "method": "GET",
            "url": { "raw": "{{baseUrl}}/v1/markets?sport=1&nested=1", "host": ["{{baseUrl}}"], "path": ["v1","markets"], "query": [
              { "key": "sport", "value": "1" },
              { "key": "nested", "value": "1" }
            ] },
            "description": "Friendly-named markets for sport 1 (Soccer), nested by group with outcomes."
          }
        },
        {
          "name": "Market groups for a sport",
          "request": {
            "method": "GET",
            "url": { "raw": "{{baseUrl}}/v1/market-groups?sport=1", "host": ["{{baseUrl}}"], "path": ["v1","market-groups"], "query": [
              { "key": "sport", "value": "1" }
            ] }
          }
        }
      ]
    },
    {
      "name": "Events",
      "item": [
        {
          "name": "Prematch — Soccer (limit 5)",
          "request": {
            "method": "GET",
            "url": { "raw": "{{baseUrl}}/v1/prematch?sport=1&limit=5", "host": ["{{baseUrl}}"], "path": ["v1","prematch"], "query": [
              { "key": "sport", "value": "1" },
              { "key": "limit", "value": "5" }
            ] }
          }
        },
        {
          "name": "Live — Tennis",
          "request": {
            "method": "GET",
            "url": { "raw": "{{baseUrl}}/v1/live?sport=5&limit=10", "host": ["{{baseUrl}}"], "path": ["v1","live"], "query": [
              { "key": "sport", "value": "5" },
              { "key": "limit", "value": "10" }
            ] }
          }
        },
        {
          "name": "Single event lookup",
          "request": {
            "method": "GET",
            "url": { "raw": "{{baseUrl}}/v1/event?id=s5-18938270", "host": ["{{baseUrl}}"], "path": ["v1","event"], "query": [
              { "key": "id", "value": "s5-18938270" }
            ] }
          }
        }
      ]
    },
    {
      "name": "Odds",
      "item": [
        {
          "name": "Odds for one or more event keys",
          "request": {
            "method": "GET",
            "url": { "raw": "{{baseUrl}}/v1/odds?ids=s5_p18938270,s5_p18932047", "host": ["{{baseUrl}}"], "path": ["v1","odds"], "query": [
              { "key": "ids", "value": "s5_p18938270,s5_p18932047" }
            ] },
            "description": "Odds payload — values are scaled integers; divide by 1000 for decimal odds."
          }
        },
        {
          "name": "Batch read via /rdstn",
          "request": {
            "method": "POST",
            "url": { "raw": "{{baseUrl}}/rdstn", "host": ["{{baseUrl}}"], "path": ["rdstn"] },
            "header": [ { "key": "Content-Type", "value": "application/json" } ],
            "body": {
              "mode": "raw",
              "raw": "[[\"ga\", [\"s5_p18938270\", \"s5_p18932047\"]]]"
            }
          }
        }
      ]
    },
    {
      "name": "Scores & Status",
      "item": [
        {
          "name": "Scores",
          "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/v1/scores", "host": ["{{baseUrl}}"], "path": ["v1","scores"] } }
        },
        {
          "name": "Service status",
          "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/v1/status", "host": ["{{baseUrl}}"], "path": ["v1","status"] } }
        }
      ]
    },
    {
      "name": "Settlements",
      "item": [
        {
          "name": "Settlement for one ended event",
          "request": {
            "method": "GET",
            "url": { "raw": "{{baseUrl}}/v1/settlements?ids=s2-43.134044570", "host": ["{{baseUrl}}"], "path": ["v1","settlements"], "query": [
              { "key": "ids", "value": "s2-43.134044570" }
            ] },
            "description": "Per-outcome win/lose/void/pending for an ended event. Each market is keyed by id, each line by line-key (s, s2.5, s+0.5, etc), each outcome by id with { name, result, reason? }. Tip: pick a fresh ended id from /v1/scores where status === 'ended'. Binding rules: https://api.euro365.bet/docs/#settlement-policy"
          }
        },
        {
          "name": "Settlement batch (multiple events)",
          "request": {
            "method": "GET",
            "url": { "raw": "{{baseUrl}}/v1/settlements?ids=s2-43.134044570,s5-18665389", "host": ["{{baseUrl}}"], "path": ["v1","settlements"], "query": [
              { "key": "ids", "value": "s2-43.134044570,s5-18665389" }
            ] },
            "description": "Up to 100 ids per call. Events that have not yet ended return { error: 'event has not ended' } with their current score."
          }
        }
      ]
    }
  ]
}
