Réponse exemple
Cet endpoint vous permet de récupérer la liste des dépôts reçus sur un intake donné, sous forme de page paginée par curseur. Vous obtenez uniquement les <b>métadonnées</b> des dépôts : Coffrify ne déchiffre jamais le contenu des fichiers et ne renvoie aucune donnée en clair issue du document. Utilisez cet endpoint pour afficher la file d'attente côté cabinet, déclencher un traitement automatique ou retrouver les dépôts associés à un dossier précis via le champ <code>client_reference</code>.
GET/v1/intakes/{id}/documentsListe paginée des dépôts reçus par un intake. Scope intake_read.L'identifiant <code>{id}</code> dans l'URL correspond à un intake que vous avez créé au préalable. Vous pouvez utiliser cet endpoint indifféremment avec une clé live, test ou sandbox : chaque environnement retourne ses propres dépôts. Les résultats sont triés du plus récent au plus ancien (<code>created_at</code> décroissant).
Paramètres
Tous les paramètres ci-dessous se passent en <i>query string</i>. Aucun corps de requête n'est attendu. Le filtre <code>reference</code> est particulièrement utile pour retrouver tous les dépôts d'un dossier client à partir du numéro interne que vous lui avez assigné.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| id | string (URL) | oui | Identifiant de l'intake, par exemple <code>in_01HZX4Y2KQRS9V8B</code>. |
| reference | string | non | Filtre les dépôts dont <code>client_reference</code> correspond exactement à la valeur fournie. |
| status | string | non | Filtre par état du dépôt. Valeurs : <code>received</code> ou <code>processing</code>. |
| limit | integer | non | Nombre maximal de dépôts renvoyés. Défaut 20, maximum 100. |
| cursor | string | non | Curseur de pagination renvoyé dans <code>next_cursor</code> à la page précédente. |
Champs renvoyés
Chaque entrée de <code>data</code> représente un dépôt unique reçu sur l'intake. Le champ <code>metadata</code> n'est rempli en clair que si la <code>metadata_policy</code> de l'intake vaut <code>allow</code> ; sinon il vaut <code>null</code>. Le champ <code>encrypted</code> indique toujours <code>true</code> pour les dépôts collectés via le widget ou l'API publique : le chiffrement de bout en bout est appliqué par défaut, la clé reste chez vous.
| Champ | Type | Description |
|---|---|---|
| id | string | Identifiant du dépôt, préfixe <code>doc_</code>. |
| intake_id | string | Identifiant de l'intake parent. |
| client_reference | string ou null | Référence opaque que vous avez attachée au dépôt (numéro de dossier interne). |
| metadata | object ou null | Métadonnées libres si <code>metadata_policy</code> = <code>allow</code>, sinon <code>null</code>. |
| status | string | <code>received</code> (en attente de traitement côté pro) ou <code>processing</code>. |
| files_count | integer | Nombre de fichiers chiffrés contenus dans le dépôt. |
| total_size_bytes | integer | Taille totale cumulée des blobs chiffrés, en octets. |
| encrypted | boolean | Toujours <code>true</code> pour un dépôt collecté par les canaux officiels. |
| source | string | <code>widget</code> (déposé via le formulaire embarqué) ou <code>api</code> (déposé via le SDK headless). |
| created_at | string (ISO 8601) | Horodatage de réception du dépôt. |
Codes de statut
| Code | Signification |
|---|---|
| 200 OK | La liste a été renvoyée. |
| 401 Unauthorized | Clé API manquante, invalide ou révoquée. |
| 403 Forbidden | Clé valide mais sans le scope <code>intake_read</code>, ou intake appartenant à un autre compte. |
| 404 Not Found | Aucun intake ne correspond à l'identifiant fourni dans l'environnement courant. |
| 422 Unprocessable Entity | Paramètre invalide (par exemple <code>limit</code> supérieur à 100). |
| 429 Too Many Requests | Rythme de requêtes dépassé, voir l'en-tête <code>Retry-After</code>. |
Exemple de requête
Authentifiez la requête avec votre clé serveur (<code>cof_live_</code>, <code>cof_test_</code> ou <code>cof_sandbox_</code>). Les clés navigateur <code>cip_</code> ne peuvent pas appeler cet endpoint. L'en-tête <code>Idempotency-Key</code> n'est pas requis ici puisqu'il s'agit d'une lecture.
Exemple de réponse
La réponse suit l'enveloppe standard de pagination par curseur. Le champ <code>has_more</code> indique s'il reste des dépôts à charger ; le cas échéant, repassez le <code>next_cursor</code> dans le paramètre <code>cursor</code> de l'appel suivant. Notez que <code>metadata</code> contient ici des champs en clair parce que l'intake a été créé avec <code>metadata_policy: "allow"</code>.
Pagination
La pagination est purement curseur : il n'y a pas de numéro de page ni de compteur total. Pour parcourir l'ensemble des dépôts d'un intake, bouclez tant que <code>has_more</code> vaut <code>true</code> en réinjectant <code>next_cursor</code>. Les curseurs sont stables : un dépôt nouvellement reçu pendant votre parcours apparaîtra en tête lors d'une prochaine boucle, pas au milieu de la page courante.
Pour récupérer les blobs chiffrés et l'enveloppe de déchiffrement d'un dépôt précis, enchaînez avec un appel à <code>GET /v1/intakes/{id}/documents/{docId}</code>. Le déchiffrement a lieu côté client par le détenteur de la clé privée : Coffrify n'y a pas accès, même momentané.