Scorer une transaction (temps réel)
POST/transactions/score
Point d'entrée principal d'Argus. À appeler avant d'exécuter la transaction. Le service persiste la transaction, assemble le vecteur de features, interroge le moteur de scoring et renvoie une décision (ALLOW / VERIFY / QUARANTINE / BLOCK) avec le score de risque et les facteurs explicatifs.
- Idempotent sur
transaction_id: un rejeu renvoie409 DUPLICATE_TRANSACTION. - Budget de latence cible : 300 ms.
- Si le moteur ML est injoignable ou échoue, la réponse reste
200: le service applique un repli fail-closed et renvoie une décision jamais en dessous deQUARANTINE(model_version: "fail-closed",ml_score: null) plutôt qu'une erreur — lisezdecision, pas seulement le statut HTTP.
Request
Responses
- 200
- 401
- 403
- 409
- 422
- 500
Décision de scoring produite pour la transaction.
En-tête X-License-Key absent.
Clé de licence invalide (LICENSE_INVALID), expirée (LICENSE_EXPIRED) ou licence suspendue (LICENSE_SUSPENDED).
Conflit d'état — ressource déjà existante, doublon ou transition invalide.
Corps ou paramètres invalides — le détail champ par champ est dans error.details.
Erreur interne inattendue.