API Fichiers
Endpoints fichiers et dossiers
Endpoints fichiers et dossiers
Book: ConformVault — Stockage sécurisé de fichiers | Chapter: Reference API
Endpoints fichiers et dossiers
Fichiers
Tous les endpoints fichiers sont sous /api/v1/clients/:client_id/files.
GET /api/v1/clients/:client_id/files
Liste les fichiers d'un client dans un dossier donne.
Parametres query :
folder_id(optionnel) : ID du dossier parent (racine si omis)page(optionnel) : Numero de page (defaut: 1)per_page(optionnel) : Elements par page (defaut: 50)
Reponse :
{
"files": [
{
"id": "uuid",
"name": "document.pdf",
"size": 1048576,
"mime_type": "application/pdf",
"folder_id": "uuid",
"encryption_type": "client",
"uses_custom_key": true,
"created_at": "2026-02-14T00:00:00Z",
"updated_at": "2026-02-14T00:00:00Z"
}
],
"total": 10,
"page": 1,
"per_page": 50
}POST /api/v1/clients/:client_id/files
Upload d'un fichier (multipart/form-data).
Body (form-data) :
file: Le fichier binairefolder_id: ID du dossier de destinationencrypted_key(optionnel) : DEK chiffree RSA (pour E2E)key_version(optionnel) : Version de la cle RSA utiliseemetadata(optionnel) : Metadonnees de chiffrement (JSON)original_checksum(optionnel) : SHA-256 du fichier original
Limite : 25 MB (configurable via MAX_BODY_SIZE override sur la route upload)
GET /api/v1/clients/:client_id/files/:file_id
Recupere les metadonnees d'un fichier.
GET /api/v1/clients/:client_id/files/:file_id/download
Telecharge un fichier. Si le fichier est chiffre cote serveur, il est dechiffre avant envoi. Si chiffre cote client (uses_custom_key=true), le fichier chiffre est retourne tel quel avec les metadonnees de chiffrement dans les en-tetes.
DELETE /api/v1/clients/:client_id/files/:file_id
Supprime un fichier (S3 + metadonnees PostgreSQL).
POST /api/v1/clients/:client_id/files/:file_id/move
Deplace un fichier vers un autre dossier.
{
"target_folder_id": "uuid"
}Dossiers
Tous les endpoints dossiers sont sous /api/v1/clients/:client_id/folders.
GET /api/v1/clients/:client_id/folders
Liste les dossiers d'un client.
Parametres query :
parent_id(optionnel) : ID du dossier parent (racine si omis)
Reponse :
{
"folders": [
{
"id": "uuid",
"name": "Documents",
"parent_id": null,
"is_system": false,
"created_at": "2026-02-14T00:00:00Z"
}
]
}POST /api/v1/clients/:client_id/folders
Cree un nouveau dossier.
{
"name": "New Folder",
"parent_id": "uuid"
}PATCH /api/v1/clients/:client_id/folders/:folder_id
Renomme un dossier.
{
"name": "Renamed Folder"
}DELETE /api/v1/clients/:client_id/folders/:folder_id
Supprime un dossier et son contenu (recursif).
POST /api/v1/clients/:client_id/folders/:folder_id/move
Deplace un dossier.
{
"target_parent_id": "uuid"
}