# Erreurs

Corps d'erreur unique, codes, et ce qui n'est pas un refus de solde Fonciq.

Toutes les erreurs partagent le même corps. `request_id` identifie l'appel dans le journal du tableau de bord, après la [connexion au studio](https://fonciq.ca/connexion). Le journal est conservé 30 jours.

```json
{
  "error": {
    "code": "account_required",
    "message": "Ajoutez un compte du Registre foncier dans les paramètres de l'API.",
    "request_id": "req_01HZX"
  }
}
```

| HTTP | `code` | Situation |
| --- | --- | --- |
| 400 | `invalid_request` | Corps, paramètre ou CSV refusé. Une adresse ou un matricule manque à la résolution. Un lot groupé dépasse 500 lots. |
| 401 | `unauthorized` | Clé absente, révoquée ou mal formée. |
| 403 | `forbidden` | La clé n'a pas la portée de l'opération. |
| 404 | `not_found` | Tâche, lot ou ressource introuvable. |
| 404 | `account_not_found` | `account_id` ne désigne pas un compte de l'organisation. |
| 409 | `account_required` | Aucun compte du Registre n'est enregistré alors que l'appel en exige un. |
| 409 | `watch_cap_reached` | L'organisation a atteint 25 surveillances actives. |
| 429 | `rate_limited` | Plus de 60 requêtes par minute pour cette clé. L'en-tête `Retry-After` donne le délai en secondes. |

Une reprise d'idempotence dans les 24 heures n'est pas une erreur : la réponse enregistrée pour cette clé est renvoyée.

Une réponse `4xx` ou `5xx` ne débite pas les 0,99 $. Les frais de 1,50 $ ne sont pas tirés d'un solde Fonciq. Une consultation n'est pas refusée parce qu'un portefeuille Fonciq de frais de registre serait à zéro : ce portefeuille n'existe pas. Le Registre facture le titulaire du compte lorsque le Registre est consulté. `GET /v1/billing/usage` reprend ces imputations. Aucun relevé du portail n'est lu : ces lignes portent `source` égal à `estimate`. Le solde développeur, lui, se recharge dans le [studio](https://fonciq.ca/studio/developpeurs). L'analyse structurée à 4,99 $ n'est pas encore disponible. **Bientôt.**

Le panneau d'essai refuse d'envoyer une clé qui n'a pas le préfixe `fq_test_`. Il la remplace par la clé d'essai de la documentation. Aucun débit réel n'est effectué.
