{
  "info": {
    "_postman_id": "a7d85c0d-154f-4d6a-b9ce-bca9844c2cf2",
    "name": "WagerKit API",
    "description": "Postman collection for the WagerKit production API surface: markets, odds, history, integrity, dossiers, alerts, webhooks, API keys, and paper replay.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "baseUrl", "value": "https://api.wagerkit.xyz" },
    { "key": "apiKey", "value": "wk_your_api_key_here" },
    { "key": "jwt", "value": "your_jwt_here" },
    { "key": "marketId", "value": "mkt_odds_628945" },
    { "key": "sourceId", "value": "source_kalshi" },
    { "key": "webhookId", "value": "wh_your_webhook_id" },
    { "key": "idempotencyKey", "value": "11111111-1111-1111-1111-111111111111" }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [
      { "key": "token", "value": "{{apiKey}}", "type": "string" }
    ]
  },
  "item": [
    {
      "name": "Markets",
      "item": [
        {
          "name": "List markets",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/markets?limit=10&offset=0",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "markets"],
              "query": [
                { "key": "limit", "value": "10" },
                { "key": "offset", "value": "0" }
              ]
            }
          }
        },
        {
          "name": "Get market detail",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/markets/{{marketId}}",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "markets", "{{marketId}}"]
            }
          }
        },
        {
          "name": "Simulate divergence",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"delta_pct\": 7.4,\n  \"z_score\": 2.8\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/markets/{{marketId}}/simulate-divergence",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "markets", "{{marketId}}", "simulate-divergence"]
            }
          }
        }
      ]
    },
    {
      "name": "Odds And Integrity",
      "item": [
        {
          "name": "Get odds",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/odds?market_id={{marketId}}",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "odds"],
              "query": [
                { "key": "market_id", "value": "{{marketId}}" }
              ]
            }
          }
        },
        {
          "name": "Get history",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/history?market_id={{marketId}}&from=1772776800&to=1772863200&bucket=1h",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "history"],
              "query": [
                { "key": "market_id", "value": "{{marketId}}" },
                { "key": "from", "value": "1772776800" },
                { "key": "to", "value": "1772863200" },
                { "key": "bucket", "value": "1h" }
              ]
            }
          }
        },
        {
          "name": "Get integrity",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/integrity?market_id={{marketId}}",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "integrity"],
              "query": [
                { "key": "market_id", "value": "{{marketId}}" }
              ]
            }
          }
        },
        {
          "name": "List alerts",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/alerts?limit=10&offset=0",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "alerts"],
              "query": [
                { "key": "limit", "value": "10" },
                { "key": "offset", "value": "0" }
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Dossiers",
      "item": [
        {
          "name": "Check dossier exists",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/dossier/exists?market_id={{marketId}}",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "dossier", "exists"],
              "query": [
                { "key": "market_id", "value": "{{marketId}}" }
              ]
            }
          }
        },
        {
          "name": "Get dossier JSON",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/dossier?market_id={{marketId}}&format=json",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "dossier"],
              "query": [
                { "key": "market_id", "value": "{{marketId}}" },
                { "key": "format", "value": "json" }
              ]
            }
          }
        },
        {
          "name": "Get dossier PDF",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/dossier?market_id={{marketId}}&format=pdf",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "dossier"],
              "query": [
                { "key": "market_id", "value": "{{marketId}}" },
                { "key": "format", "value": "pdf" }
              ]
            }
          }
        },
        {
          "name": "Generate dossier",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/dossier/generate?market_id={{marketId}}",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "dossier", "generate"],
              "query": [
                { "key": "market_id", "value": "{{marketId}}" }
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Paper Mode",
      "item": [
        {
          "name": "Queue replay job",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Idempotency-Key", "value": "{{idempotencyKey}}" }
            ],
            "body": {
              "mode": "formdata",
              "formdata": [
                { "key": "file", "type": "file", "src": "" },
                { "key": "market_id", "value": "{{marketId}}", "type": "text" },
                { "key": "source_id", "value": "{{sourceId}}", "type": "text" },
                { "key": "speed_multiplier", "value": "1000", "type": "text" }
              ]
            },
            "url": {
              "raw": "{{baseUrl}}/v1/paper/replay",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "paper", "replay"]
            }
          }
        }
      ]
    },
    {
      "name": "Account Management",
      "auth": {
        "type": "bearer",
        "bearer": [
          { "key": "token", "value": "{{jwt}}", "type": "string" }
        ]
      },
      "item": [
        {
          "name": "Get current user",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/auth/me",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "auth", "me"]
            }
          }
        },
        {
          "name": "Create API key",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"expires_in_days\": 365\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/api-keys",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "api-keys"]
            }
          }
        },
        {
          "name": "List webhooks",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/webhooks",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "webhooks"]
            }
          }
        },
        {
          "name": "Create webhook",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Idempotency-Key", "value": "{{idempotencyKey}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://example.com/webhook\",\n  \"secret\": \"your-signing-secret\",\n  \"event_type\": \"divergence.triggered\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/webhooks",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "webhooks"]
            }
          }
        },
        {
          "name": "Send webhook test payload",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/webhooks/{{webhookId}}/test",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "webhooks", "{{webhookId}}", "test"]
            }
          }
        }
      ]
    }
  ]
}
