{"name":"Learn API Hub","description":"Practice APIs for frontend and API-integration projects.","version":"1.0.0","health":"/health","documentation":{"swagger":"/docs","openapi":"/openapi.json"},"workspace":{"requiredFor":["expenses","ecommerce","emails"],"queryParameter":"workspaceId","productionSubdomain":"https://<workspace>.learn.konic.run","localSubdomains":["http://<workspace>.localhost:<port>","http://<workspace>.learn.localhost:<port>"],"instructions":"For mutable-project requests, either send a non-empty workspaceId query parameter (up to 100 characters) or use a workspace subdomain. Subdomains must be one DNS label (letters, digits, and internal hyphens; up to 63 characters). The query parameter takes precedence when both are present."},"projects":[{"id":"expenses","name":"Expense Manager and AI Tools","difficulty":"beginner","basePath":"/api/v1/expenses","requiresWorkspace":true,"endpoints":[{"method":"GET","path":"/api/v1/expenses?workspaceId=ada-budget&limit=50"},{"method":"POST","path":"/api/v1/expenses?workspaceId=ada-budget"},{"method":"GET","path":"/api/v1/expenses/:id?workspaceId=ada-budget"},{"method":"PATCH","path":"/api/v1/expenses/:id?workspaceId=ada-budget"},{"method":"DELETE","path":"/api/v1/expenses/:id?workspaceId=ada-budget"},{"method":"GET","path":"/api/v1/expenses/classify?description=..."},{"method":"GET","path":"/api/v1/expenses/parse?text=..."},{"method":"POST","path":"/api/v1/expenses/parse"}]},{"id":"ecommerce","name":"Ecommerce Inventory and Sales","difficulty":"intermediate","basePath":"/api/v1/ecommerce","requiresWorkspace":true,"endpoints":[{"method":"GET","path":"/api/v1/ecommerce/stock?workspaceId=ada-store"},{"method":"POST","path":"/api/v1/ecommerce/stock?workspaceId=ada-store"},{"method":"GET","path":"/api/v1/ecommerce/sales?workspaceId=ada-store&limit=20"},{"method":"POST","path":"/api/v1/ecommerce/sales?workspaceId=ada-store"},{"method":"POST","path":"/api/v1/ecommerce/seed?workspaceId=ada-store"},{"method":"POST","path":"/api/v1/ecommerce/reset?workspaceId=ada-store"}]},{"id":"emails","name":"Email Inbox","difficulty":"beginner","basePath":"/api/v1/emails","requiresWorkspace":true,"endpoints":[{"method":"GET","path":"/api/v1/emails?workspaceId=ada-inbox&account=alex.morgan@example.com"},{"method":"GET","path":"/api/v1/emails/:id?workspaceId=ada-inbox"},{"method":"POST","path":"/api/v1/emails?workspaceId=ada-inbox"},{"method":"PATCH","path":"/api/v1/emails/:id?workspaceId=ada-inbox"},{"method":"DELETE","path":"/api/v1/emails/:id?workspaceId=ada-inbox"}]}]}