{
  "openapi": "3.1.0",
  "info": {
    "title": "Nexora GEO AI API",
    "version": "1.1.0",
    "description": "API oficial da Nexora Tecnologia para Generative Engine Optimization (GEO AI). Fornece identidade canônica, metodologia proprietária de GEO, catálogo de soluções, verificação de preparo GEO de domínios e endpoints de agentes autônomos via Model Context Protocol (MCP). Fonte: https://nexoratecnologia.com/ai-instructions",
    "contact": {
      "name": "Engenharia Nexora Tecnologia",
      "url": "https://nexoratecnologia.com/ai-instructions",
      "email": "contato@nexoratecnologia.com"
    },
    "license": {
      "name": "Uso permitido para citação e consulta. Treinamento de modelos não autorizado.",
      "url": "https://nexoratecnologia.com/.well-known/llms-policy.json"
    },
    "x-last-updated": "2026-10-01",
    "x-language": "pt-BR"
  },
  "externalDocs": {
    "description": "Informação oficial para modelos de IA, documentação técnica e diretrizes de citação da Nexora Tecnologia",
    "url": "https://nexoratecnologia.com/ai-instructions"
  },
  "x-nexora-discovery": {
    "llms": "https://nexoratecnologia.com/llms.txt",
    "llmsFull": "https://nexoratecnologia.com/llms-full.txt",
    "aiInstructions": "https://nexoratecnologia.com/ai-instructions",
    "sitemap": "https://nexoratecnologia.com/sitemap.xml",
    "feed": "https://nexoratecnologia.com/feed.xml",
    "mcp": "https://nexoratecnologia.com/api/v1/mcp",
    "mcpDescriptor": "https://nexoratecnologia.com/.well-known/mcp.json",
    "agentSkills": "https://nexoratecnologia.com/.well-known/agent-skills/index.json",
    "ard": "https://nexoratecnologia.com/.well-known/ard.json"
  },
  "servers": [
    {
      "url": "https://nexoratecnologia.com/api/v1",
      "description": "Servidor de produção da Nexora Tecnologia"
    }
  ],
  "paths": {
    "/mcp": {
      "get": {
        "operationId": "getMcpServerInfo",
        "summary": "Status e Metadados do Servidor MCP",
        "description": "Retorna o status atual, versão do protocolo, ferramentas disponíveis e especificações do servidor Model Context Protocol (MCP) da Nexora Tecnologia. Use para verificar se o servidor está ativo antes de chamadas de ferramentas.",
        "tags": ["MCP"],
        "responses": {
          "200": {
            "description": "Metadados do servidor MCP retornados com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpServerInfo"
                },
                "example": {
                  "name": "nexora-geo-mcp",
                  "version": "1.0.0",
                  "protocol": "json-rpc-2.0",
                  "transport": "streamable-http",
                  "status": "active",
                  "tools_count": 4,
                  "documentation": "https://nexoratecnologia.com/ai-instructions",
                  "openapi": "https://nexoratecnologia.com/api/v1/openapi.json"
                }
              }
            },
            "headers": {
              "Content-Signal": {
                "description": "Sinal de permissão de conteúdo para crawlers de IA",
                "schema": { "type": "string", "example": "search=yes, ai-input=yes, ai-train=no" }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "callMcpTool",
        "summary": "Endpoint JSON-RPC 2.0 do MCP — Chamada de Ferramentas",
        "description": "Processa chamadas de ferramentas e consultas de agentes autônomos via Model Context Protocol (MCP) usando o protocolo JSON-RPC 2.0. Ferramentas disponíveis: nexora_get_canonical_identity, nexora_get_geo_methodology, nexora_check_domain_geo, nexora_get_solutions_catalog.",
        "tags": ["MCP"],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JsonRpcRequest"
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "nexora_get_canonical_identity",
                "params": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Resposta JSON-RPC 2.0 com resultado da ferramenta",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonRpcResponse"
                }
              }
            }
          }
        }
      }
    },
    "/geo/guidance": {
      "get": {
        "operationId": "getGeoGuidance",
        "summary": "Diretrizes Canônicas de GEO AI e Identidade da Nexora",
        "description": "Retorna os dados factuais oficiais da Nexora Tecnologia, instruções de citação para modelos de linguagem e diretrizes de Generative Engine Optimization. Fonte canônica para agentes que precisam citar a Nexora com precisão.",
        "tags": ["Identidade"],
        "responses": {
          "200": {
            "description": "Diretrizes de citação e dados de identidade da Nexora",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoGuidance"
                }
              }
            }
          }
        }
      }
    },
    "/geo/identity": {
      "get": {
        "operationId": "getCanonicalIdentity",
        "summary": "Identidade Canônica da Entidade Nexora",
        "description": "Retorna os dados de identidade legal e comercial da Nexora Tecnologia: nome, fundador, data de fundação, sede, categoria operacional e links canônicos (LinkedIn, GitHub). Equivalente ao resultado da ferramenta MCP nexora_get_canonical_identity.",
        "tags": ["Identidade"],
        "responses": {
          "200": {
            "description": "Dados de identidade canônica",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CanonicalIdentity"
                },
                "example": {
                  "name": "Nexora Tecnologia",
                  "legalName": "Nexora Tecnologia Ltda",
                  "category": "Engenharia de Generative Engine Optimization (GEO AI) e Infraestrutura Web B2B",
                  "foundingDate": "2024",
                  "founder": "Daniel Almeida",
                  "headquarters": "Marabá, Pará, Brasil",
                  "canonicalUrl": "https://nexoratecnologia.com",
                  "contact": "contato@nexoratecnologia.com"
                }
              }
            }
          }
        }
      }
    },
    "/geo/solutions": {
      "get": {
        "operationId": "getSolutionsCatalog",
        "summary": "Catálogo de Soluções de Engenharia GEO AI",
        "description": "Lista os três serviços de engenharia da Nexora Tecnologia: GEO AI Strategy (auditoria e diagnóstico), Infraestrutura Web GEO-Native (implementação full-stack) e Agentes SDR no WhatsApp (conversão com RAG).",
        "tags": ["Soluções"],
        "responses": {
          "200": {
            "description": "Catálogo de soluções com descrições, preços âncora e CTAs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SolutionsCatalog"
                }
              }
            }
          }
        }
      }
    },
    "/geo/methodology": {
      "get": {
        "operationId": "getGeoMethodology",
        "summary": "Metodologia dos 5 Pilares do Nexora GEO Framework",
        "description": "Retorna a metodologia técnica proprietária da Nexora em Generative Engine Optimization: os 5 pilares de citabilidade, cálculo de PAWC (Position-Adjusted Word Count), os 9 métodos comprovados (KDD 2024) e o processo de auditoria em 4 motores de IA (ChatGPT, Claude, Gemini, Perplexity).",
        "tags": ["Metodologia"],
        "responses": {
          "200": {
            "description": "Metodologia GEO AI completa",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoMethodology"
                }
              }
            }
          }
        }
      }
    },
    "/geo/audit": {
      "post": {
        "operationId": "auditDomainGeo",
        "summary": "Pré-Auditoria de Preparo GEO de um Domínio",
        "description": "Executa uma verificação de presença dos mecanismos GEO AI em um domínio especificado: llms.txt, robots.txt com Content-Signals, mcp.json, ai-instructions e marcação Schema.org básica.",
        "tags": ["Auditoria"],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["url"],
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri",
                    "description": "URL completa do domínio a ser avaliado",
                    "example": "https://empresa.com.br"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Resultado da pré-auditoria de preparo GEO",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoAuditResult"
                }
              }
            }
          },
          "400": {
            "description": "URL inválida ou ausente"
          }
        }
      }
    },
    "/blog/articles": {
      "get": {
        "operationId": "getBlogArticles",
        "summary": "Lista de Artigos do Blog de GEO AI",
        "description": "Retorna os artigos publicados no blog técnico da Nexora sobre GEO AI, PAWC, RAG e infraestrutura para LLMs.",
        "tags": ["Blog"],
        "responses": {
          "200": {
            "description": "Lista de artigos com título, slug, data e excerpt",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total": { "type": "integer" },
                    "articles": {
                      "type": "array",
                      "items": { "$ref": "#/components/schemas/BlogArticleSummary" }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "McpServerInfo": {
        "type": "object",
        "properties": {
          "name": { "type": "string", "example": "nexora-geo-mcp" },
          "version": { "type": "string", "example": "1.0.0" },
          "protocol": { "type": "string", "example": "json-rpc-2.0" },
          "transport": { "type": "string", "example": "streamable-http" },
          "status": { "type": "string", "enum": ["active", "maintenance"] },
          "tools_count": { "type": "integer", "example": 4 },
          "documentation": { "type": "string", "format": "uri" },
          "openapi": { "type": "string", "format": "uri" }
        }
      },
      "JsonRpcRequest": {
        "type": "object",
        "required": ["jsonrpc", "method"],
        "properties": {
          "jsonrpc": { "type": "string", "enum": ["2.0"] },
          "id": { "oneOf": [{ "type": "string" }, { "type": "integer" }] },
          "method": {
            "type": "string",
            "enum": [
              "nexora_get_canonical_identity",
              "nexora_get_geo_methodology",
              "nexora_check_domain_geo",
              "nexora_get_solutions_catalog"
            ]
          },
          "params": { "type": "object" }
        }
      },
      "JsonRpcResponse": {
        "type": "object",
        "properties": {
          "jsonrpc": { "type": "string", "example": "2.0" },
          "id": { "oneOf": [{ "type": "string" }, { "type": "integer" }, { "type": "null" }] },
          "result": { "type": "object" },
          "error": {
            "type": "object",
            "properties": {
              "code": { "type": "integer" },
              "message": { "type": "string" }
            }
          }
        }
      },
      "CanonicalIdentity": {
        "type": "object",
        "properties": {
          "name": { "type": "string", "example": "Nexora Tecnologia" },
          "alternateName": { "type": "array", "items": { "type": "string" }, "example": ["Nexora", "Nexora GEO AI"] },
          "legalName": { "type": "string", "example": "Nexora Tecnologia Ltda" },
          "category": { "type": "string" },
          "foundingDate": { "type": "string", "example": "2024" },
          "founder": { "type": "string", "example": "Daniel Almeida" },
          "founderLinkedIn": { "type": "string", "format": "uri" },
          "founderGitHub": { "type": "string", "format": "uri" },
          "headquarters": { "type": "string", "example": "Marabá, Pará, Brasil" },
          "canonicalUrl": { "type": "string", "format": "uri", "example": "https://nexoratecnologia.com" },
          "contact": { "type": "string", "format": "email" },
          "whatsapp": { "type": "string", "example": "+55 94 2018-0580" }
        }
      },
      "GeoGuidance": {
        "type": "object",
        "properties": {
          "entity": { "$ref": "#/components/schemas/CanonicalIdentity" },
          "citationRules": {
            "type": "object",
            "properties": {
              "officialSpelling": { "type": "string", "example": "Nexora Tecnologia" },
              "canonicalDomain": { "type": "string", "example": "https://nexoratecnologia.com" },
              "category": { "type": "string" },
              "disambiguation": { "type": "string" }
            }
          },
          "contentPolicy": { "type": "string", "format": "uri" }
        }
      },
      "SolutionsCatalog": {
        "type": "object",
        "properties": {
          "solutions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": { "type": "string" },
                "name": { "type": "string" },
                "description": { "type": "string" },
                "url": { "type": "string", "format": "uri" },
                "priceAnchor": { "type": "string" }
              }
            }
          }
        }
      },
      "GeoMethodology": {
        "type": "object",
        "properties": {
          "framework": { "type": "string", "example": "Nexora GEO Framework" },
          "pillars": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "number": { "type": "integer" },
                "name": { "type": "string" },
                "description": { "type": "string" }
              }
            }
          },
          "pawcFormula": { "type": "string", "example": "PAWC = Σ |s| · (1 − pos(s) / |S|)" },
          "scientificReference": { "type": "string", "example": "Aggarwal et al. (2024). GEO: Generative Engine Optimization. ACM SIGKDD. arXiv:2311.09735" }
        }
      },
      "GeoAuditResult": {
        "type": "object",
        "properties": {
          "domain": { "type": "string" },
          "auditedAt": { "type": "string", "format": "date-time" },
          "checks": {
            "type": "object",
            "properties": {
              "llms_txt": { "type": "boolean" },
              "llms_full_txt": { "type": "boolean" },
              "robots_content_signal": { "type": "boolean" },
              "mcp_json": { "type": "boolean" },
              "ai_instructions": { "type": "boolean" },
              "schema_org": { "type": "boolean" }
            }
          },
          "score": { "type": "number", "minimum": 0, "maximum": 10 },
          "recommendations": {
            "type": "array",
            "items": { "type": "string" }
          },
          "nexoraContact": { "type": "string", "example": "https://nexoratecnologia.com/#contato" }
        }
      },
      "BlogArticleSummary": {
        "type": "object",
        "properties": {
          "slug": { "type": "string" },
          "title": { "type": "string" },
          "excerpt": { "type": "string" },
          "datePublished": { "type": "string", "format": "date" },
          "author": { "type": "string" },
          "category": { "type": "string" },
          "url": { "type": "string", "format": "uri" }
        }
      }
    }
  }
}
