Você pode controlar quais operações da OpenAPI são publicadas como páginas de documentação e sua visibilidade na navegação. Isso é útil para endpoints internos, operações descontinuadas, recursos em beta ou endpoints que devem ser acessíveis por URL direta, mas não descobertos pela navegação do site. Se suas páginas forem geradas automaticamente a partir de um documento OpenAPI, você pode gerenciar a visibilidade das páginas com as extensões x-hidden e x-excluded.

x-hidden

A extensão x-hidden cria uma página para um endpoint, mas a oculta da navegação. A página só pode ser acessada ao navegar diretamente para sua URL. Casos de uso comuns de x-hidden incluem:
  • Endpoints que você deseja documentar, mas não promover.
  • Páginas para as quais você fará links a partir de outro conteúdo.
  • Endpoints para usuários específicos.

x-excluded

A extensão x-excluded exclui completamente um endpoint da sua documentação. Casos de uso comuns de x-excluded incluem:
  • Endpoints internos.
  • Endpoints descontinuados que você não deseja documentar.
  • Recursos em beta que ainda não estão prontos para documentação pública.

Implementação

Adicione a extensão x-hidden ou x-excluded sob o método HTTP na sua especificação OpenAPI. Aqui estão exemplos de como usar cada propriedade em um documento de esquema OpenAPI para um endpoint e um caminho de webhook.
"paths": {
  "/plants": {
    "get": {
      "description": "Retorna todas as plantas da loja",
      "parameters": { /*...*/ },
      "responses": { /*...*/ }
    }
  },
  "/hidden_plants": {
    "get": {
      "x-hidden": true,
      "description": "Retorna todas as plantas um tanto secretas da loja",
      "parameters": { /*...*/ },
      "responses": { /*...*/ }
    }
  },
  "/secret_plants": {
    "get": {
      "x-excluded": true,
      "description": "Retorna todas as plantas altamente secretas da loja (não publique este endpoint!)",
      "parameters": { /*...*/ },
      "responses": { /*...*/ }
    }
  }
},
"webhooks": {
  "/plants_hook": {
    "post": {
      "description": "Webhook para informações sobre uma nova planta adicionada à loja",
    }
  },
  "/hidden_plants_hook": {
    "post": {
      "x-hidden": true,
      "description": "Webhook para informações um tanto secretas sobre uma nova planta adicionada à loja"
    }
  },
  "/secret_plants_hook": {
    "post": {
      "x-excluded": true,
      "description": "Webhook para informações altamente secretas sobre uma nova planta adicionada à loja (não publique este endpoint!)"
    }
  }
}