Référence APIRécupérer la piste d'audit d'un transfert
GET/v1/diagnostics/audit-trail/{id}

Récupérer la piste d'audit d'un transfert

Retourne tous les événements d'audit associés à un transfert donné, du plus récent au plus ancien.

1 min de lectureTélécharger en PDF

Réponse exemple

{
"data": [
{
"id": "evt_a1B2c3D4e5",
"action": "transfer.downloaded",
"actor_id": "usr_9XzQ2",
"metadata": {
"ip": "203.0.113.42",
"short_code": "AB12CD",
"transfer_id": "tr_8Kd92mLpQ7"
},
"actor_type": "user",
"created_at": "2026-06-04T14:32:07.512Z"
},
{
"id": "evt_f6G7h8I9j0",
"action": "transfer.created",
"actor_id": "key_Lm4Np8",
"metadata": {
"short_code": "AB12CD",
"transfer_id": "tr_8Kd92mLpQ7"
},
"actor_type": "api_key",
"created_at": "2026-06-04T09:15:44.108Z"
}
],
"object": "list",
"transfer_id": "tr_8Kd92mLpQ7"
}
GET/v1/diagnostics/audit-trail/{id}Liste les événements de la piste d'audit rattachés à un transfert.

Cet endpoint renvoie l'intégralité des événements d'audit liés à un transfert identifié par son id. Avant toute lecture, le handler vérifie la propriété du transfert : le transfert doit appartenir au workspace de la clé API appelante, faute de quoi une erreur 404 est renvoyée (les transferts d'autres workspaces sont donc invisibles). La recherche d'événements est large : elle remonte non seulement les entrées dont resource_id correspond à l'identifiant du transfert, mais aussi celles dont les métadonnées contiennent ce même transfer_id ou le short_code du transfert. Les résultats sont triés par date décroissante (created_at) et plafonnés à 500 entrées.

Authentification

Requiert une clé API valide disposant du scope audit:read. Une clé sans ce scope reçoit une erreur 403 avec le code scope_missing. L'authentification se fait via l'en-tête Authorization: Bearer cof_live_... (ou cof_test_..., cof_rk_..., cof_mcp_...).

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiIdentifiant du transfert dont on veut la piste d'audit. Il est extrait du dernier segment de l'URL et utilisé pour vérifier la propriété puis pour filtrer les événements.

Réponse

La réponse est un objet de type liste. Le champ transfer_id rappelle l'identifiant interrogé, object vaut toujours "list", et data est le tableau des événements. Chaque événement expose son id, son action (le type d'événement audité, par exemple transfer.created ou transfer.downloaded), l'actor_type et l'actor_id (qui a déclenché l'action), l'horodatage created_at, ainsi que l'objet metadata contenant le contexte additionnel de l'événement.

ChampTypeDescription
transfer_idstringIdentifiant du transfert interrogé (repris du chemin).
objectstringToujours "list".
dataarrayTableau des événements d'audit, triés du plus récent au plus ancien (max 500).
data[].idstringIdentifiant de l'entrée d'audit.
data[].actionstringType d'action auditée.
data[].actor_typestringNature de l'acteur (ex. api_key, user).
data[].actor_idstring | nullIdentifiant de l'acteur ayant déclenché l'action.
data[].created_atstring (ISO 8601)Date et heure de l'événement.
data[].metadataobjectContexte additionnel de l'événement (peut contenir transfer_id, short_code, etc.).

Erreurs

CodeQuandRésolution
401 missing_api_keyEn-tête Authorization absent.Ajoutez Authorization: Bearer cof_live_....
401 invalid_api_keyClé API invalide ou mal formée.Vérifiez le format et la validité de la clé.
403 scope_missingLa clé n'a pas le scope audit:read.Émettez une clé incluant le scope audit:read.
404 not_foundLe transfert n'existe pas ou n'appartient pas au workspace.Vérifiez l'id et que le transfert appartient bien au workspace de la clé.
429 rate_limitedQuota de requêtes par minute dépassé pour le workspace.Patientez selon l'en-tête Retry-After puis réessayez.
500 internal_errorErreur lors de la lecture du journal d'audit.Réessayez ; si le problème persiste, contactez le support avec le request_id.

Voir aussi