{
  "openapi": "3.1.0",
  "info": {
    "title": "Peladeiros Futebol Clube API",
    "version": "1.0.0",
    "description": "API pública para descoberta de ligas e API autenticada para gestão de ligas de futebol amador."
  },
  "servers": [{ "url": "https://api.peladeirosfutebolclube.com.br" }],
  "paths": {
    "/health": {
      "get": {
        "summary": "Verificar disponibilidade da API",
        "operationId": "getHealth",
        "responses": { "200": { "description": "API disponível" } }
      }
    },
    "/api/leagues": {
      "get": {
        "summary": "Listar ligas públicas",
        "operationId": "listLeagues",
        "responses": {
          "200": {
            "description": "Ligas públicas",
            "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LeagueList" } } }
          }
        }
      }
    },
    "/api/auth/login": {
      "post": {
        "summary": "Autenticar usuário",
        "operationId": "login",
        "requestBody": {
          "required": true,
          "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginRequest" } } }
        },
        "responses": { "200": { "description": "Sessão criada" }, "401": { "description": "Credenciais inválidas" } }
      }
    }
  },
  "components": {
    "schemas": {
      "League": {
        "type": "object",
        "properties": { "id": { "type": "string" }, "code": { "type": "string" }, "name": { "type": "string" } },
        "required": ["id", "code", "name"]
      },
      "LeagueList": {
        "type": "object",
        "properties": { "leagues": { "type": "array", "items": { "$ref": "#/components/schemas/League" } } },
        "required": ["leagues"]
      },
      "LoginRequest": {
        "type": "object",
        "properties": { "email": { "type": "string", "format": "email" }, "password": { "type": "string", "format": "password" } },
        "required": ["email", "password"]
      }
    }
  }
}
