> ## Documentation Index
> Fetch the complete documentation index at: https://adminroletesting-justin-client-exports.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuración de la API

> Configura especificaciones OpenAPI y AsyncAPI, el área de pruebas interactiva, ejemplos de código SDK y ajustes de autenticación en tu archivo docs.json.

Usa el campo `api` en `docs.json` para configurar qué especificaciones de API generan páginas de API, el área de pruebas interactiva de la API para probar endpoints, y cómo generar y mostrar ejemplos de código.

## Ajustes

### `api`

**Tipo:** `object`

Define todos los ajustes relacionados con la API bajo la clave `api`.

<ResponseField name="api.openapi" type="string or array or object">
  Archivos de especificación OpenAPI para generar páginas de referencia de API. Acepta una única ruta o URL, un array de rutas y URLs, o un objeto que especifica una fuente y directorio.

  <Expandable title="api.openapi object">
    <ResponseField name="source" type="string">
      URL o ruta a tu archivo de especificación OpenAPI. Longitud mínima: 1.
    </ResponseField>

    <ResponseField name="directory" type="string">
      Directorio donde buscar archivos OpenAPI. No incluyas una barra inicial.
    </ResponseField>
  </Expandable>

  <CodeGroup>
    ```json Archivo único theme={null}
    "openapi": "openapi.json"
    ```

    ```json Múltiples archivos theme={null}
    "openapi": [
      "openapi/v1.json",
      "openapi/v2.json",
      "https://api.example.com/openapi.yaml"
    ]
    ```

    ```json Directorio theme={null}
    "openapi": {
      "source": "openapi.json",
      "directory": "api-reference"
    }
    ```
  </CodeGroup>
</ResponseField>

<ResponseField name="api.asyncapi" type="string or array or object">
  Archivos de especificación AsyncAPI para generar páginas de referencia de API basadas en eventos. Acepta una única ruta o URL, un array de rutas y URLs, o un objeto que especifica una fuente y directorio.

  <Expandable title="api.asyncapi object">
    <ResponseField name="source" type="string">
      URL o ruta a tu archivo de especificación AsyncAPI. Longitud mínima: 1.
    </ResponseField>

    <ResponseField name="directory" type="string">
      Directorio donde buscar archivos AsyncAPI. No incluyas una barra inicial.
    </ResponseField>
  </Expandable>

  <CodeGroup>
    ```json Archivo único theme={null}
    "asyncapi": "asyncapi.json"
    ```

    ```json Múltiples archivos theme={null}
    "asyncapi": [
      "asyncapi/events.yaml",
      "asyncapi/webhooks.yaml"
    ]
    ```

    ```json Directorio theme={null}
    "asyncapi": {
      "source": "asyncapi.json",
      "directory": "websockets"
    }
    ```
  </CodeGroup>
</ResponseField>

<ResponseField name="api.playground" type="object">
  Configuración del área de pruebas interactiva de la API.

  <Expandable title="api.playground">
    <ResponseField name="display" type="&#x22;interactive&#x22; | &#x22;simple&#x22; | &#x22;none&#x22; | &#x22;auth&#x22;">
      El modo de visualización del área de pruebas. El valor predeterminado es `interactive`.

      * `interactive` — Área de pruebas interactiva completa con constructor de solicitudes
      * `simple` — Vista simplificada sin el constructor de solicitudes
      * `none` — Ocultar el área de pruebas por completo
      * `auth` — Mostrar el área de pruebas solo a usuarios autenticados
    </ResponseField>

    <ResponseField name="proxy" type="boolean">
      Si se deben enrutar las solicitudes de API a través de un servidor proxy. El valor predeterminado es `true`.
    </ResponseField>

    <ResponseField name="credentials" type="boolean">
      Indica si se deben incluir cookies y encabezados de autenticación en las solicitudes cross-origin cuando `proxy` es `false`. El valor predeterminado es `false`. No tiene efecto cuando `proxy` es `true`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="api.params" type="object">
  Configuración de visualización para los parámetros de la API.

  <Expandable title="api.params">
    <ResponseField name="expanded" type="&#x22;all&#x22; | &#x22;closed&#x22;">
      Si se expanden todos los parámetros de forma predeterminada. El valor predeterminado es `closed`.
    </ResponseField>

    <ResponseField name="post" type="array of string">
      Claves de campos de la especificación OpenAPI que se mostrarán como píldoras post junto al nombre de cada parámetro en las páginas de referencia de la API y en el playground. Para cada clave que enumeres, Mintlify lee el valor del esquema y lo renderiza como una píldora:

      * Los valores de cadena se renderizan como la cadena literal.
      * `true` renderiza el nombre de la clave como etiqueta de la píldora. `false`, `null` y las cadenas vacías no renderizan nada.
      * Los valores numéricos renderizan el número convertido a cadena.
      * Los arreglos de cadenas o números renderizan una píldora por elemento.
      * Los objetos y otros valores se omiten.

      Usa esto para exponer campos personalizados de OpenAPI —como `x-internal`, `nullable` o extensiones de proveedor— como anotaciones visuales en cada parámetro sin necesidad de configuración por propiedad.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="api.url" type="&#x22;full&#x22;">
  Modo de visualización de la URL base en el encabezado del endpoint. Establece `full` para mostrar siempre la URL base completa en cada página de endpoint. Por defecto, la URL base solo se muestra cuando hay múltiples URLs base para seleccionar.
</ResponseField>

<ResponseField name="api.examples" type="object">
  Configuración para los ejemplos de código de API generados automáticamente.

  <Expandable title="api.examples">
    <ResponseField name="languages" type="array of string">
      Lenguajes para los fragmentos de código generados automáticamente. Consulta [lenguajes compatibles](/es/api-playground/overview#all-supported-languages) para ver la lista completa de lenguajes y alias disponibles.
    </ResponseField>

    <ResponseField name="defaults" type="&#x22;required&#x22; | &#x22;all&#x22;">
      Si se incluyen parámetros opcionales en los ejemplos generados. El valor predeterminado es `all`.
    </ResponseField>

    <ResponseField name="prefill" type="boolean">
      Si se precarga el área de pruebas con valores de ejemplo de tu especificación OpenAPI. El valor predeterminado es `false`.
    </ResponseField>

    <ResponseField name="autogenerate" type="boolean">
      Si se generan muestras de código para endpoints a partir de tu especificación de API. El valor predeterminado es `true`. Cuando se establece en `false`, solo aparecen en el área de pruebas las muestras de código escritas manualmente (desde `x-codeSamples` en OpenAPI o componentes `<RequestExample>` en MDX).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="api.mdx" type="object">
  Configuración para páginas de API creadas a partir de archivos MDX en lugar de especificaciones OpenAPI.

  <Expandable title="api.mdx">
    <ResponseField name="auth" type="object">
      Configuración de autenticación para solicitudes de API basadas en MDX.

      <Expandable title="auth">
        <ResponseField name="method" type="&#x22;bearer&#x22; | &#x22;basic&#x22; | &#x22;key&#x22; | &#x22;cobo&#x22;">
          Método de autenticación para las solicitudes de API.
        </ResponseField>

        <ResponseField name="name" type="string">
          Nombre del parámetro de autenticación para las solicitudes de API.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="server" type="string or array">
      URL base que se antepone a las rutas relativas en los campos de frontmatter `api` a nivel de página. No se utiliza cuando el frontmatter contiene una URL completa.
    </ResponseField>
  </Expandable>
</ResponseField>

## Ejemplo

```json docs.json theme={null}
{
  "api": {
    "openapi": ["openapi/v1.json", "openapi/v2.json"],
    "playground": {
      "display": "interactive"
    },
    "params": {
      "expanded": "all",
      "post": ["nullable", "x-internal"]
    },
    "url": "full",
    "examples": {
      "languages": ["curl", "python", "javascript", "go"],
      "defaults": "required",
      "prefill": true,
      "autogenerate": true
    }
  }
}
```
