{"openapi":"3.1.0","info":{"title":"Neblla public API","version":"1.0.0","description":"Public HTTP surface of Neblla. Building and managing apps is done through the MCP server (https://neblla.com/mcp, OAuth 2.1, see /.well-known/mcp.json); in-game features through the JavaScript SDK (https://neblla.com/connect/app/{appId}). Docs: https://neblla.com/docs","contact":{"email":"hello@neblla.com","url":"https://neblla.com"}},"servers":[{"url":"https://neblla.com"}],"externalDocs":{"url":"https://neblla.com/docs","description":"Developer docs"},"paths":{"/api/gallery/items":{"get":{"summary":"List published apps in the gallery","operationId":"listGalleryItems","parameters":[{"name":"search","in":"query","schema":{"type":"string"},"description":"Text search over name, gallery titles/descriptions (all languages) and exact tags"},{"name":"category","in":"query","schema":{"type":"string","enum":["all","app","singleplayer","multiplayer"]}},{"name":"best_on","in":"query","schema":{"type":"string","enum":["all","mobile","desktop"]}},{"name":"sort","in":"query","schema":{"type":"string"}},{"name":"language","in":"query","schema":{"type":"string","example":"en"}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"A page of gallery items","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/gallery/items/{id}":{"get":{"summary":"One published app with its reviews","operationId":"getGalleryItem","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Gallery id, app id or slug"}],"responses":{"200":{"description":"The item","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found / not published","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/stripe/products/public/{appId}":{"get":{"summary":"Products an app sells (only published ones)","operationId":"listPublicProducts","parameters":[{"name":"appId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Products","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/connect/app/{appId}":{"get":{"summary":"The JavaScript SDK for an app (load it with a <script> tag)","operationId":"getSdk","parameters":[{"name":"appId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"JavaScript","content":{"application/javascript":{}}},"429":{"description":"The app is out of daily credits"}}}},"/mcp":{"post":{"summary":"MCP server (streamable HTTP, JSON-RPC). OAuth 2.1 bearer token except for 3 discovery tools.","operationId":"mcp","security":[{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"JSON-RPC 2.0 message"}}}},"responses":{"200":{"description":"JSON-RPC response"},"401":{"description":"Authentication required (see WWW-Authenticate / protected resource metadata)"}}}},"/llms.txt":{"get":{"summary":"Guide for LLMs (index)","operationId":"llmsIndex","responses":{"200":{"description":"text/plain","content":{"text/plain":{}}}}}},"/llms/{chapter}.txt":{"get":{"summary":"One chapter of the guide","operationId":"llmsChapter","parameters":[{"name":"chapter","in":"path","required":true,"schema":{"type":"string","enum":["core","salas","servidor","identidad","social","comunidad","pagos","ia","publicar","referencia","mcp"]}}],"responses":{"200":{"description":"text/plain","content":{"text/plain":{}}}}}},"/llms-full.txt":{"get":{"summary":"The whole guide in one file","operationId":"llmsFull","responses":{"200":{"description":"text/plain","content":{"text/plain":{}}}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}}}},"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://developers.neblla.com/oauth/authorize","tokenUrl":"https://developers.neblla.com/oauth/token","scopes":{}}}}}}}