Référence APICréer une règle d'automatisation
POST/v1/rules

Créer une règle d'automatisation

Crée une nouvelle règle d'automatisation associant un évènement déclencheur à une action exécutée automatiquement dans l'espace de travail.

2 min de lectureTélécharger en PDF

Requête exemple

{
"name": "Notifier Slack à chaque transfert E2E",
"is_enabled": true,
"action_type": "slack_notify",
"description": "Poste un message dans #securite quand un transfert chiffré de bout en bout est créé.",
"action_config": {
"webhook_url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
},
"trigger_event": "transfer.e2e_created",
"trigger_conditions": {
"min_files": 1,
"encryption_mode": "e2e"
}
}

Réponse exemple

{
"id": "8f3c2b10-4e1a-4d22-9a77-1b2c3d4e5f60",
"name": "Notifier Slack à chaque transfert E2E",
"created_at": "2026-06-05T10:31:00.000Z",
"is_enabled": true,
"action_type": "slack_notify",
"description": "Poste un message dans #securite quand un transfert chiffré de bout en bout est créé.",
"workspace_id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"action_config": {
"webhook_url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
},
"trigger_count": 0,
"trigger_event": "transfer.e2e_created",
"last_triggered_at": null,
"trigger_conditions": {
"min_files": 1,
"encryption_mode": "e2e"
}
}
POST/v1/rulesCrée une règle d'automatisation pour l'espace de travail.

Crée une règle d'automatisation qui exécutera automatiquement une action lorsqu'un évènement Coffrify se produira dans l'espace de travail. La règle est validée à la création : l'évènement déclencheur et le type d'action doivent appartenir aux valeurs supportées, et certains types d'action imposent des champs obligatoires dans action_config (URL de webhook, URL Slack, libellé de tag ou durée de prolongation). La règle est créée active par défaut. En cas de succès, l'API renvoie le code HTTP 201 et la règle complète. Cet endpoint respecte l'idempotence : fournissez un en-tête Idempotency-Key pour éviter les doublons en cas de nouvelle tentative.

Authentification

Cet endpoint exige une clé API valide disposant du scope transfers:manage. La requête doit présenter la clé dans l'en-tête Authorization. L'appel compte dans le quota de débit de type écriture de l'espace de travail.

Corps de la requête

ChampTypeRequisDescription
namestringOuiNom de la règle. Espaces de bordure supprimés ; ne peut pas être vide.
trigger_eventstringOuiÉvènement déclencheur. Doit faire partie des valeurs supportées (voir ci-dessous).
action_typestringOuiType d'action. Doit faire partie des valeurs supportées (voir ci-dessous).
action_configobjectConditionnelParamètres de l'action. Obligatoire selon le action_type choisi (voir la validation par action). Vaut un objet vide par défaut.
descriptionstringNonDescription libre. Les espaces de bordure sont supprimés ; une chaîne vide devient null.
trigger_conditionsobjectNonFiltres conditionnels (encryption_mode, min_files, status, recipient_email, country_code). null si omis ou non-objet.
is_enabledbooleanNonActive ou désactive la règle. true par défaut.

Évènements déclencheurs supportés (trigger_event) :

  • transfer.created, transfer.e2e_created, transfer.downloaded, transfer.first_download, transfer.expired, transfer.limit_reached, transfer.geo_blocked, transfer.password_failed, transfer.approved, transfer.rejected, transfer.approval_requested
  • api_key.created, api_key.revoked, api_key.rotated, api_key.expired
  • request.created, request.deleted, request.submission_received
  • reply.received, signature.completed, identity.verified

Types d'action supportés (action_type) :

  • webhook / trigger_webhook : appellent une URL en POST. Exigent action_config.url (URL valide).
  • slack_notify : poste sur Slack. Exige action_config.webhook_url.
  • email_recipient / email_workspace : envoient un email (au destinataire du transfert ou au propriétaire de l'espace). action_config.subject et action_config.body optionnels.
  • tag_transfer / untag_transfer : ajoutent/retirent un tag. Exigent action_config.tag (non vide).
  • extend_expiry : prolonge l'expiration d'un transfert. Exige action_config.hours ou action_config.days (> 0).
  • archive_transfer : archive le transfert ciblé. Aucun champ action_config requis.

Réponse

En cas de succès, l'API renvoie le code 201 et l'objet de la règle créée, avec les mêmes champs que ceux retournés par GET /v1/rules. À la création, last_triggered_at vaut null et trigger_count vaut 0.

Erreurs

CodeQuandRésolution
validation_errorname vide, trigger_event ou action_type non supporté, ou action_config incomplet pour l'action choisie (url, webhook_url, tag, hours/days).Corrigez le champ signalé dans le message d'erreur.
missing_api_keyAucune clé API fournie.Ajoutez votre clé API à la requête.
invalid_api_keyClé API inconnue ou malformée.Vérifiez la clé utilisée.
scope_missingLa clé ne possède pas le scope transfers:manage.Émettez une clé incluant transfers:manage.
idempotency_conflictLa même Idempotency-Key est réutilisée avec un corps différent.Utilisez une nouvelle clé d'idempotence ou renvoyez le corps identique.
rate_limitedQuota de débit écriture dépassé.Patientez selon l'en-tête Retry-After, puis réessayez.
internal_errorErreur lors de l'insertion en base de données.Réessayez ; si le problème persiste, contactez le support avec le request_id.

Voir aussi