{
  "openapi": "3.1.0",
  "info": {
    "title": "AlphaTrade API — Machine Payment Protocol",
    "version": "1.0.0",
    "description": "API de descoberta de pagamentos para agentes de IA (MPP). Operações pagáveis declaram x-payment-info com intent, method, amount e currency para que agentes possam negociar e executar pagamentos automaticamente.",
    "contact": {
      "name": "AlphaTrade — NexusTrade AI",
      "url": "https://nexustrade-ai.base44.app"
    }
  },
  "x-service-info": {
    "name": "AlphaTrade",
    "description": "Plataforma SaaS de investimento com IA para análise de mercado, automação de ordens e gestão de portfólio",
    "categories": ["finance", "trading", "saas", "ai-agents"],
    "payment-methods-supported": ["stripe", "card"],
    "base-url": "https://nexustrade-ai.base44.app"
  },
  "servers": [
    {
      "url": "https://nexustrade-ai.base44.app",
      "description": "Production"
    }
  ],
  "paths": {
    "/api/functions/createCheckoutSession": {
      "post": {
        "summary": "Criar sessão de checkout Stripe para plano de assinatura",
        "description": "Inicia um fluxo de pagamento Stripe Checkout para um plano AlphaTrade (starter, pro, elite). Retorna uma URL de checkout para redirecionamento do agente ou usuário.",
        "operationId": "createCheckoutSession",
        "x-payment-info": {
          "intent": "session",
          "method": "stripe",
          "amount": "variable",
          "currency": "BRL",
          "description": "Assinatura AlphaTrade — planos Starter (R$97/mês), Pro (R$297/mês) ou Elite (R$997/mês). O agente deve passar plan no body para selecionar o tier.",
          "plans": [
            {
              "name": "starter",
              "amount": 9700,
              "currency": "BRL",
              "interval": "month",
              "description": "Plano Starter — acesso básico ao robô de investimento com IA"
            },
            {
              "name": "pro",
              "amount": 29700,
              "currency": "BRL",
              "interval": "month",
              "description": "Plano Pro — análise avançada, múltiplas corretoras e gestão de risco configurável"
            },
            {
              "name": "elite",
              "amount": 99700,
              "currency": "BRL",
              "interval": "month",
              "description": "Plano Elite — acesso completo, auditoria militar e suporte prioritário"
            }
          ]
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "plan": {
                    "type": "string",
                    "enum": ["starter", "pro", "elite"],
                    "description": "Tier do plano de assinatura"
                  },
                  "success_url": {
                    "type": "string",
                    "description": "URL de redirecionamento após pagamento bem-sucedido"
                  },
                  "cancel_url": {
                    "type": "string",
                    "description": "URL de redirecionamento após cancelamento"
                  }
                },
                "required": ["plan", "success_url", "cancel_url"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Sessão de checkout criada",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "URL do Stripe Checkout para redirecionamento"
                    },
                    "session_id": {
                      "type": "string",
                      "description": "ID da sessão Stripe"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/planos": {
      "get": {
        "summary": "Página de planos e preços",
        "description": "Lista os planos de assinatura disponíveis com preços e features. Agentes podem usar esta rota para descobrir tiers antes de iniciar checkout.",
        "operationId": "getPlans",
        "x-payment-info": {
          "intent": "session",
          "method": "stripe",
          "amount": "variable",
          "currency": "BRL",
          "description": "Descoberta de planos — o agente deve visitar /planos ou chamar createCheckoutSession com plan para iniciar pagamento."
        },
        "responses": {
          "200": {
            "description": "Página HTML com detalhes dos planos"
          }
        }
      }
    }
  }
}
