{"components":{"securitySchemes":{"bearerAuth":{"bearerFormat":"JWT","scheme":"bearer","type":"http"}}},"info":{"description":"REST API para gestionar backtests, hyperopt, sweeps, bots y an\u00e1lisis. Auth v\u00eda Bearer JWT (obt\u00e9n tokens v\u00eda /api/auth/login).","title":"Botcoin API","version":"1.0.0"},"openapi":"3.0.3","paths":{"/api/analytics/correlation":{"post":{"summary":"Matriz correlaci\u00f3n"}},"/api/analytics/job/{id}/montecarlo":{"get":{"summary":"Monte Carlo bootstrap"}},"/api/analytics/job/{id}/per_pair":{"get":{"summary":"M\u00e9tricas por par"}},"/api/auth/login":{"post":{"responses":{"200":{"description":"Access + refresh tokens"}},"summary":"Login"}},"/api/auth/me":{"get":{"summary":"Perfil actual"}},"/api/auth/signup":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"type":"string"},"password":{"type":"string"},"tenant_name":{"type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"description":"OK, devuelve access token"}},"summary":"Registrar nueva cuenta"}},"/api/backtest":{"post":{"summary":"Lanzar backtest"}},"/api/billing/checkout":{"post":{"summary":"Stripe: crear checkout session"}},"/api/billing/portal":{"post":{"summary":"Stripe: portal cliente"}},"/api/bots":{"get":{"summary":"Listar bots"},"post":{"summary":"Crear bot"}},"/api/bots/{id}/start":{"post":{"summary":"Arrancar bot"}},"/api/bots/{id}/stop":{"post":{"summary":"Parar bot"}},"/api/export/jobs.csv":{"get":{"summary":"Export CSV"}},"/api/export/jobs.json":{"get":{"summary":"Export JSON"}},"/api/hyperopt":{"post":{"summary":"Lanzar hyperopt"}},"/api/jobs":{"get":{"summary":"Listar jobs del tenant"}},"/api/llm/explain/{id}":{"get":{"summary":"LLM: explicar backtest"}},"/api/llm/generate":{"post":{"summary":"LLM: generar strategy desde descripci\u00f3n"}},"/api/monitoring/bots/live":{"get":{"summary":"Bots live"}},"/api/monitoring/health":{"get":{"summary":"Health score global"}},"/api/sweep":{"post":{"summary":"Lanzar sweep"}},"/api/vault/set":{"post":{"summary":"Guardar secret encriptado"}},"/api/webhooks":{"get":{"summary":"Listar webhooks"},"post":{"summary":"Crear webhook"}},"/metrics":{"get":{"summary":"Prometheus metrics"}}},"security":[{"bearerAuth":[]}],"servers":[{"description":"Current server","url":"/"}]}
