{
  "info": {
    "name": "PokerWorks Management API",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "Generated from contracts/public/management-api.openapi.json. Management tokens are server-side control-plane credentials."
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{managementToken}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.pokerworks.io",
      "type": "string",
      "description": "PokerWorks API origin."
    },
    {
      "key": "managementToken",
      "value": "pw_mgmt_replace_with_your_management_token",
      "type": "string",
      "description": "Server-side PokerWorks management token. Never expose it to browsers or mobile apps."
    }
  ],
  "item": [
    {
      "name": "Audit",
      "item": [
        {
          "name": "List audit events",
          "description": "Read audit events using a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/audit-events?targetType={{targetType}}&limit={{limit}}&before={{before}}&actorType={{actorType}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "audit-events"],
              "query": [
                {
                  "key": "targetType",
                  "value": "{{targetType}}",
                  "description": "Parameter `targetType`."
                },
                {
                  "key": "limit",
                  "value": "{{limit}}",
                  "description": "Parameter `limit`."
                },
                {
                  "key": "before",
                  "value": "{{before}}",
                  "description": "Parameter `before`."
                },
                {
                  "key": "actorType",
                  "value": "{{actorType}}",
                  "description": "Parameter `actorType`."
                }
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Billing",
      "item": [
        {
          "name": "Get billing summary",
          "description": "Read billing wallet state visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/billing",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "billing"]
            }
          }
        }
      ]
    },
    {
      "name": "Embeds",
      "item": [
        {
          "name": "Open embed session",
          "description": "Open a short-lived public spectator embed session",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"launchSecret\": \"{{launchSecret}}\",\n  \"origin\": \"{{origin}}\",\n  \"tableId\": \"{{tableId}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/embed-sessions/{{embedSessionId}}/open",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "embed-sessions", "{{embedSessionId}}", "open"]
            }
          }
        },
        {
          "name": "List embed products",
          "description": "List approved embed products visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/embed-products",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "embed-products"]
            }
          }
        },
        {
          "name": "Create embed session",
          "description": "Create a short-lived spectator embed session",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"environment\": \"test\",\n  \"mode\": \"spectator\",\n  \"origin\": \"{{origin}}\",\n  \"productKey\": \"{{productKey}}\",\n  \"projectId\": \"{{projectId}}\",\n  \"target\": {\n    \"kind\": \"public_ring_product\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/embed-sessions",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "embed-sessions"]
            }
          }
        },
        {
          "name": "Get embed session",
          "description": "Read an embed session visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/embed-sessions/{{embedSessionId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "embed-sessions", "{{embedSessionId}}"]
            }
          }
        }
      ]
    },
    {
      "name": "Organization",
      "item": [
        {
          "name": "Get organization",
          "description": "Resolve organization state for an authenticated management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/organization",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "organization"]
            }
          }
        }
      ]
    },
    {
      "name": "Playground",
      "item": [
        {
          "name": "Emit playground tournament completion",
          "description": "Creates a test-mode tournament.completed webhook for a frozen synthetic playground fixture, queues signed webhook deliveries, and returns the matching result/proof DTO. When tournament is supplied, the management token must also have tournaments:update; the playground output is attached to that published or scheduled test tournament and the response includes the updated tournament result/proof link.",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"{{projectId}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/playground/tournament-completion",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "playground", "tournament-completion"]
            }
          }
        }
      ]
    },
    {
      "name": "Product keys",
      "item": [
        {
          "name": "List product keys",
          "description": "List product API keys visible to an authenticated management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/product-keys",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "product-keys"]
            }
          }
        },
        {
          "name": "Create product key",
          "description": "Create a reveal-once product API key using a management token",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"environment\": \"test\",\n  \"label\": \"{{label}}\",\n  \"projectId\": \"{{projectId}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/product-keys",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "product-keys"]
            }
          }
        },
        {
          "name": "Revoke product key",
          "description": "Revoke a product API key using a management token",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/product-keys/{{keyId}}/revoke",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "product-keys", "{{keyId}}", "revoke"]
            }
          }
        }
      ]
    },
    {
      "name": "Projects",
      "item": [
        {
          "name": "List projects",
          "description": "List projects visible to an authenticated management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/projects",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "projects"]
            }
          }
        },
        {
          "name": "Create project",
          "description": "Create a project using an authenticated management token",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"{{name}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/projects",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "projects"]
            }
          }
        },
        {
          "name": "Update project",
          "description": "Update a project using an authenticated management token",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"allowedOrigins\": [\n    \"{{allowedOrigins}}\"\n  ],\n  \"name\": \"{{name}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/projects/{{projectId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "projects", "{{projectId}}"]
            }
          }
        }
      ]
    },
    {
      "name": "Rooms",
      "item": [
        {
          "name": "List rooms",
          "description": "List Rooms visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/rooms?limit={{limit}}&status={{status}}&projectId={{projectId}}&environment={{environment}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "rooms"],
              "query": [
                {
                  "key": "limit",
                  "value": "{{limit}}",
                  "description": "Parameter `limit`."
                },
                {
                  "key": "status",
                  "value": "{{status}}",
                  "description": "Parameter `status`."
                },
                {
                  "key": "projectId",
                  "value": "{{projectId}}",
                  "description": "Parameter `projectId`."
                },
                {
                  "key": "environment",
                  "value": "{{environment}}",
                  "description": "Parameter `environment`."
                }
              ]
            }
          }
        },
        {
          "name": "Create room",
          "description": "Create or select a Room for a project environment",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"environment\": \"test\",\n  \"name\": \"{{name}}\",\n  \"projectId\": \"{{projectId}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/rooms",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "rooms"]
            }
          }
        },
        {
          "name": "Get room",
          "description": "Read a Room visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/rooms/{{roomId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "rooms", "{{roomId}}"]
            }
          }
        },
        {
          "name": "Update room",
          "description": "Update a Room using an authenticated management token",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"allowedOrigins\": [\n    \"{{allowedOrigins}}\"\n  ],\n  \"branding\": {\n    \"accentColor\": \"{{accentColor}}\",\n    \"displayName\": \"{{displayName}}\",\n    \"logoUrl\": \"https://example.com/webhooks/pokerworks\"\n  },\n  \"name\": \"{{name}}\",\n  \"slug\": \"{{slug}}\",\n  \"trustMode\": \"human_only\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/rooms/{{roomId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "rooms", "{{roomId}}"]
            }
          }
        },
        {
          "name": "Archive room",
          "description": "Archive a Room using an authenticated management token",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/rooms/{{roomId}}/archive",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "rooms", "{{roomId}}", "archive"]
            }
          }
        },
        {
          "name": "List room leaderboards",
          "description": "List public-safe leaderboards for a Room visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/rooms/{{roomId}}/leaderboards",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "rooms", "{{roomId}}", "leaderboards"]
            }
          }
        },
        {
          "name": "Get room leaderboard",
          "description": "Read a public-safe Room leaderboard visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/rooms/{{roomId}}/leaderboards/{{leaderboardId}}?pageSize={{pageSize}}&page={{page}}",
              "host": ["{{baseUrl}}"],
              "path": [
                "api",
                "v1",
                "management",
                "rooms",
                "{{roomId}}",
                "leaderboards",
                "{{leaderboardId}}"
              ],
              "query": [
                {
                  "key": "pageSize",
                  "value": "{{pageSize}}",
                  "description": "Parameter `pageSize`."
                },
                {
                  "key": "page",
                  "value": "{{page}}",
                  "description": "Parameter `page`."
                }
              ]
            }
          }
        },
        {
          "name": "List room members",
          "description": "List public-safe members for a Room visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/rooms/{{roomId}}/members?limit={{limit}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "rooms", "{{roomId}}", "members"],
              "query": [
                {
                  "key": "limit",
                  "value": "{{limit}}",
                  "description": "Parameter `limit`."
                }
              ]
            }
          }
        },
        {
          "name": "List room ring games",
          "description": "List public-safe ring games for a Room visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/rooms/{{roomId}}/ring-games?status={{status}}&limit={{limit}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "rooms", "{{roomId}}", "ring-games"],
              "query": [
                {
                  "key": "status",
                  "value": "{{status}}",
                  "description": "Parameter `status`."
                },
                {
                  "key": "limit",
                  "value": "{{limit}}",
                  "description": "Parameter `limit`."
                }
              ]
            }
          }
        },
        {
          "name": "Get room ring game",
          "description": "Read a public-safe Room ring game visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/rooms/{{roomId}}/ring-games/{{ringGameId}}",
              "host": ["{{baseUrl}}"],
              "path": [
                "api",
                "v1",
                "management",
                "rooms",
                "{{roomId}}",
                "ring-games",
                "{{ringGameId}}"
              ]
            }
          }
        },
        {
          "name": "Get room summary",
          "description": "Read a public-safe Room summary for a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/rooms/{{roomId}}/summary",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "rooms", "{{roomId}}", "summary"]
            }
          }
        }
      ]
    },
    {
      "name": "Tournament catalog",
      "item": [
        {
          "name": "List blind structures",
          "description": "List approved blind structures",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/blind-structures",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "blind-structures"]
            }
          }
        },
        {
          "name": "Create blind structure",
          "description": "Create a room-owned blind structure",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"levels\": [\n    {\n      \"ante\": 0,\n      \"bigBlind\": 1,\n      \"durationMinutes\": 1,\n      \"levelNumber\": 1,\n      \"smallBlind\": 1\n    }\n  ],\n  \"name\": \"{{name}}\",\n  \"roomId\": \"{{roomId}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/blind-structures",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "blind-structures"]
            }
          }
        },
        {
          "name": "Get blind structure",
          "description": "Get an approved blind structure",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/blind-structures/{{blindStructureId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "blind-structures", "{{blindStructureId}}"]
            }
          }
        },
        {
          "name": "Update blind structure",
          "description": "Update a room-owned blind structure",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"estimatedDurationMinutes\": null,\n  \"levels\": [\n    {\n      \"ante\": 0,\n      \"bigBlind\": 1,\n      \"durationMinutes\": 1,\n      \"levelNumber\": 1,\n      \"smallBlind\": 1\n    }\n  ],\n  \"name\": \"{{name}}\",\n  \"provenance\": {\n    \"checksum\": \"{{checksum}}\",\n    \"exportedAt\": \"2026-06-07T09:00:00.000Z\",\n    \"referenceId\": \"{{referenceId}}\",\n    \"source\": \"manual\",\n    \"sourceVersion\": \"{{sourceVersion}}\",\n    \"tool\": \"unknown\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/blind-structures/{{blindStructureId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "blind-structures", "{{blindStructureId}}"]
            }
          }
        },
        {
          "name": "List payout structures",
          "description": "List approved payout structures",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/payout-structures",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "payout-structures"]
            }
          }
        },
        {
          "name": "Create payout structure",
          "description": "Create a room-owned payout structure",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"entries\": [\n    {\n      \"payoutPercent\": 1,\n      \"position\": 1\n    }\n  ],\n  \"maxPlayers\": 2,\n  \"minPlayers\": 1,\n  \"name\": \"{{name}}\",\n  \"roomId\": \"{{roomId}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/payout-structures",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "payout-structures"]
            }
          }
        },
        {
          "name": "Get payout structure",
          "description": "Get an approved payout structure",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/payout-structures/{{payoutStructureId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "payout-structures", "{{payoutStructureId}}"]
            }
          }
        },
        {
          "name": "Update payout structure",
          "description": "Update a room-owned payout structure",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"entries\": [\n    {\n      \"payoutPercent\": 1,\n      \"position\": 1\n    }\n  ],\n  \"maxPlayers\": 2,\n  \"minPlayers\": 1,\n  \"name\": \"{{name}}\",\n  \"provenance\": {\n    \"checksum\": \"{{checksum}}\",\n    \"exportedAt\": \"2026-06-07T09:00:00.000Z\",\n    \"referenceId\": \"{{referenceId}}\",\n    \"source\": \"manual\",\n    \"sourceVersion\": \"{{sourceVersion}}\",\n    \"tool\": \"unknown\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/payout-structures/{{payoutStructureId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "payout-structures", "{{payoutStructureId}}"]
            }
          }
        },
        {
          "name": "List approved tournament catalog",
          "description": "List approved tournament catalog",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournament-catalog",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournament-catalog"]
            }
          }
        },
        {
          "name": "List tournament presets",
          "description": "List approved tournament presets",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournament-presets",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournament-presets"]
            }
          }
        },
        {
          "name": "Get tournament preset",
          "description": "Get an approved tournament preset",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournament-presets/{{presetKey}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournament-presets", "{{presetKey}}"]
            }
          }
        }
      ]
    },
    {
      "name": "Tournament results & verification",
      "item": [
        {
          "name": "Get tournament results",
          "description": "Read projection-backed tournament results",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournaments/{{tournamentId}}/results",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournaments", "{{tournamentId}}", "results"]
            }
          }
        },
        {
          "name": "Export tournament results proof",
          "description": "Export a tamper-evident tournament results proof envelope",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournaments/{{tournamentId}}/results/export",
              "host": ["{{baseUrl}}"],
              "path": [
                "api",
                "v1",
                "management",
                "tournaments",
                "{{tournamentId}}",
                "results",
                "export"
              ]
            }
          }
        },
        {
          "name": "Verify tournament result export",
          "description": "Checks a saved result/proof export envelope without requiring a live management token. The verifier checks the envelope schema, canonicalization metadata, SHA-256 digest consistency, deterministic resultProofId, tournament completion summary, integrity summary, and projection evidence. It does not refetch live game state or authenticate unsigned exports.",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"envelope\": \"{{envelope}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/public/tournament-results/verify",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "public", "tournament-results", "verify"]
            }
          }
        },
        {
          "name": "Get public tournament results",
          "description": "Read public tournament results",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/public/tournaments/{{tournamentId}}/results",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "public", "tournaments", "{{tournamentId}}", "results"]
            }
          }
        },
        {
          "name": "Export public tournament results proof",
          "description": "Export a public tournament results proof envelope",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/public/tournaments/{{tournamentId}}/results/export",
              "host": ["{{baseUrl}}"],
              "path": [
                "api",
                "v1",
                "public",
                "tournaments",
                "{{tournamentId}}",
                "results",
                "export"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Tournaments",
      "item": [
        {
          "name": "List tournaments",
          "description": "List tournaments for a Room",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournaments?limit={{limit}}&status={{status}}&roomId={{roomId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournaments"],
              "query": [
                {
                  "key": "limit",
                  "value": "{{limit}}",
                  "description": "Parameter `limit`."
                },
                {
                  "key": "status",
                  "value": "{{status}}",
                  "description": "Parameter `status`."
                },
                {
                  "key": "roomId",
                  "value": "{{roomId}}",
                  "description": "Parameter `roomId`."
                }
              ]
            }
          }
        },
        {
          "name": "Create tournament",
          "description": "Create a tournament from an approved preset",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"{{name}}\",\n  \"presetKey\": \"scheduled_mtt_nlhe_v1\",\n  \"roomId\": \"{{roomId}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournaments",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournaments"]
            }
          }
        },
        {
          "name": "Get tournament",
          "description": "Read a tournament",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournaments/{{tournamentId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournaments", "{{tournamentId}}"]
            }
          }
        },
        {
          "name": "Update tournament",
          "description": "Update safe draft or scheduled fields for a tournament",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"{{name}}\",\n  \"schedule\": {\n    \"startsAt\": \"2026-06-07T09:00:00.000Z\"\n  },\n  \"trustMode\": \"human_only\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournaments/{{tournamentId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournaments", "{{tournamentId}}"]
            }
          }
        },
        {
          "name": "Archive tournament",
          "description": "Archive a draft or cancelled tournament",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournaments/{{tournamentId}}/archive",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournaments", "{{tournamentId}}", "archive"]
            }
          }
        },
        {
          "name": "Cancel tournament",
          "description": "Cancel a tournament",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"{{reason}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournaments/{{tournamentId}}/cancel",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournaments", "{{tournamentId}}", "cancel"]
            }
          }
        },
        {
          "name": "List tournament entries",
          "description": "List public-safe entries for a tournament",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournaments/{{tournamentId}}/entries?limit={{limit}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournaments", "{{tournamentId}}", "entries"],
              "query": [
                {
                  "key": "limit",
                  "value": "{{limit}}",
                  "description": "Parameter `limit`."
                }
              ]
            }
          }
        },
        {
          "name": "Publish tournament",
          "description": "Publish or schedule a tournament in test mode",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"schedule\": {\n    \"startsAt\": \"2026-06-07T09:00:00.000Z\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/tournaments/{{tournamentId}}/publish",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "tournaments", "{{tournamentId}}", "publish"]
            }
          }
        }
      ]
    },
    {
      "name": "Usage",
      "item": [
        {
          "name": "Get usage",
          "description": "Read usage visible to an authenticated management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/usage?projectId={{projectId}}&limit={{limit}}&environment={{environment}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "usage"],
              "query": [
                {
                  "key": "projectId",
                  "value": "{{projectId}}",
                  "description": "Parameter `projectId`."
                },
                {
                  "key": "limit",
                  "value": "{{limit}}",
                  "description": "Parameter `limit`."
                },
                {
                  "key": "environment",
                  "value": "{{environment}}",
                  "description": "Parameter `environment`."
                }
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Webhooks",
      "item": [
        {
          "name": "List webhook deliveries",
          "description": "List webhook delivery attempts visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/webhook-deliveries",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "webhook-deliveries"]
            }
          }
        },
        {
          "name": "Replay webhook delivery",
          "description": "Replay a webhook delivery using the current endpoint secret",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/webhook-deliveries/{{deliveryId}}/replay",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "webhook-deliveries", "{{deliveryId}}", "replay"]
            }
          }
        },
        {
          "name": "List webhook endpoints",
          "description": "List webhook endpoints visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/webhook-endpoints",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "webhook-endpoints"]
            }
          }
        },
        {
          "name": "Create webhook endpoint",
          "description": "Create a reveal-once webhook endpoint signing secret",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"environment\": \"test\",\n  \"eventTypes\": [\n    \"tournament.completed\"\n  ],\n  \"label\": \"{{label}}\",\n  \"projectId\": \"{{projectId}}\",\n  \"url\": \"https://example.com/webhooks/pokerworks\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/webhook-endpoints",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "webhook-endpoints"]
            }
          }
        },
        {
          "name": "Delete webhook endpoint",
          "description": "Delete a webhook endpoint without removing delivery evidence",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/webhook-endpoints/{{endpointId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "webhook-endpoints", "{{endpointId}}"]
            }
          }
        },
        {
          "name": "Get webhook endpoint",
          "description": "Read a webhook endpoint visible to a management token",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/webhook-endpoints/{{endpointId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "webhook-endpoints", "{{endpointId}}"]
            }
          }
        },
        {
          "name": "Update webhook endpoint",
          "description": "Update and verify a webhook endpoint",
          "request": {
            "body": {
              "mode": "raw",
              "raw": "{\n  \"eventTypes\": [\n    \"tournament.completed\"\n  ],\n  \"label\": \"{{label}}\",\n  \"status\": \"active\",\n  \"url\": \"https://example.com/webhooks/pokerworks\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/webhook-endpoints/{{endpointId}}",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "management", "webhook-endpoints", "{{endpointId}}"]
            }
          }
        },
        {
          "name": "Rotate webhook endpoint secret",
          "description": "Rotate a webhook endpoint signing secret",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/management/webhook-endpoints/{{endpointId}}/rotate-secret",
              "host": ["{{baseUrl}}"],
              "path": [
                "api",
                "v1",
                "management",
                "webhook-endpoints",
                "{{endpointId}}",
                "rotate-secret"
              ]
            }
          }
        }
      ]
    }
  ]
}
