# Objets

Référence complète des objets renvoyés par l'API. Les dates sont en UTC, au format ISO 8601 (`2026-09-28T14:49:06Z`). Un champ sans valeur vaut `null` : il est toujours présent.

## Submission (envoi)

| Champ | Type | Description |
|---|---|---|
| `id` | texte | Identifiant, préfixe `sub_`. |
| `mode` | texte | `live` ou `test`. |
| `status` | texte | `processing` puis `completed`. |
| `final_check` | objet ou `null` | Vérification de dossier demandée. Voir ci-dessous. |
| `documents_count` | entier | Nombre de vérifications créées. |
| `credits_charged` | entier | Crédits débités à l'envoi (les remboursements apparaissent sur chaque vérification, `refunded`). |
| `checks` | tableau de Check | Une vérification par document. |
| `created_at` | date | Création de l'envoi. |
| `completed_at` | date ou `null` | Fin de l'envoi. |

### final_check

| Champ | Type | Description |
|---|---|---|
| `type` | texte | L'instruction demandée (`dossier_location`...). |
| `status` | texte | `pending`, `processing`, `completed`, `failed` ou `skipped`. |
| `result` | Check ou `null` | La synthèse du dossier (`type` = `final_check`), quand elle existe. |

## Check (vérification)

| Champ | Type | Description |
|---|---|---|
| `id` | texte | Identifiant, préfixe `chk_`. |
| `submission_id` | texte ou `null` | L'envoi d'origine. `null` pour une vérification faite sur le site ou pour une synthèse de dossier. |
| `type` | texte | `document` ou `final_check` (synthèse de dossier). |
| `status` | texte | `pending`, `processing`, `completed` ou `failed`. |
| `verdict` | texte ou `null` | `CONFORME`, `SUSPECT`, `NON-CONFORME` ou `FAKE`. Présent seulement quand `status` = `completed`. |
| `confidence_score` | nombre ou `null` | De 0 à 1 : confiance dans l'authenticité du document. |
| `document_type` | texte ou `null` | Type détecté, une clé de [GET /document-types](/developpeurs/compte-et-referentiels) (pour une synthèse : l'instruction de dossier). |
| `document_label` | texte ou `null` | Libellé lisible du type, parfois plus précis que le type (« RIB Crédit Agricole »). |
| `filename` | texte | Nom du fichier. Une page de PDF découpé s'appelle `nom_part2_sur_5.pdf`. |
| `page` | objet ou `null` | `{ "number": 2, "total": 5 }` pour une page de PDF découpé. |
| `archive_name` | texte ou `null` | L'archive ZIP ou RAR d'origine. |
| `refunded` | booléen | `true` si le crédit de ce document a été rendu (fichier qui n'est pas un document, ou analyse en échec). |
| `created_at` | date | Création. |
| `completed_at` | date ou `null` | Fin de l'analyse (`completed` ou `failed`). |
| `report_url` | texte ou `null` | Adresse du rapport PDF, quand `status` = `completed`. |
| `details` | objet | Seulement avec `?detail=full`. Voir ci-dessous. |

### details (avec `?detail=full`)

Textes rédigés en français pour un humain. Affichez-les, mais ne programmez pas de décision dessus : utilisez `verdict`.

| Champ | Type | Description |
|---|---|---|
| `analysis` | texte ou `null` | L'analyse complète : ce qui a été contrôlé, et les résultats des contrôles techniques du fichier. |
| `positive_points` | texte ou `null` | Ce qui plaide pour l'authenticité. |
| `negative_points` | texte ou `null` | Ce qui plaide contre. |
| `anomalies` | texte ou `null` | Anomalies relevées. |
| `recommendations` | texte ou `null` | Ce que nous conseillons de faire. |
| `technical_quality` | texte ou `null` | Qualité du fichier : `excellent`, `bon`, `moyen` ou `faible`. |

## Event (webhook)

| Champ | Type | Description |
|---|---|---|
| `id` | texte | Identifiant, préfixe `evt_`. Servez-vous en pour dédoublonner. |
| `type` | texte | `submission.completed` ou `ping`. |
| `created_at` | date | Émission de l'évènement. |
| `data` | objet | Pour `submission.completed` : l'objet Submission. |

## Error

| Champ | Type | Description |
|---|---|---|
| `error.code` | texte | Code stable. Voir [Erreurs et limites](/developpeurs/erreurs-et-limites). |
| `error.message` | texte | Explication pour un humain. |
| `error.details` | objet | Facultatif. |
