L'endpoint GET /v1/transfers/export vous permet de récupérer en une seule requête l'ensemble des transferts de votre espace de travail. Contrairement à l'endpoint de liste paginé (GET /v1/transfers), celui-ci renvoie un dump plat : jusqu'à 10 000 lignes en une passe, trié par date de création décroissante. Vous pouvez demander une réponse au format CSV (fichier téléchargeable, idéal pour Excel ou Google Sheets) ou JSON (pour un traitement programmatique). Un paramètre status permet de restreindre l'export à un sous-ensemble de transferts.
/v1/transfers/exportExport en masse des transferts du workspace (CSV ou JSON). Classé `expensive` : quota dédié, distinct des appels de lecture standard.Authentification
Cet endpoint nécessite une clé API avec le scope transfers:read. Passez votre clé dans le header Authorization au format Bearer : Authorization: Bearer cof_live_…. En environnement de test utilisez le préfixe cof_test_… ; en sandbox cof_sandbox_…. L'endpoint est classé expensive : son quota par minute est distinct du quota standard de lecture.
Paramètres de requête
L'export accepte un format (CSV ou JSON) et des filtres (statut, plage de dates). Le tableau ci-dessous détaille les paramètres acceptés.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| format | string | json | Format de la réponse : csv ou json. |
| limit | integer | 1000 | Nombre maximum de lignes à retourner. Valeur entre 1 et 10 000 (plafond absolu). |
| status | string | (tous) | Filtre optionnel sur le statut du transfert : active, expired, revoked, etc. |
Exemples de code
L'exemple ci-dessous exporte les transferts au format CSV, puis au format JSON. Choisissez votre langage.
Réponse
Format CSV : la réponse est un fichier texte avec les headers HTTP Content-Type: text/csv; charset=utf-8 et Content-Disposition: attachment; filename="coffrify-transfers-YYYY-MM-DD.csv". Le nom du fichier inclut la date du jour au format ISO. Les valeurs contenant des guillemets ou des virgules sont correctement échappées. Format JSON (par défaut) : la réponse est un objet avec les clés object, format, data, count, limit_reached et note. Si limit_reached vaut true, passez un limit plus élevé (max 10 000) ou filtrez par status.
| Champ | Type | Description |
|---|---|---|
| id | string (UUID) | Identifiant unique du transfert. |
| short_code | string | Code court servant de slug dans l'URL de partage (files.coffrify.com/{short_code}). |
| transfer_title | string|null | Titre donné au transfert lors de sa création. |
| status | string | Statut courant : active, expired, revoked, etc. |
| expires_at | string (ISO 8601)|null | Date d'expiration du transfert. |
| max_downloads | integer|null | Nombre de téléchargements autorisés. null signifie illimité. |
| total_downloads | integer | Nombre de téléchargements effectués à ce jour. |
| scan_status | string | Statut de l'analyse antivirus : clean, infected, quarantined, flagged, pending. |
| encryption_mode | string | Mode de chiffrement : standard (AES-256-GCM côté serveur) ou zero_knowledge. |
| is_password_protected | boolean | Indique si le transfert est protégé par un mot de passe. |
| watermark_enabled | boolean | Indique si le filigrane est activé pour ce transfert. |
| recipient_email | string|null | Adresse e-mail du destinataire désigné, le cas échéant. |
| created_at | string (ISO 8601) | Date de création du transfert. |
Erreurs
Les erreurs portent sur un format invalide, un scope manquant ou un appel trop fréquent (expensive). Le tableau ci-dessous indique la résolution.
| Code HTTP | code | Quand | Résolution |
|---|---|---|---|
| 401 | missing_api_key | Header Authorization absent. | Ajoutez Authorization: Bearer cof_live_… à votre requête. |
| 401 | invalid_api_key | Clé API invalide ou malformée. | Vérifiez le préfixe de la clé (cof_live_, cof_test_, cof_sandbox_). |
| 401 | expired_api_key | La clé API a expiré. | Générez une nouvelle clé depuis la console Coffrify. |
| 401 | revoked_api_key | La clé API a été révoquée. | Créez une nouvelle clé avec le scope transfers:read. |
| 403 | scope_missing | Le scope transfers:read est absent de la clé. | Recréez une clé avec le scope transfers:read activé. |
| 429 | rate_limited | Quota expensive dépassé pour ce workspace. | Respectez l'en-tête Retry-After renvoyé dans la réponse. |
| 500 | internal_error | Erreur base de données ou infrastructure. | Réessayez après quelques secondes. Si le problème persiste, contactez le support. |
- Lister les transferts (paginé)
- Créer un transfert
- Comprendre les scopes d'API
- Gérer les clés API
- Limites de taux (rate limits)