{
  "openapi": "3.0.3",
  "info": {
    "title": "PescaRadar API",
    "version": "1.0.0",
    "description": "Documentação inicial da API do PescaRadar. A especificação reflete rotas identificadas no Worker; parâmetros, modelos e códigos de resposta ainda devem ser refinados conforme cada handler. Não use esta documentação como autorização para mutações em produção.",
    "contact": {
      "name": "PescaRadar — suporte",
      "email": "develop.jgs@gmail.com"
    },
    "license": {
      "name": "Apache-2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    }
  },
  "servers": [
    {
      "url": "https://pescaradar.schrsistemas.workers.dev",
      "description": "Worker público principal"
    }
  ],
  "tags": [
    {
      "name": "API"
    },
    {
      "name": "Ambiente"
    },
    {
      "name": "Diário de pesca"
    },
    {
      "name": "Privacidade"
    },
    {
      "name": "Autenticação"
    },
    {
      "name": "Administração"
    }
  ],
  "paths": {
    "/api/health": {
      "get": {
        "summary": "Estado operacional básico do Worker",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_health",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/telemetry": {
      "get": {
        "summary": "Telemetria pública agregada, quando habilitada",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_telemetry",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/privacy/status": {
      "get": {
        "summary": "Estado do vínculo técnico de privacidade",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_privacy_status",
        "tags": [
          "Privacidade"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/auth/google": {
      "get": {
        "summary": "Iniciar fluxo OAuth Google",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_auth_google",
        "tags": [
          "Autenticação"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/auth/google/callback": {
      "get": {
        "summary": "Retorno do fluxo OAuth Google",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_auth_google_callback",
        "tags": [
          "Autenticação"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/auth/me": {
      "get": {
        "summary": "Consultar usuário autenticado",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_auth_me",
        "tags": [
          "Autenticação"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/auth/register": {
      "post": {
        "summary": "Registrar conta",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_auth_register",
        "tags": [
          "Autenticação"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/auth/login": {
      "post": {
        "summary": "Autenticar conta",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_auth_login",
        "tags": [
          "Autenticação"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/auth/logout": {
      "post": {
        "summary": "Encerrar sessão",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_auth_logout",
        "tags": [
          "Autenticação"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/lunar": {
      "get": {
        "summary": "Consultar dados lunares",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_lunar",
        "tags": [
          "Ambiente"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/location": {
      "get": {
        "summary": "Consultar contexto de localização",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_location",
        "tags": [
          "Ambiente"
        ],
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/rain-radar": {
      "get": {
        "summary": "Consultar radar de chuva",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_rain_radar",
        "tags": [
          "Ambiente"
        ],
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/weather/summary": {
      "get": {
        "summary": "Resumo meteorológico com cache e fallback",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_weather_summary",
        "tags": [
          "Ambiente"
        ],
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/weather-current": {
      "get": {
        "summary": "Compatibilidade para clima atual",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_weather_current",
        "tags": [
          "Ambiente"
        ],
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/weather": {
      "get": {
        "summary": "Consultar ou registrar dados meteorológicos",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_weather",
        "tags": [
          "Ambiente"
        ],
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      },
      "post": {
        "summary": "Consultar ou registrar dados meteorológicos",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_weather",
        "tags": [
          "Ambiente"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/tides-forecast": {
      "get": {
        "summary": "Consultar previsão de marés quando houver referência aplicável",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_tides_forecast",
        "tags": [
          "Ambiente"
        ],
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/reverse-geocode": {
      "get": {
        "summary": "Converter coordenadas em localidade",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_reverse_geocode",
        "tags": [
          "API"
        ],
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/location-context": {
      "get": {
        "summary": "Consultar contexto ambiental da localização",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_location_context",
        "tags": [
          "Ambiente"
        ],
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/fishing-analysis": {
      "get": {
        "summary": "Analisar janela de pesca",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_fishing_analysis",
        "tags": [
          "API"
        ],
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "description": "Coordenadas decimais; exigidas por alguns recursos.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/pattern-analysis": {
      "get": {
        "summary": "Analisar padrões de pesca pessoais",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_pattern_analysis",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/session-zone-results": {
      "get": {
        "summary": "Resultados de zonas de sessão",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_session_zone_results",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/session-zones": {
      "get": {
        "summary": "Consultar zonas de sessão",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_session_zones",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/session-track-analysis": {
      "get": {
        "summary": "Analisar trilha de sessão",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_session_track_analysis",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/session-track": {
      "get": {
        "summary": "Consultar ou registrar pontos de trilha",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_session_track",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      },
      "post": {
        "summary": "Consultar ou registrar pontos de trilha",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_session_track",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/session-analysis": {
      "get": {
        "summary": "Analisar sessão de pesca",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_session_analysis",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/session-event-analysis": {
      "get": {
        "summary": "Analisar eventos da sessão",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_session_event_analysis",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/session-insights": {
      "get": {
        "summary": "Consultar insights de sessão",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_session_insights",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/data/clear": {
      "post": {
        "summary": "Limpar dados pessoais vinculados ao dispositivo",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_data_clear",
        "tags": [
          "Privacidade"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/privacy/revoke": {
      "post": {
        "summary": "Revogar consentimento",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_privacy_revoke",
        "tags": [
          "Privacidade"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/privacy/export": {
      "get": {
        "summary": "Exportar dados pessoais",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_privacy_export",
        "tags": [
          "Privacidade"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/privacy/delete": {
      "post": {
        "summary": "Solicitar exclusão de dados pessoais",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_privacy_delete",
        "tags": [
          "Privacidade"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/privacy/consent": {
      "post": {
        "summary": "Registrar vínculo de consentimento",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_privacy_consent",
        "tags": [
          "Privacidade"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/sync": {
      "post": {
        "summary": "Sincronizar registros pessoais",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_sync",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/ia": {
      "post": {
        "summary": "Alias compatível do assistente",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_ia",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/ai": {
      "post": {
        "summary": "Executar assistente de IA",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_ai",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/especes": {
      "get": {
        "summary": "Pesquisar catálogo de espécies",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_especes",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/species": {
      "get": {
        "summary": "Consultar catálogo público de espécies",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_species",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/species/photos": {
      "get": {
        "summary": "Consultar fotos e atribuições de espécies",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_species_photos",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/species-history": {
      "get": {
        "summary": "Consultar histórico de espécies",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_species_history",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/reports": {
      "get": {
        "summary": "Consultar relatórios pessoais",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_reports",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/dashboard": {
      "get": {
        "summary": "Consultar dados do dashboard",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_dashboard",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/spots": {
      "get": {
        "summary": "Listar ou criar pontos de pesca",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_spots",
        "tags": [
          "Diário de pesca"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      },
      "post": {
        "summary": "Listar ou criar pontos de pesca",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_spots",
        "tags": [
          "Diário de pesca"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/sessions": {
      "get": {
        "summary": "Listar ou criar sessões de pesca",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_sessions",
        "tags": [
          "Diário de pesca"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      },
      "post": {
        "summary": "Listar ou criar sessões de pesca",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_sessions",
        "tags": [
          "Diário de pesca"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/sessions/{sessionId}": {
      "put": {
        "summary": "Atualizar sessão existente",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "put_api_sessions_sessionId",
        "tags": [
          "Diário de pesca"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/observations": {
      "get": {
        "summary": "Listar ou criar observações",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_observations",
        "tags": [
          "Diário de pesca"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      },
      "post": {
        "summary": "Listar ou criar observações",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_observations",
        "tags": [
          "Diário de pesca"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/lures": {
      "get": {
        "summary": "Listar ou criar iscas",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_lures",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      },
      "post": {
        "summary": "Listar ou criar iscas",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_lures",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/tournaments": {
      "get": {
        "summary": "Listar ou criar torneios",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_tournaments",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      },
      "post": {
        "summary": "Listar ou criar torneios",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_tournaments",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/catches": {
      "get": {
        "summary": "Listar ou registrar capturas",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_catches",
        "tags": [
          "Diário de pesca"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      },
      "post": {
        "summary": "Listar ou registrar capturas",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_catches",
        "tags": [
          "Diário de pesca"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/water-conditions": {
      "get": {
        "summary": "Listar ou registrar condições da água",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_water_conditions",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      },
      "post": {
        "summary": "Listar ou registrar condições da água",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_water_conditions",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/files": {
      "get": {
        "summary": "Consultar ou gravar arquivos conforme backend",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_files",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      },
      "put": {
        "summary": "Consultar ou gravar arquivos conforme backend",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "put_api_files",
        "tags": [
          "API"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/admin/accounts": {
      "get": {
        "summary": "Listar contas administrativas",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_admin_accounts",
        "tags": [
          "Administração"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/admin/accounts/{userId}/{action}": {
      "post": {
        "summary": "Executar ação administrativa em conta",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_admin_accounts_userId_action",
        "tags": [
          "Administração"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/admin/metrics": {
      "get": {
        "summary": "Consultar métricas administrativas",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_admin_metrics",
        "tags": [
          "Administração"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/admin/open-meteo": {
      "get": {
        "summary": "Inspecionar integração meteorológica",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_admin_open_meteo",
        "tags": [
          "Administração"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/admin/tournaments": {
      "get": {
        "summary": "Consultar torneios administrativos",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_admin_tournaments",
        "tags": [
          "Administração"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/admin/orphans": {
      "get": {
        "summary": "Consultar registros órfãos",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "get_api_admin_orphans",
        "tags": [
          "Administração"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/admin/orphans/cleanup": {
      "post": {
        "summary": "Limpeza administrativa explícita",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_admin_orphans_cleanup",
        "tags": [
          "Administração"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/api/manage/{resource}/{id}": {
      "put": {
        "summary": "Atualizar ou excluir recurso suportado",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "put_api_manage_resource_id",
        "tags": [
          "Administração"
        ],
        "parameters": [
          {
            "name": "resource",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Atualizar ou excluir recurso suportado",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "delete_api_manage_resource_id",
        "tags": [
          "Administração"
        ],
        "parameters": [
          {
            "name": "resource",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        }
      }
    },
    "/api/manage/clear/{resource}": {
      "post": {
        "summary": "Limpar recurso suportado",
        "description": "Referência inicial baseada no roteamento do Worker. Os parâmetros e respostas específicos variam conforme o endpoint e os bindings disponíveis. Endpoints pessoais podem exigir X-Client-ID e consentimento; rotas administrativas exigem autorização.",
        "operationId": "post_api_manage_clear_resource",
        "tags": [
          "Administração"
        ],
        "parameters": [
          {
            "name": "resource",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resposta de sucesso; estrutura depende do endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Entrada inválida."
          },
          "401": {
            "description": "Autenticação ou vínculo exigido."
          },
          "403": {
            "description": "Acesso não autorizado."
          },
          "404": {
            "description": "Rota ou registro não encontrado."
          },
          "503": {
            "description": "Serviço ou binding indisponível."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    }
  }
}
