---
title: Champs
description: "Documentez paramètres API et champs de réponse avec ParamField et ResponseField. Prend en charge les types, les valeurs par défaut et les objets imbriqués."
---

Les champs vous permettent de documenter les paramètres API et les champs de réponse dans un format clair et cohérent.

## Usage

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

## ParamField

Utilisez `ParamField` pour documenter les paramètres de requête API. Spécifiez l'emplacement du paramètre avec l'une des valeurs suivantes : `body`, `query`, `path` ou `header`.

<ParamField body="user_id" type="string" required>
  L'identifiant unique de l'utilisateur.
</ParamField>

<ParamField query="limit" type="number" default={10}>
  Nombre maximum de résultats à retourner.
</ParamField>

<ParamField header="Authorization" type="string" required>
  Token Bearer pour l'authentification.
</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>
```

### Paramètres de chemin

<ParamField path="id" type="string" required>
  Identifiant de la ressource dans le chemin URL.
</ParamField>

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

### Props ParamField

<ParamField name="body" type="string">
  Nom du paramètre pour les paramètres de body.
</ParamField>

<ParamField name="query" type="string">
  Nom du paramètre pour les paramètres de chaîne de requête.
</ParamField>

<ParamField name="path" type="string">
  Nom du paramètre pour les paramètres de chemin URL.
</ParamField>

<ParamField name="header" type="string">
  Nom du paramètre pour les paramètres d'en-tête.
</ParamField>

<ParamField name="type" type="string">
  Type de données (string, number, boolean, array, object).
</ParamField>

<ParamField name="required" type="boolean">
  Affiche un badge « required ».
</ParamField>

<ParamField name="default" type="string | number | boolean">
  Valeur par défaut lorsqu'elle n'est pas fournie.
</ParamField>

## ResponseField

Utilisez `ResponseField` pour documenter les propriétés de réponse API.

<ResponseField name="id" type="string" required>
  Identifiant unique de la ressource.
</ResponseField>

<ResponseField name="created_at" type="string">
  Horodatage ISO 8601 indiquant quand la ressource a été créée.
</ResponseField>

<ResponseField name="status" type="string" default="pending">
  Statut actuel de la requête.
</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>
```

### Champs dépréciés

Marquez les champs comme dépréciés pour indiquer qu'ils seront supprimés dans une future version :

<ResponseField name="legacy_id" type="number" deprecated>
  Utilisez `id` à la place. Ce champ sera supprimé dans la v2.
</ResponseField>

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

### Labels

Ajoutez du contexte avec les labels `pre` et `post` :

<ResponseField name="webhook_url" type="string" pre={["optional"]} post={["v2.1+"]}>
  URL pour recevoir les notifications Webhook.
</ResponseField>

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

### Objets imbriqués

Combinez avec `Expandable` pour documenter les propriétés d'objets imbriqués :

<ResponseField name="user" type="object">
  L'utilisateur qui a créé la ressource.
  <Expandable title="user properties">
    <ResponseField name="id" type="string" required>
      Identifiant unique de l'utilisateur.
    </ResponseField>
    <ResponseField name="email" type="string" required>
      Adresse e-mail de l'utilisateur.
    </ResponseField>
    <ResponseField name="name" type="string">
      Nom d'affichage de l'utilisateur.
    </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 ResponseField

<ParamField name="name" type="string" required>
  Nom du champ.
</ParamField>

<ParamField name="type" type="string">
  Type de données.
</ParamField>

<ParamField name="required" type="boolean">
  Affiche un badge « required ».
</ParamField>

<ParamField name="deprecated" type="boolean">
  Affiche le champ comme déprécié avec une mise en forme barrée.
</ParamField>

<ParamField name="default" type="string | number | boolean">
  Valeur par défaut.
</ParamField>

<ParamField name="pre" type="string[]">
  Labels affichés avant le nom du champ.
</ParamField>

<ParamField name="post" type="string[]">
  Labels affichés après le nom du champ.
</ParamField>

## Et ensuite ?

<Columns cols={2}>
  <Card title="Vue d'ensemble des composants" icon="puzzle-piece" href="/fr/components/overview">
    Parcourir tous les composants disponibles
  </Card>
  <Card title="Bases MDX" icon="file-code" href="/fr/content/mdx-basics">
    Apprendre à utiliser les composants en MDX
  </Card>
</Columns>
