{
  "info": {
    "name": "odss-api",
    "description": "Quote sportive dei bookmaker italiani ADM (più bet365, Betfair Exchange, Pinnacle). Imposta la variabile di collezione `api_key` con la tua chiave odss_live_… (Variables). Base URL: https://odss-api.com/api/v1. Contratto: https://odss-api.com/openapi.json",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://odss-api.com/api/v1",
      "type": "string"
    },
    {
      "key": "api_key",
      "value": "odss_live_...",
      "type": "string"
    }
  ],
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "key",
        "value": "x-api-key",
        "type": "string"
      },
      {
        "key": "value",
        "value": "{{api_key}}",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "item": [
    {
      "name": "Odds — cross-book",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/odds?sport=calcio&league=serie a&limit=5",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "odds"
          ],
          "query": [
            {
              "key": "sport",
              "value": "calcio"
            },
            {
              "key": "league",
              "value": "serie a"
            },
            {
              "key": "market",
              "value": "1x2",
              "disabled": true
            },
            {
              "key": "bookmakers",
              "value": "snai,bet365",
              "disabled": true
            },
            {
              "key": "event_id",
              "value": "",
              "disabled": true
            },
            {
              "key": "state",
              "value": "prematch",
              "disabled": true
            },
            {
              "key": "limit",
              "value": "5"
            },
            {
              "key": "offset",
              "value": "0",
              "disabled": true
            }
          ]
        },
        "description": "Quote cross-book per evento/mercato. Paginazione: ripeti con offset finché offset+returned < count. Aggiungi state=live per le quote in-play (score+minuto), state=all per entrambe."
      }
    },
    {
      "name": "Odds — live in-play",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/odds?state=live&sport=calcio&limit=5",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "odds"
          ],
          "query": [
            {
              "key": "state",
              "value": "live"
            },
            {
              "key": "sport",
              "value": "calcio"
            },
            {
              "key": "limit",
              "value": "5"
            }
          ]
        },
        "description": "Quote IN-PLAY: ogni record ha state=live, score e minute correnti. Se il motore live non è attivo la lista è vuota e live_enabled=false."
      }
    },
    {
      "name": "Sports",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/sports",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "sports"
          ]
        },
        "description": "Sport disponibili nel feed."
      }
    },
    {
      "name": "Bookmakers",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/bookmakers",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "bookmakers"
          ]
        },
        "description": "Book attivi con country, playable_it, is_exchange."
      }
    },
    {
      "name": "Leagues (pubblico)",
      "request": {
        "auth": {
          "type": "noauth"
        },
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/leagues",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "leagues"
          ]
        },
        "description": "Palinsesto: sport → leghe con conteggi. Senza chiave."
      }
    },
    {
      "name": "MCP — tools/call get_odds",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "content-type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "https://odss-api.com/api/mcp",
          "protocol": "https",
          "host": [
            "odss-api",
            "com"
          ],
          "path": [
            "api",
            "mcp"
          ]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"tools/call\",\n  \"params\": { \"name\": \"get_odds\", \"arguments\": { \"sport\": \"calcio\", \"state\": \"live\", \"limit\": 5 } }\n}"
        },
        "description": "Server MCP (JSON-RPC 2.0). Stessa chiave: l'auth della collezione manda x-api-key (accettato); in alternativa Authorization: Bearer odss_live_…. Solo tools/call consuma quota; initialize/tools/list sono gratis."
      }
    },
    {
      "name": "Coverage (pubblico)",
      "request": {
        "auth": {
          "type": "noauth"
        },
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/coverage",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "coverage"
          ]
        },
        "description": "Conteggio catalogo book per regione. Senza chiave."
      }
    },
    {
      "name": "Status (pubblico)",
      "request": {
        "method": "GET",
        "auth": {
          "type": "noauth"
        },
        "url": {
          "raw": "{{base_url}}/api/v1/status",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "v1",
            "status"
          ]
        },
        "description": "Stato operativo + distribuzione REALE della freschezza (per book: freschezza attuale, p50/p95 su 24h, ok/errore). Pubblico, senza chiave. Vista umana su /status."
      }
    }
  ]
}