> For the complete documentation index, see [llms.txt](https://gitbook.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook.com/docs/documentation/fr/api-references/guides/structuring-your-api-reference.md).

# Structurer votre référence d’API

GitBook fait bien plus que simplement afficher votre spécification OpenAPI. Il vous permet de personnaliser votre référence d’API pour plus de clarté, une meilleure navigation et une image de marque cohérente.

Pour choisir entre **Une page par tag** et **Une page par opération**, voir [Mises en page OpenAPI](/docs/documentation/fr/api-references/guides/openapi-layouts.md).

Cette page explique comment contrôler la navigation générée à l’aide des tags.

### Utilisez les tags pour organiser les pages générées

GitBook utilise les tags pour organiser les pages de référence API générées dans les deux mises en page.

Avec **Une page par tag**, GitBook crée une page pour chaque tag. Avec **Une page par opération**, GitBook crée une page pour chaque opération et utilise les tags pour regrouper ces pages dans la table des matières.

Pour regrouper les opérations liées, attribuez le même tag à chaque opération :

<pre class="language-yaml" data-title="openapi.yaml"><code class="lang-yaml">paths:
  /pet:
    put:
<strong>      tags:
</strong><strong>        - pet
</strong>      summary: Mettre à jour un animal de compagnie existant.
      description: Mettre à jour un animal de compagnie existant par ID.
      operationId: updatePet
</code></pre>

### Réorganisez les pages dans votre table des matières

L’ordre des pages de tags générées ou des groupes de tags correspond à l’ordre des tags dans votre OpenAPI `tags` array:

<pre class="language-yaml" data-title="openapi.yaml"><code class="lang-yaml">tags:
<strong>  - name: pet
</strong><strong>  - name: store
</strong><strong>  - name: user
</strong></code></pre>

### Imbriquez les pages dans des groupes

Pour créer une navigation à plusieurs niveaux, utilisez `x-parent` (ou `parent`) dans les tags pour définir la hiérarchie. Cela fonctionne avec les deux structures de pages :

<pre class="language-yaml" data-title="openapi.yaml"><code class="lang-yaml">tags:
  - name: everything
  - name: pet
<strong>    x-parent: everything
</strong>  - name: store
<strong>    x-parent: everything
</strong></code></pre>

L’exemple ci-dessus crée une table des matières comme celle-ci :

```
Tout
├── Animal de compagnie
└── Magasin
```

Si GitBook génère une page parent et que cette page n’a pas de description, il affiche une mise en page sous forme de cartes pour ses sous-pages.

### Personnalisez les titres, icônes et descriptions des pages

Vous pouvez enrichir les pages de tags générées et les libellés de navigation avec des extensions personnalisées dans la `tags` section. Tous [icônes Font Awesome](https://fontawesome.com/search) sont prises en charge via `x-page-icon`.

{% code title="openapi.yaml" %}

```yaml
tags:
  - name: pet
    # Titre de la page affiché dans la table des matières et sur la page
    x-page-title: Animal de compagnie
    # Icône affichée dans la table des matières et à côté du titre de la page
    x-page-icon: dog
    # Description affichée juste au-dessus du titre
    x-page-description: Les animaux de compagnie sont géniaux !
    # Contenu de la page
    description: Tout sur vos animaux de compagnie
```

{% endcode %}

### Créez des descriptions riches avec les blocs GitBook

Les champs de description des tags prennent en charge la syntaxe Markdown de GitBook, y compris [les blocs avancés](/docs/documentation/fr/creating-content/blocks.md) comme les onglets :

{% code title="openapi.yaml" %}

```yaml
---
tags:
  - name: pet
    description: |
      Voici le détail des animaux de compagnie.

      {% tabs %}
      {% tab title="Chien" %}
      Voici les chiens
      {% endtab %}

      {% tab title="Chat" %}
      Voici les chats
      {% endtab %}

      {% tab title="Lapin" %}
      Voici les lapins
      {% endtab %}
      {% endtabs %}
```

{% endcode %}

### Mettre en évidence les schémas

Vous pouvez mettre en évidence un schéma dans une description GitBook en utilisant la syntaxe Markdown de GitBook. Voici un exemple qui met en évidence le schéma « Pet » de la spécification « petstore » :

{% code title="openapi.yaml" %}

```yaml
---
tags:
  - name: pet
      description: |
          {% openapi-schemas spec="petstore" schemas="Pet" grouped="false" %}
              L’objet Pet
          {% endopenapi-schemas %}
```

{% endcode %}

### Documentez un point de terminaison de webhook

GitBook prend en charge OpenAPI 3.1, y compris les points de terminaison de webhook.

Le `champ webhooks` fait partie d’OpenAPI 3.1, votre spécification doit donc déclarer une version OpenAPI 3.1. Vous pouvez définir des webhooks directement dans votre fichier OpenAPI, et GitBook les affiche aux côtés de vos autres opérations API. Pour la prise en charge des versions dans les documents OpenAPI, voir [Compatibilité OpenAPI](/docs/documentation/fr/api-references/openapi.md#openapi-compatibility).

{% code title="openapi.yaml" %}

```yaml
---
openapi: 3.1.0 # Les webhooks sont disponibles à partir d’OpenAPI 3.1

webhooks:
  newPet:
    post:
      summary: Nouvel événement lié à un animal de compagnie
      description: Informations sur un nouvel animal de compagnie dans le système
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Pet"
      responses:
        "200":
          description: Retourner un statut 200 pour indiquer que les données ont été reçues avec succès
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://gitbook.com/docs/documentation/fr/api-references/guides/structuring-your-api-reference.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
