Réponse exemple
GET/v1/transfers/{id}/downloadsListe paginée des évènements de téléchargement d'un transfert.Cet endpoint renvoie l'historique des téléchargements enregistrés pour un transfert donné, du plus récent au plus ancien. Chaque évènement décrit qui a récupéré le transfert et dans quelles conditions techniques : adresse IP, pays, système d'exploitation, navigateur, type d'appareil, durée du téléchargement et volume d'octets transférés. Le transfert ciblé est d'abord validé : il doit appartenir à l'espace de travail (workspace) associé à votre clé API, sinon une erreur 404 est renvoyée même si le transfert existe chez un autre client. La réponse est une liste paginée au format standard Coffrify (object: "list").
Authentification
Cette route requiert une clé API valide portant le scope downloads:read. La clé peut être complète (cof_live_... / cof_test_...), restreinte (cof_rk_live_... / cof_rk_test_...) ou un token MCP (cof_mcp_live_... / cof_mcp_test_...), transmise via l'en-tête Authorization: Bearer .... Le périmètre est automatiquement limité à l'espace de travail de la clé : vous ne pouvez consulter que les téléchargements de vos propres transferts.
Paramètres de requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| id | string (path) | Oui | Identifiant du transfert dont on liste les téléchargements. Passé dans le chemin de l'URL. |
| limit | integer (query) | Non | Nombre maximum d'évènements à renvoyer. Défaut : 100. Plafonné à 500 côté serveur. |
| offset | integer (query) | Non | Décalage de pagination (nombre d'évènements à ignorer). Défaut : 0. |
Réponse
La réponse contient object (toujours "list"), data (le tableau des évènements), has_more (booléen indiquant s'il reste des évènements au-delà de la page courante) et total (le nombre total d'évènements pour ce transfert, indépendamment de la pagination).
| Champ (item) | Type | Description |
|---|---|---|
| id | string | Identifiant unique de l'évènement de téléchargement. |
| downloaded_at | string (ISO 8601) | Date et heure du téléchargement. La liste est triée par ce champ, du plus récent au plus ancien. |
| ip_address | string | null | Adresse IP depuis laquelle le transfert a été téléchargé. |
| user_agent | string | null | Chaîne User-Agent brute du client. |
| country_code | string | null | Code pays ISO du téléchargeur (ex. FR). |
| country_name | string | null | Nom complet du pays (ex. France). |
| os | string | null | Système d'exploitation détecté (ex. macOS, Windows). |
| browser | string | null | Navigateur détecté (ex. Chrome, Firefox). |
| device_type | string | null | Type d'appareil (ex. desktop, mobile). |
| download_duration_ms | integer | null | Durée du téléchargement en millisecondes. |
| bytes_transferred | integer | null | Volume d'octets transférés lors du téléchargement. |
Erreurs
| Code | Quand | Résolution |
|---|---|---|
| 401 missing_api_key | En-tête Authorization absent. | Ajoutez l'en-tête Authorization: Bearer cof_live_.... |
| 401 invalid_api_key | Clé API mal formée, inconnue ou non reconnue. | Vérifiez que la clé est correcte et utilise un préfixe valide (cof_live_, cof_rk_live_, cof_mcp_live_, etc.). |
| 403 scope_missing | La clé n'a pas le scope downloads:read. | Émettez ou utilisez une clé disposant du scope downloads:read. |
| 404 not_found | Le transfert n'existe pas ou n'appartient pas à votre espace de travail. | Vérifiez l'identifiant du transfert et qu'il appartient bien à votre workspace. |
| 429 rate_limited | Quota de requêtes par minute dépassé pour l'espace de travail. | Respectez l'en-tête Retry-After puis réessayez. |
| 500 internal_error | Erreur lors de la lecture des journaux de téléchargement. | Réessayez ; si le problème persiste, contactez le support avec le request_id. |
Voir aussi
- GET /v1/transfers/{id} — récupérer le détail d'un transfert.
- GET /v1/transfers — lister les transferts de l'espace de travail.
GET /v1/transfers/{id}/events— consulter les évènements liés au transfert.