Référence APIAjouter un document à une data room
POST/v1/workspace/datarooms/{id}/documents

Ajouter un document à une data room

Rattache un fichier (coffre, transfert ou upload) à une data room et l'ajoute en fin de liste.

1 min de lectureTélécharger en PDF

Requête exemple

{
"title": "Pacte d'associés 2026.pdf",
"sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"mime_type": "application/pdf",
"source_id": "d9f4c2a1-7e8b-4c3a-9d20-5f1e8b2c6a90",
"size_bytes": 482301,
"description": "Version signée du pacte",
"source_type": "vault_file",
"watermark_required": true
}

Réponse exemple

{
"id": "7c1f0a2e-5b3d-4f9a-8c10-2e6b9d4f1a33",
"title": "Pacte d'associés 2026.pdf",
"sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"added_by": "e1a0c3b2-4d5e-6f70-8192-a3b4c5d6e7f8",
"mime_type": "application/pdf",
"source_id": "d9f4c2a1-7e8b-4c3a-9d20-5f1e8b2c6a90",
"size_bytes": 482301,
"dataroom_id": "a4e2b8d1-9f3c-4a7e-bb20-1c5d7e9a3f44",
"description": "Version signée du pacte",
"order_index": 2,
"source_type": "vault_file",
"watermark_required": true
}
POST/v1/workspace/datarooms/{id}/documentsAjoute un document à une data room en le plaçant en fin de liste.

Rattache un document à la data room {id}. La source peut être un fichier du coffre (vault_file), un fichier issu d'un transfert (transfer_file) ou un upload direct (upload) ; dans ce dernier cas, source_id correspond à la clé d'objet de stockage. Le nouvel order_index est calculé automatiquement comme max(order_index) + 1, plaçant le document en fin de liste. Une entrée d'audit dataroom.document_added est écrite en mode best-effort (elle ne bloque jamais la création). En cas de succès, la réponse est renvoyée avec le statut 201.

Authentification

Cet endpoint utilise la session Supabase (cookie de connexion) : aucun scope de clé API spécifique n'est requis, mais une session valide l'est. Le workspace est résolu via le cookie cf-workspace-id (sinon le premier workspace actif). L'utilisateur doit avoir l'un des rôles de gestion owner, admin ou member ; tout autre rôle reçoit une erreur 403.

Corps de la requête

ChampTypeRequisDescription
source_typestringouiOrigine du document : vault_file, transfer_file ou upload. Toute autre valeur renvoie 400.
source_idstringouiUUID du fichier coffre/transfert ou clé d'objet de l'upload. Vide ou non-chaîne renvoie 400.
titlestringnonTitre affiché, tronqué à 200 caractères. À défaut, source_id est utilisé.
descriptionstringnonDescription libre, tronquée à 1000 caractères ; null si absente/vide.
mime_typestringnonType MIME, tronqué à 200 caractères ; null si absent.
size_bytesnumbernonTaille en octets (entier ≥ 0) ; toute autre valeur est ignorée et stockée null.
sha256stringnonEmpreinte SHA-256 (64 caractères hexadécimaux) ; toute valeur non conforme est ignorée et stockée null.
watermark_requiredbooleannonFiligrane requis. Vaut true par défaut ; seul false désactive le filigrane.

Réponse

La ligne complète du document créé dans coffrify_dataroom_documents, avec son id généré, l'order_index attribué (fin de liste), les champs normalisés (title, description, mime_type, size_bytes, sha256, watermark_required) et added_by renseigné avec l'utilisateur courant.

Erreurs

CodeQuandRésolution
400Corps JSON invalide (Invalid JSON), source_type non reconnu (Invalid source_type) ou source_id manquant (source_id required).Vérifiez le format du JSON, l'une des trois valeurs de source_type et la présence d'un source_id non vide.
401Aucune session utilisateur valide (Unauthorized).Authentifiez l'utilisateur via une session Supabase active.
403Rôle insuffisant (Insufficient permissions).Utilisez un compte ayant le rôle owner, admin ou member dans le workspace.
404Aucun workspace actif (No active workspace) ou data room introuvable / hors du workspace (Not found).Vérifiez le workspace actif et que {id} appartient à ce workspace.
500Échec d'insertion en base.Réessayez ; si l'erreur persiste, contactez le support avec le message renvoyé.

Voir aussi