Référence APILister les documents reçus
GET/v1/intakes/{id}/documents

Lister les documents reçus

Récupérez la liste paginée des dépôts reçus sur un intake, avec leurs métadonnées et filtres par référence client.

2 min de lectureTélécharger en PDF

Réponse exemple

{
"data": [
{
"id": "sub_8c1e2d",
"source": "widget",
"status": "received",
"metadata": {},
"encrypted": true,
"intake_id": "int_4f2a9c1b",
"created_at": "2026-06-11T14:25:00Z",
"files_count": 3,
"client_reference": "dossier-2026-0042",
"total_size_bytes": 524288
}
],
"limit": 25,
"object": "list",
"has_more": false,
"next_cursor": null
}

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ètreTypeObligatoireDescription
idstring (URL)ouiIdentifiant de l'intake, par exemple <code>in_01HZX4Y2KQRS9V8B</code>.
referencestringnonFiltre les dépôts dont <code>client_reference</code> correspond exactement à la valeur fournie.
statusstringnonFiltre par état du dépôt. Valeurs : <code>received</code> ou <code>processing</code>.
limitintegernonNombre maximal de dépôts renvoyés. Défaut 20, maximum 100.
cursorstringnonCurseur 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.

ChampTypeDescription
idstringIdentifiant du dépôt, préfixe <code>doc_</code>.
intake_idstringIdentifiant de l'intake parent.
client_referencestring ou nullRéférence opaque que vous avez attachée au dépôt (numéro de dossier interne).
metadataobject ou nullMétadonnées libres si <code>metadata_policy</code> = <code>allow</code>, sinon <code>null</code>.
statusstring<code>received</code> (en attente de traitement côté pro) ou <code>processing</code>.
files_countintegerNombre de fichiers chiffrés contenus dans le dépôt.
total_size_bytesintegerTaille totale cumulée des blobs chiffrés, en octets.
encryptedbooleanToujours <code>true</code> pour un dépôt collecté par les canaux officiels.
sourcestring<code>widget</code> (déposé via le formulaire embarqué) ou <code>api</code> (déposé via le SDK headless).
created_atstring (ISO 8601)Horodatage de réception du dépôt.

Codes de statut

CodeSignification
200 OKLa liste a été renvoyée.
401 UnauthorizedClé API manquante, invalide ou révoquée.
403 ForbiddenClé valide mais sans le scope <code>intake_read</code>, ou intake appartenant à un autre compte.
404 Not FoundAucun intake ne correspond à l'identifiant fourni dans l'environnement courant.
422 Unprocessable EntityParamètre invalide (par exemple <code>limit</code> supérieur à 100).
429 Too Many RequestsRythme 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.

curl -G https://api.coffrify.com/v1/intakes/in_01HZX4Y2KQRS9V8B/documents \
-H "Authorization: Bearer $COFFRIFY_API_KEY" \
--data-urlencode "reference=DOSSIER-2026-0418" \
--data-urlencode "status=received" \
--data-urlencode "limit=20"

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>.

{
"object": "list",
"data": [
{
"id": "doc_01HZX5C8N2PR7TQM",
"intake_id": "in_01HZX4Y2KQRS9V8B",
"client_reference": "DOSSIER-2026-0418",
"metadata": {
"deposant_label": "Acquereur",
"canal": "site_cabinet"
},
"status": "received",
"files_count": 3,
"total_size_bytes": 4521308,
"encrypted": true,
"source": "widget",
"created_at": "2026-06-11T08:42:17Z"
},
{
"id": "doc_01HZX59FJ4KZ1ABC",
"intake_id": "in_01HZX4Y2KQRS9V8B",
"client_reference": "DOSSIER-2026-0418",
"metadata": {
"deposant_label": "Vendeur",
"canal": "api"
},
"status": "received",
"files_count": 1,
"total_size_bytes": 1208734,
"encrypted": true,
"source": "api",
"created_at": "2026-06-10T17:09:54Z"
}
],
"has_more": true,
"next_cursor": "cur_01HZX59FJ4KZ1ABC"
}

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é.