Référence APIHeatmap d'audit d'une Data Room
GET/v1/workspace/datarooms/{id}/audit/heatmap

Heatmap d'audit d'une Data Room

Renvoie la matrice de consultation viewers x documents d'une Data Room, avec tops, timeline 30 jours et totaux, sans exposer d'IP ni de User-Agent.

2 min de lectureTélécharger en PDF

Réponse exemple

{
"cells": [
[
"f0e9d8c7-b6a5-4321-9f8e-7d6c5b4a3210",
"aaaa1111-2222-4333-8444-555566667777",
12,
845000
],
[
"f0e9d8c7-b6a5-4321-9f8e-7d6c5b4a3210",
"bbbb1111-2222-4333-8444-555566667777",
9,
612000
],
[
"12345678-90ab-4cde-9f01-23456789abcd",
"aaaa1111-2222-4333-8444-555566667777",
4,
95000
]
],
"viewers": [
{
"id": "f0e9d8c7-b6a5-4321-9f8e-7d6c5b4a3210",
"email": "claire.moreau@fondvc.com",
"label": "Claire Moreau",
"status": "active",
"company": "Fond VC Partners",
"total_views": 27
},
{
"id": "12345678-90ab-4cde-9f01-23456789abcd",
"email": "audit@cabinet-xyz.fr",
"label": "audit@cabinet-xyz.fr",
"status": "invited",
"company": "Cabinet XYZ",
"total_views": 4
}
],
"dataroom": {
"id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"name": "Levee Serie A - Due Diligence",
"reference": "DR-2026-0042"
},
"timeline": [
{
"day": "2026-05-06",
"views": 0
},
{
"day": "2026-05-07",
"views": 3
},
{
"day": "2026-06-04",
"views": 5
}
],
"documents": [
{
"id": "aaaa1111-2222-4333-8444-555566667777",
"title": "Cap table 2026",
"total_views": 18
},
{
"id": "bbbb1111-2222-4333-8444-555566667777",
"title": "Contrats clients majeurs",
"total_views": 13
}
],
"top_viewers": [
{
"id": "f0e9d8c7-b6a5-4321-9f8e-7d6c5b4a3210",
"email": "claire.moreau@fondvc.com",
"label": "Claire Moreau",
"status": "active",
"company": "Fond VC Partners",
"total_views": 27
},
{
"id": "12345678-90ab-4cde-9f01-23456789abcd",
"email": "audit@cabinet-xyz.fr",
"label": "audit@cabinet-xyz.fr",
"status": "invited",
"company": "Cabinet XYZ",
"total_views": 4
}
],
"generated_at": "2026-06-05T09:30:00.000Z",
"top_documents": [
{
"id": "aaaa1111-2222-4333-8444-555566667777",
"title": "Cap table 2026",
"total_views": 18
},
{
"id": "bbbb1111-2222-4333-8444-555566667777",
"title": "Contrats clients majeurs",
"total_views": 13
}
]
}
GET/v1/workspace/datarooms/{id}/audit/heatmapMatrice de consultation (viewers x documents) d'une Data Room, agregee cote serveur.

Cet endpoint alimente la vue Audit vendor d'une Data Room. Il calcule, cote serveur, une heatmap croisant les viewers invites et les documents, le nombre de vues par cellule, la duree cumulee de consultation, les tops (5 viewers et 5 documents les plus consultes) et une timeline des 30 derniers jours. Les vues prises en compte couvrent les 60 derniers jours (les cellules et les totaux), tandis que la timeline ne porte que sur les 30 derniers jours. Aucune adresse IP ni User-Agent brut n'est renvoye dans la reponse : seules des donnees agregees et l'identite des viewers (label, email) sont exposees, par prudence vis-a-vis de la conformite RGPD interne.

Authentification

L'acces repose sur une session authentifiee valide (via getAuthedContext), aucun scope de cle API specifique n'est requis. L'appelant doit en outre pouvoir gerer la Data Room : etre proprietaire de compte (isAccountOwner), avoir le role workspace owner ou admin, ou disposer de la capacite can_manage_coffres. La Data Room ciblee doit appartenir au workspace courant (workspace_id verifie cote serveur en defense en profondeur).

Parametres de chemin

ChampTypeRequisDescription
idstring (UUID)OuiIdentifiant de la Data Room. Doit correspondre au format UUID 36 caracteres (^[a-f0-9-]{36}$), sinon la requete est rejetee en 400.

Reponse

La reponse JSON contient l'objet dataroom (id, reference, name), la liste viewers (chaque viewer avec id, label derive du nom ou de l'email, email, company, status, total_views), la liste documents (id, title, total_views), et cells, un tableau de tuples [viewerId, documentId, count, durationMs] ou count est le nombre de vues et durationMs la duree cumulee. Les champs top_viewers et top_documents reprennent les 5 entrees les plus consultees, triees par total_views decroissant. timeline est un tableau de 30 buckets contigus { day: 'YYYY-MM-DD', views: N } (cles UTC, jours sans activite inclus avec views: 0). Enfin generated_at horodate la generation (ISO 8601). La reponse est servie avec l'en-tete Cache-Control: no-store.

ChampTypeDescription
dataroomobjectMetadonnees de la Data Room : id, reference, name.
viewersarrayViewers invites avec id, label, email, company, status, total_views.
documentsarrayDocuments de la Data Room avec id, title, total_views.
cellsarrayTuples [viewerId, documentId, count, durationMs] : une cellule par couple viewer/document consulte.
top_viewersarrayJusqu'a 5 viewers les plus consultes (id, label, total_views...), tri decroissant.
top_documentsarrayJusqu'a 5 documents les plus consultes (id, title, total_views), tri decroissant.
timelinearray30 buckets { day, views } (UTC), jours vides remplis a 0.
generated_atstringHorodatage ISO 8601 de generation de la heatmap.

Erreurs

CodeQuandResolution
400 bad_requestL'id est absent ou ne respecte pas le format UUID attendu.Fournir un identifiant de Data Room valide (UUID 36 caracteres).
401 unauthorizedAucune session authentifiee valide n'a pu etre etablie.Se reconnecter et reessayer avec une session active.
403 forbiddenL'utilisateur n'a pas la capacite de gestion, ou la Data Room appartient a un autre workspace.Verifier le role/capacite (owner, admin ou can_manage_coffres) et que la Data Room appartient bien au workspace courant.
404 not_foundAucune Data Room ne correspond a l'id fourni.Verifier l'identifiant de la Data Room.

Voir aussi