Référence API
L'API d'Anonymisation fournit des points d'accès complets pour gérer les sources de données, les règles d'anonymisation, les flux de travail et les tâches de traitement. Cette page présente un aperçu de la structure de l'API et des liens vers la documentation détaillée.
Documentation API Interactive
Pour une documentation API complète et interactive avec des exemples de requêtes/réponses et la possibilité de tester directement les points d'accès, visitez:
🚀 Documentation API Interactive
La documentation interactive est générée automatiquement à partir de la spécification OpenAPI et fournit:
- Liste complète des points d'accès avec descriptions
- Schémas de requêtes/réponses
- Exigences d'authentification
- Exemples de requêtes et réponses
- Définitions de modèles et types de données
- Formats de réponses d'erreur
Vue d'Ensemble de l'API
URL de Base
Authentification
L'API utilise OAuth2 avec l'authentification par jeton Bearer. La plupart des points d'accès nécessitent une authentification, à l'exception du point d'accès racine et des points d'accès d'authentification.
Type de Contenu
Tous les points d'accès de l'API acceptent et renvoient des données JSON avec Content-Type: application/json.
Catégories de Points d'Accès
🔐 Authentification
- POST
/auth/login- Se connecter et obtenir un jeton d'accès - POST
/auth/register- Enregistrer un nouvel utilisateur - GET
/auth/me- Obtenir les informations de l'utilisateur actuel - POST
/auth/logout- Déconnecter l'utilisateur actuel
📁 Sources
- POST
/sources/list- Lister les sources de données - POST
/sources/- Créer une nouvelle source de données - POST
/sources/test- Tester la connexion à la source - GET
/sources/{source_id}- Obtenir les détails d'une source - PUT
/sources/{source_id}- Mettre à jour une source - DELETE
/sources/{source_id}- Supprimer une source - POST
/sources/{source_id}/preview- Prévisualiser les fichiers de la source
📄 Actifs
- GET
/assets/{asset_id}- Obtenir les détails d'un actif - PUT
/assets/{asset_id}- Mettre à jour un actif - DELETE
/assets/{asset_id}- Supprimer un actif - GET
/assets/{asset_id}/url- Obtenir l'URL de téléchargement d'un actif
🔄 Flux de Travail
- POST
/workflows/list- Lister les flux de travail - POST
/workflows/- Créer un flux de travail - GET
/workflows/{workflow_id}- Obtenir les détails d'un flux de travail - PUT
/workflows/{workflow_id}- Mettre à jour un flux de travail - DELETE
/workflows/{workflow_id}- Supprimer un flux de travail
🛡️ Règles d'Anonymisation
- POST
/rules/list- Lister les règles d'anonymisation - POST
/rules/- Créer une règle d'anonymisation - GET
/rules/{rule_id}- Obtenir les détails d'une règle - PUT
/rules/{rule_id}- Mettre à jour une règle - DELETE
/rules/{rule_id}- Supprimer une règle
⚙️ Tâches
- POST
/jobs/list- Lister les tâches de traitement - POST
/jobs/upload- Télécharger des actifs pour une tâche - GET
/jobs/{job_id}- Obtenir les détails d'une tâche - PUT
/jobs/{job_id}- Mettre à jour une tâche - POST
/jobs/{job_id}/execute- Exécuter une tâche - GET
/jobs/{job_id}/status- Obtenir l'état d'une tâche - PUT
/jobs/{job_id}/cancel- Annuler une tâche - POST
/jobs/{job_id}/assets- Lister les actifs d'une tâche - DELETE
/jobs/{job_id}/assets- Supprimer des actifs d'une tâche - POST
/jobs/load- Charger des actifs depuis une source
👥 Gestion des Utilisateurs (Admin Uniquement)
- GET
/users/- Lister les utilisateurs - GET
/users/{user_id}- Obtenir les détails d'un utilisateur - PUT
/users/{user_id}- Mettre à jour un utilisateur - DELETE
/users/{user_id}- Supprimer un utilisateur - PUT
/users/{user_id}/block- Bloquer un utilisateur - PUT
/users/{user_id}/password/reset- Réinitialiser le mot de passe d'un utilisateur
🔒 Rôles et Permissions (Admin Uniquement)
- GET
/roles/- Lister les rôles - POST
/roles/- Créer un rôle - GET
/roles/{role_id}- Obtenir les détails d'un rôle - PUT
/roles/{role_id}- Mettre à jour un rôle - DELETE
/roles/{role_id}- Supprimer un rôle - GET
/permissions/- Lister les permissions - POST
/permissions/- Créer une permission - POST
/permissions/default- Créer des permissions par défaut
🔔 Notifications
- POST
/notifications/list- Lister les notifications - POST
/notifications/{notification_id}/read- Marquer une notification comme lue
Modèles de Données
Entités Clés
Types de Sources
LOCAL_ASSET- Stockage de fichiers localSHAREPOINT- Microsoft SharePointGOOGLE_DRIVE- Google DriveFTP/SFTP- Protocoles de transfert de fichiersPOSTGRES/MYSQL/ORACLE/SQL_SERVER/SQLITE- Sources de bases de données
Types d'Actifs
TABLE- Données structurées (bases de données, fichiers CSV)DOCUMENT- Documents non structurés (PDF, DOCX, etc.)
Types de Règles d'Anonymisation
REGEX- Anonymisation basée sur des modèles utilisant des expressions régulièresAIMODEL- Anonymisation basée sur des modèles d'IA utilisant GLiNER
États des Tâches
PENDING- Tâche créée mais non démarréeIN_PROGRESS- Tâche en cours de traitementSUCCEEDED- Tâche terminée avec succèsFAILED- Tâche échouée avec des erreursCANCELLED- Tâche annulée par l'utilisateur
Exemples de Requêtes
Authentification
# Connexion
curl -X POST "https://api-domain.com/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com", "password": "password"}'
Créer une Règle d'Anonymisation
# Créer une règle basée sur regex
curl -X POST "https://api-domain.com/api/rules/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Anonymisation d'Email",
"type": "REGEX",
"config": {
"regexRuleConfig": {
"pattern": "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b"
}
}
}'
Exécuter une Tâche
# Exécuter une tâche d'anonymisation
curl -X POST "https://api-domain.com/api/jobs/{job_id}/execute" \
-H "Authorization: Bearer YOUR_TOKEN"
Gestion des Erreurs
L'API utilise des codes de statut HTTP standard et renvoie des informations d'erreur détaillées:
Codes de Statut HTTP
200- Succès400- Requête Incorrecte401- Non Autorisé403- Interdit404- Non Trouvé422- Erreur de Validation500- Erreur Interne du Serveur
Format de Réponse d'Erreur
{
"detail": [
{
"loc": ["nom_du_champ"],
"msg": "Description de l'erreur",
"type": "type_d_erreur"
}
]
}
Limitation de Débit
Les requêtes API peuvent être soumises à une limitation de débit. Vérifiez les en-têtes de réponse pour obtenir des informations sur la limitation:
X-RateLimit-Limit- Limite de requêtes par fenêtre de tempsX-RateLimit-Remaining- Requêtes restantes dans la fenêtre actuelleX-RateLimit-Reset- Moment où la limite de débit se réinitialise
Pagination
Les points d'accès de liste prennent en charge la pagination avec les paramètres suivants:
skip- Nombre d'enregistrements à ignorer (par défaut: 0)limit- Nombre maximum d'enregistrements à renvoyer (par défaut: 100) ````