---
title: Campos
description: Documenta parámetros de API y campos de respuesta con los componentes ParamField y ResponseField. Soporta tipos, valores por defecto y objetos anidados.
---

Los campos te ayudan a documentar parámetros de API y campos de respuesta en un formato claro y consistente.

## Uso

```mdx
<ParamField query="limit" type="number" default={10}>
  Maximum number of results to return.
</ParamField>
```

## ParamField

Usa `ParamField` para documentar los parámetros de solicitud de la API. Especifica la ubicación del parámetro usando uno de los siguientes: `body`, `query`, `path` o `header`.

<ParamField body="user_id" type="string" required>
  El identificador único del usuario.
</ParamField>

<ParamField query="limit" type="number" default={10}>
  Número máximo de resultados a devolver.
</ParamField>

<ParamField header="Authorization" type="string" required>
  Token Bearer para autenticación.
</ParamField>

```mdx
<ParamField body="user_id" type="string" required>
  The unique identifier for the user.
</ParamField>

<ParamField query="limit" type="number" default={10}>
  Maximum number of results to return.
</ParamField>

<ParamField header="Authorization" type="string" required>
  Bearer token for authentication.
</ParamField>
```

### Parámetros de ruta

<ParamField path="id" type="string" required>
  Identificador del recurso en la ruta URL.
</ParamField>

```mdx
<ParamField path="id" type="string" required>
  Resource identifier in the URL path.
</ParamField>
```

### Props de ParamField

<ParamField name="body" type="string">
  Nombre del parámetro para parámetros de cuerpo.
</ParamField>

<ParamField name="query" type="string">
  Nombre del parámetro para parámetros de cadena de consulta.
</ParamField>

<ParamField name="path" type="string">
  Nombre del parámetro para parámetros de ruta URL.
</ParamField>

<ParamField name="header" type="string">
  Nombre del parámetro para parámetros de encabezado.
</ParamField>

<ParamField name="type" type="string">
  Tipo de dato (string, number, boolean, array, object).
</ParamField>

<ParamField name="required" type="boolean">
  Muestra una insignia de "requerido".
</ParamField>

<ParamField name="default" type="string | number | boolean">
  Valor por defecto cuando no se proporciona.
</ParamField>

## ResponseField

Usa `ResponseField` para documentar las propiedades de la respuesta de la API.

<ResponseField name="id" type="string" required>
  Identificador único del recurso.
</ResponseField>

<ResponseField name="created_at" type="string">
  Marca de tiempo ISO 8601 de cuándo se creó el recurso.
</ResponseField>

<ResponseField name="status" type="string" default="pending">
  Estado actual de la solicitud.
</ResponseField>

```mdx
<ResponseField name="id" type="string" required>
  Unique identifier for the resource.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 timestamp of when the resource was created.
</ResponseField>

<ResponseField name="status" type="string" default="pending">
  Current status of the request.
</ResponseField>
```

### Campos obsoletos

Marca los campos como obsoletos para indicar que serán eliminados en una versión futura:

<ResponseField name="legacy_id" type="number" deprecated>
  Usa `id` en su lugar. Este campo será eliminado en v2.
</ResponseField>

```mdx
<ResponseField name="legacy_id" type="number" deprecated>
  Use `id` instead. This field will be removed in v2.
</ResponseField>
```

### Etiquetas

Añade contexto con etiquetas `pre` y `post`:

<ResponseField name="webhook_url" type="string" pre={["optional"]} post={["v2.1+"]}>
  URL para recibir notificaciones de Webhook.
</ResponseField>

```mdx
<ResponseField name="webhook_url" type="string" pre={["optional"]} post={["v2.1+"]}>
  URL to receive webhook notifications.
</ResponseField>
```

### Objetos anidados

Combina con `Expandable` para documentar propiedades de objetos anidados:

<ResponseField name="user" type="object">
  El usuario que creó el recurso.
  <Expandable title="user properties">
    <ResponseField name="id" type="string" required>
      Identificador único del usuario.
    </ResponseField>
    <ResponseField name="email" type="string" required>
      Dirección de correo electrónico del usuario.
    </ResponseField>
    <ResponseField name="name" type="string">
      Nombre de visualización del usuario.
    </ResponseField>
  </Expandable>
</ResponseField>

```mdx
<ResponseField name="user" type="object">
  The user who created the resource.
  <Expandable title="user properties">
    <ResponseField name="id" type="string" required>
      User's unique identifier.
    </ResponseField>
    <ResponseField name="email" type="string" required>
      User's email address.
    </ResponseField>
    <ResponseField name="name" type="string">
      User's display name.
    </ResponseField>
  </Expandable>
</ResponseField>
```

### Props de ResponseField

<ParamField name="name" type="string" required>
  Nombre del campo.
</ParamField>

<ParamField name="type" type="string">
  Tipo de dato.
</ParamField>

<ParamField name="required" type="boolean">
  Muestra una insignia de "requerido".
</ParamField>

<ParamField name="deprecated" type="boolean">
  Muestra el campo como obsoleto con tachado.
</ParamField>

<ParamField name="default" type="string | number | boolean">
  Valor por defecto.
</ParamField>

<ParamField name="pre" type="string[]">
  Etiquetas mostradas antes del nombre del campo.
</ParamField>

<ParamField name="post" type="string[]">
  Etiquetas mostradas después del nombre del campo.
</ParamField>

## ¿Qué sigue?

<Columns cols={2}>
  <Card title="Descripción general de componentes" icon="puzzle-piece" href="/es/components/overview">
    Explora todos los componentes disponibles
  </Card>
  <Card title="Conceptos básicos de MDX" icon="file-code" href="/es/content/mdx-basics">
    Aprende a usar componentes en MDX
  </Card>
</Columns>
