# Réponses

L'API répond aux requêtes **HTTPS POST** avec le contenu JSON. En cas de succès, le code d'état **est 200** et le contenu contient le résultat selon l'appel. Chaque réponse contient  le champ **message**. Ce champ décrit **la cause de l'erreur** ou **une information de succès.**

#### Exemple après une authentification réussie

Code : `200 OK`

```
 {
    "Dictionary": {
        "version": 1,
        "authorization": "all",
        "endValidity": "2022-07-16",
        "variety": "shiKomori",
        "entries": "10841/10841",
        "words": [
            ...
            ]
    },
    "message": "Votre licence expire le 2022-07-16. Vous disposez de 10841/10841 mots pour la suggestion automatique du clavier."
}
```

#### Exemple, lorsqu'il y a une erreur d'authentification

Code : `401 Unauthorized`

```
{
    "Dictionary": {
        "authorization": "none"
    },
    "message": "AUTH - L'identifiant ou mot de passe est incorrect!"
}
```

### Les codes d'erreur <a href="#reponses_derreur_cote_client" id="reponses_derreur_cote_client"></a>

* `400 Bad Request` - Cette erreur est renvoyée quand il y aune erreur de syntaxe dans la requête, ou qu'il manque un champ obligatoire.
* `401 Unauthorized` - Cette erreur est causée pendant l'authentification cliente, quand il y a des identifiants ou une clé API invalides, ou quand le client n'a pas de permission pour accéder au Endpoint.
* `403 Forbidden` - Cette erreur est renvoyée quand le client n'a pas les droits d'accès au contenu, donc le serveur refuse de donner la véritable réponse.
* `405 Method Not Allowed` -  Cette erreur est renvoyée quand la méthode n'est pas implémentée ou n'est pas autorisée  par le serveur.
* `408 Request Timeout` - Cette erreur est renvoyée quand il y a des requêtes lourdes qui prennent trop de temps à traiter (de l'ordre de dizaines de secondes).&#x20;
* `429 Too Many Requests` - Cette erreur est renvoyée quand l'utilisateur émet trop de requêtes dans un laps temps donné.
* `500 Internal Server Error` - Cette erreur est renvoyée quand le serveur rencontre une situation qu'il ne sait pas traiter.


---

# Agent Instructions: 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:

```
GET https://connector-api.orelc.ac/etape-de-developpement/3.-developper-votre-application/reponses.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
