# Launch a vendor demo game (play money) ```http POST https://api.onehazel.com/onehazel-api/embed/v1/{operatorId}/demo-launch ``` Unauthenticated and open to any origin. Body: `{ "key": "", "game_code": "", "language": "en", "client_type": "DESKTOP" | "MOBILE" }` (`language` and `client_type` are optional). Returns `{ "game_url": "" }` for a vendor the operator has demo-activated. It moves no money, calls no wallet and needs no player. Errors use the flat `{ code, message, retryable }` envelope: 400 `invalid_request`, 404 `game_unknown` (no activation, or no usable demo launch) and 404 `unavailable` while OneHazel Surfaces is not enabled. Rate limited per client IP. Section: [Surfaces](./) Operation id: `postEmbedV1ByOperatorIdDemoLaunch` ## Authentication No authentication. ## Parameters | Name | In | Required | Description | |---|---|---|---| | `operatorId` | path | yes | | ## Request body JSON object. ## Responses `200` `{ "success": true, "data": ... }` Errors return `{ "success": false, "error": { "code": "...", "message": "..." } }` with a 4xx or 5xx status. ## Example ```bash curl -X POST "https://api.onehazel.com/onehazel-api/embed/v1/{operatorId}/demo-launch" \ -H "Content-Type: application/json" \ -d '{}' ``` Machine-readable: [openapi.yaml](/openapi.yaml), [openapi.json](/openapi.json).