Puedes controlar qué operaciones de OpenAPI se publican como páginas de documentación y su visibilidad en la navegación. Esto es útil para endpoints internos, operaciones obsoletas, funciones beta o endpoints que deberían ser accesibles mediante una URL directa pero no detectables a través de la navegación del sitio. Si tus páginas se generan automáticamente a partir de un documento de OpenAPI, puedes administrar la visibilidad de las páginas con las extensiones x-hidden y x-excluded.

x-hidden

La extensión x-hidden crea una página para un endpoint, pero la oculta de la navegación. La página solo se puede acceder yendo directamente a su URL. Los casos de uso comunes de x-hidden son:
  • Endpoints que quieres documentar, pero no destacar.
  • Páginas a las que enlazarás desde otros contenidos.
  • Endpoints para usuarios específicos.

x-excluded

La extensión x-excluded excluye por completo un endpoint de tu documentación. Algunos casos de uso comunes de x-excluded son:
  • Endpoints internos.
  • Endpoints obsoletos que no quieres documentar.
  • Funcionalidades beta que aún no están listas para la documentación pública.

Implementación

Agrega la extensión x-hidden o x-excluded bajo el método HTTP en tu especificación de OpenAPI. Aquí tienes ejemplos de cómo usar cada propiedad en un documento de esquema de OpenAPI para un endpoint y una ruta de webhook.
"paths": {
  "/plants": {
    "get": {
      "description": "Returns all plants from the store",
      "parameters": { /*...*/ },
      "responses": { /*...*/ }
    }
  },
  "/hidden_plants": {
    "get": {
      "x-hidden": true,
      "description": "Returns all somewhat secret plants from the store",
      "parameters": { /*...*/ },
      "responses": { /*...*/ }
    }
  },
  "/secret_plants": {
    "get": {
      "x-excluded": true,
      "description": "Returns all top secret plants from the store (do not publish this endpoint!)",
      "parameters": { /*...*/ },
      "responses": { /*...*/ }
    }
  }
},
"webhooks": {
  "/plants_hook": {
    "post": {
      "description": "Webhook for information about a new plant added to the store",
    }
  },
  "/hidden_plants_hook": {
    "post": {
      "x-hidden": true,
      "description": "Webhook for somewhat secret information about a new plant added to the store"
    }
  },
  "/secret_plants_hook": {
    "post": {
      "x-excluded": true,
      "description": "Webhook for top secret information about a new plant added to the store (do not publish this endpoint!)"
    }
  }
}