{"openapi": "3.0.0", "info": {"title": "dimond-api.xyz", "version": "1.0.0", "description": "Diamond-compatible Sports + Casino + Results API"}, "servers": [{"url": "https://dimond-api.xyz", "description": "Production"}, {"url": "/", "description": "Same origin"}], "components": {"securitySchemes": {"ApiKeyAuth": {"type": "apiKey", "in": "query", "name": "key", "description": "Client API key (query string)"}}}, "security": [{"ApiKeyAuth": []}], "paths": {"/treedata": {"get": {"tags": ["Home"], "summary": "Tree Data", "description": "All sports categories / tree structure.", "responses": {"200": {"description": "Tree data with all sports categories"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/welcomebanners": {"get": {"tags": ["Home"], "summary": "Welcome Banners", "responses": {"200": {"description": "Welcome banners"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/get_latest_events": {"get": {"tags": ["Home"], "summary": "Latest Events", "responses": {"200": {"description": "Latest events"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/buttonlist": {"get": {"tags": ["Home"], "summary": "Button List", "responses": {"200": {"description": "Button list"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/buttonlistcs": {"get": {"tags": ["Home"], "summary": "Button List CS", "responses": {"200": {"description": "Button list CS"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/highlightproduct": {"get": {"tags": ["Home"], "summary": "Highlight Product", "responses": {"200": {"description": "Highlight product"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/highlighthomePrivate": {"get": {"tags": ["Sports"], "summary": "Highlight Home Private", "description": "In-play / highlight list for a sport. Example: `etid=4` cricket.", "parameters": [{"name": "etid", "in": "query", "required": true, "schema": {"type": "string", "example": "4"}, "description": "Event Type ID"}], "responses": {"200": {"description": "Highlight home data"}, "400": {"description": "etid required"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/gamedetailPrivate": {"get": {"tags": ["Sports"], "summary": "Game Detail Private", "parameters": [{"name": "gmid", "in": "query", "required": true, "schema": {"type": "string"}, "description": "Game Match ID"}, {"name": "etid", "in": "query", "required": true, "schema": {"type": "string", "example": "4"}, "description": "Event Type ID"}], "responses": {"200": {"description": "Game detail"}, "400": {"description": "gmid and etid required"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/gamedataPrivate": {"get": {"tags": ["Sports"], "summary": "Game Data Private", "description": "Live odds and markets for a match. Poll every 1–3s in production.", "parameters": [{"name": "gmid", "in": "query", "required": true, "schema": {"type": "string"}, "description": "Game Match ID"}, {"name": "etid", "in": "query", "required": true, "schema": {"type": "string", "example": "4"}, "description": "Event Type ID"}], "responses": {"200": {"description": "Game data with odds and markets"}, "400": {"description": "gmid and etid required"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/sports_stream": {"get": {"tags": ["Sports"], "summary": "Sports Live Stream", "parameters": [{"name": "id", "in": "query", "required": true, "schema": {"type": "string"}, "description": "Stream ID"}], "responses": {"200": {"description": "Sports stream URL"}, "400": {"description": "id required"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/scorecard": {"get": {"tags": ["Sports"], "summary": "Game Scorecard JSON", "description": "Full scorecard JSON for one match. Same fields as the scorecard service: ok, sid, gameid, and the scorecard object (header, gtv, graphic, teams, score). Also returns view, the path of the picture endpoint.", "parameters": [{"name": "etid", "in": "query", "required": true, "schema": {"type": "string", "example": "4"}, "description": "Event Type ID. 4 cricket, 1 football, 2 tennis, 8 table tennis."}, {"name": "gmid", "in": "query", "required": true, "schema": {"type": "string"}, "description": "Game Match ID"}], "responses": {"200": {"description": "Full scorecard JSON"}, "400": {"description": "etid and gmid required"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/scorecard/view": {"get": {"tags": ["Sports"], "summary": "Game Scorecard View", "description": "The scorecard picture. Cricket is the live scoreboard. Football, tennis, and table tennis are the animation. Open this URL in the page. No API key.", "security": [], "parameters": [{"name": "etid", "in": "query", "required": true, "schema": {"type": "string", "example": "4"}, "description": "Event Type ID. 4 cricket, 1 football, 2 tennis, 8 table tennis."}, {"name": "gmid", "in": "query", "required": true, "schema": {"type": "string"}, "description": "Game Match ID"}], "responses": {"200": {"description": "Scorecard view", "content": {"text/html": {"schema": {"type": "string"}}}}}}}, "/casino/alllist": {"get": {"tags": ["Casino"], "summary": "Casino All List", "description": "Full casino games catalogue.", "responses": {"200": {"description": "All games list"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/casino/data": {"get": {"tags": ["Casino"], "summary": "Casino Data (live odds)", "description": "Live table / round data. Response `mid` is used as `id` on `/casino_stream`.", "parameters": [{"name": "gtype", "in": "query", "required": true, "schema": {"type": "string", "example": "goal2", "enum": ["teen20", "teen", "lucky7", "dt20", "card32", "aaa", "ab20", "baccarat", "poker", "goal", "goal2"]}, "description": "Game type"}], "responses": {"200": {"description": "Casino live data"}, "400": {"description": "gtype required"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/casino/tabdata": {"get": {"tags": ["Casino"], "summary": "Casino Tab Data", "description": "Casino lobby tabs/tables.\n\n- Omit `type`, or use `type=all` → **all games** (teen20, goal2, lucky7, …)\n- `type=goal2` (or any gtype) → detail for that one game (full games list also included)", "parameters": [{"name": "type", "in": "query", "required": false, "schema": {"type": "string", "example": "all", "enum": ["all", "casino", "teen20", "teen", "lucky7", "dt20", "card32", "aaa", "ab20", "baccarat", "poker", "goal", "goal2"]}, "description": "Use `all` for full lobby, or a gtype for one game"}], "responses": {"200": {"description": "Tab / lobby data"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/casino/tablelist": {"get": {"tags": ["Casino"], "summary": "Casino Table List", "parameters": [{"name": "gmid", "in": "query", "required": true, "schema": {"type": "string", "example": "teen20"}, "description": "Game id / gtype (e.g. teen20, goal2)"}], "responses": {"200": {"description": "Table list"}, "400": {"description": "gmid required"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/casino/lastresultsnew": {"get": {"tags": ["Casino"], "summary": "Casino Last Results", "parameters": [{"name": "gType", "in": "query", "required": true, "schema": {"type": "string", "example": "goal2", "enum": ["teen20", "teen", "lucky7", "dt20", "card32", "aaa", "ab20", "baccarat", "poker", "goal", "goal2"]}, "description": "Game type (capital T in gType)"}], "responses": {"200": {"description": "Last results"}, "400": {"description": "gType required"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/casinoresults": {"get": {"tags": ["Casino"], "summary": "Casino Results", "description": "Alias of last results. Use `type` = game type.", "parameters": [{"name": "type", "in": "query", "required": true, "schema": {"type": "string", "example": "teen20", "enum": ["teen20", "teen", "lucky7", "dt20", "card32", "aaa", "ab20", "baccarat", "poker", "goal", "goal2"]}, "description": "Game type"}], "responses": {"200": {"description": "Results"}, "400": {"description": "type required"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/detail_casino_results": {"get": {"tags": ["Casino"], "summary": "Detail Casino Results", "parameters": [{"name": "mid", "in": "query", "required": true, "schema": {"type": "string"}, "description": "Match / round ID"}, {"name": "gtype", "in": "query", "required": true, "schema": {"type": "string", "example": "teen20", "enum": ["teen20", "teen", "lucky7", "dt20", "card32", "aaa", "ab20", "baccarat", "poker", "goal", "goal2"]}, "description": "Game type"}], "responses": {"200": {"description": "Detail results"}, "400": {"description": "mid and gtype required"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/casino_stream": {"get": {"tags": ["Casino"], "summary": "Casino Live Stream (relay TV)", "description": "Returns continuous TV player URL via world casino relay (8788 token + 8893 nano-ws) — same stack as allpanelexch9.\n\nPrefer `gtype=goal2`. You can also pass diamond `id`/`mid` (auto-mapped).\n\nOpen `stream_url` in iframe.", "parameters": [{"name": "gtype", "in": "query", "required": false, "schema": {"type": "string", "example": "goal2", "enum": ["teen20", "teen", "lucky7", "dt20", "card32", "aaa", "ab20", "baccarat", "poker", "goal", "goal2", "mogambo"]}, "description": "Game type (recommended)"}, {"name": "id", "in": "query", "required": false, "schema": {"type": "string", "example": "196260916172812"}, "description": "Optional diamond mid — mapped to gtype"}], "responses": {"200": {"description": "Relay player URL"}, "400": {"description": "gtype/id required"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}}}}, "/get_result": {"get": {"tags": ["Results"], "summary": "Match Result", "description": "Fetch settled result for a game. Use `sid` from sport tree (e.g. 4 = cricket) and `gmid` of the match.", "parameters": [{"name": "sid", "in": "query", "required": true, "schema": {"type": "string", "example": "4"}, "description": "Sport / section ID"}, {"name": "gmid", "in": "query", "required": true, "schema": {"type": "string"}, "description": "Game / match ID"}], "responses": {"200": {"description": "Result payload"}, "401": {"description": "API key required"}, "403": {"description": "Invalid API key"}, "404": {"description": "Not found"}}}}}}