{"openapi":"3.1.0","info":{"title":"The Funnel Game","version":"1.0.0","description":"One engine for UI, REST, Remote MCP and WebMCP. Public beta. Record reads also require the returned id and private token."},"servers":[{"url":"https://thefunnelgame.app"}],"paths":{"/api/v1/create_funnel_game":{"post":{"operationId":"create_funnel_game","summary":"Analyze public page HTML for potential funnel friction, or create three proposed funnel concepts. Use for a business the user owns or manages. Not a full visual audit, market research, diagnosis, or conversion prediction. demo=true uses a fictional electrical business. Missing facts stay unknown.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","enum":["audit","new"]},"url":{"type":"string"},"ad_text":{"type":"string","maxLength":6000},"business":{"type":"string"},"service":{"type":"string"},"demo":{"type":"boolean"}},"required":["kind"],"additionalProperties":false}}}},"responses":{"200":{"description":"Result; inspect status and service-connection fields. Demo output is labeled."},"400":{"description":"Validation or operation error"},"403":{"description":"Origin not allowed"}}}},"/api/v1/get_funnel_game":{"post":{"operationId":"get_funnel_game","summary":"Read a previously created game with its returned id and private access token. Do not invent either value.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"token":{"type":"string"}},"required":["id","token"],"additionalProperties":false}}}},"responses":{"200":{"description":"Result; inspect status and service-connection fields. Demo output is labeled."},"400":{"description":"Validation or operation error"},"403":{"description":"Origin not allowed"}}}},"/api/v1/save_funnel_plan":{"post":{"operationId":"save_funnel_plan","summary":"Save a user-requested result to their explicitly supplied email. Requires consent=true. Does not subscribe to marketing or book a session. Email delivery may be unconfigured; report returned delivery status accurately.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"token":{"type":"string"},"email":{"type":"string","format":"email"},"consent":{"type":"boolean","const":true}},"required":["id","token","email","consent"],"additionalProperties":false}}}},"responses":{"200":{"description":"Result; inspect status and service-connection fields. Demo output is labeled."},"400":{"description":"Validation or operation error"},"403":{"description":"Origin not allowed"}}}},"/api/v1/request_funnel_strategy":{"post":{"operationId":"request_funnel_strategy","summary":"Record an explicitly requested strategy-session follow-up. Requires supplied email and consent. This is a request, not a confirmed booking.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"token":{"type":"string"},"email":{"type":"string","format":"email"},"consent":{"type":"boolean","const":true}},"required":["id","token","email","consent"],"additionalProperties":false}}}},"responses":{"200":{"description":"Result; inspect status and service-connection fields. Demo output is labeled."},"400":{"description":"Validation or operation error"},"403":{"description":"Origin not allowed"}}}}}}