{"openapi":"3.0.0","paths":{"/api/v1/up":{"get":{"operationId":"AppController_appHealth","parameters":[],"responses":{"200":{"description":""}},"tags":["App Health Check"]}},"/api/v1/synchro-all":{"get":{"operationId":"AppController_synchroAll","parameters":[],"responses":{"200":{"description":""}},"tags":["App Synchronization"]}},"/api/v1/auth/verify-email":{"get":{"operationId":"VerifyEmailController_verifyEmailByCode","summary":"Vérifier l'email","parameters":[{"name":"token","required":true,"in":"query","description":"Le token d'authentification","schema":{"type":"string"}},{"name":"email","required":true,"in":"query","description":"L'email de l'utilisateur","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Accès refusé: utilisateur authentifié."}},"tags":["Authentification"]}},"/api/v1/auth/verify-email/resend":{"post":{"operationId":"VerifyEmailController_resendEmail","summary":"Renvoyer l'email de vérification","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtpRequestDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Accès refusé: utilisateur authentifié."}},"tags":["Authentification"]}},"/api/v1/auth/password-reset/send-email":{"post":{"operationId":"PasswordResetController_sendResetPasswordEmail","summary":"Envoyer un email de réinitialisation de mot de passe","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetRequestDto"}}}},"responses":{"200":{"description":"Email envoyé avec succès"},"401":{"description":"Accès refusé: utilisateur authentifié."}},"tags":["Authentification"]}},"/api/v1/auth/password-reset/verify-code":{"get":{"operationId":"PasswordResetController_verifyResetCode","summary":"Vérifier le code de réinitialisation de mot de passe","parameters":[{"name":"code","required":true,"in":"query","schema":{"type":"string"}},{"name":"email","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Accès refusé: utilisateur authentifié."}},"tags":["Authentification"]}},"/api/v1/auth/password-reset":{"post":{"operationId":"PasswordResetController_resetPassword","summary":"Réinitialisation de mot de passe","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Accès refusé: utilisateur authentifié."}},"tags":["Authentification"]}},"/api/v1/auth/password-reset/send-by-email-link":{"post":{"operationId":"PasswordResetController_sendPasswordResetLink","summary":"Envoyer un lien de réinitialisation de mot de passe","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetRequestDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Accès refusé: utilisateur authentifié."}},"tags":["Authentification"]}},"/api/v1/auth/password-reset/check-email-token-access":{"get":{"operationId":"PasswordResetController_checkEmailAndTokenAccess","summary":"Vérifier l accès par email et token","parameters":[{"name":"email","required":true,"in":"query","schema":{"type":"string"}},{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Accès refusé: utilisateur authentifié."}},"tags":["Authentification"]}},"/api/v1/auth/signup":{"post":{"operationId":"AuthController_signup","summary":"Inscription d'un utilisateur (admin d'Entreprise) avec le mail","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupDto"}}}},"responses":{"401":{"description":"Accès refusé: utilisateur authentifié."},"409":{"description":""}},"tags":["Authentification"]}},"/api/v1/auth/api-key":{"get":{"operationId":"AuthController_getApiKey","summary":"Get API key","description":"Get API key for the dashboard","parameters":[],"responses":{"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Authentification"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/auth/complete-registration":{"put":{"operationId":"AuthController_updateProfile","summary":"Compléter un profil","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UpdateUserDto"}}}},"responses":{"401":{"description":"Accès refusé: utilisateur authentifié."}},"tags":["Authentification"]}},"/api/v1/auth/authenticate-company-user":{"post":{"operationId":"AuthController_signInCompanyUser","summary":"Connexion d'un utilisateur Membre de compagnie","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignInDto"}}}},"responses":{"401":{"description":"Accès refusé: utilisateur authentifié."}},"tags":["Authentification"]}},"/api/v1/auth/authenticate-client":{"post":{"operationId":"AuthController_signInClient","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignInDto"}}}},"responses":{"201":{"description":""}},"tags":["Authentification"]}},"/api/v1/auth/logout":{"post":{"operationId":"AuthController_logout","summary":"Déconnexion","parameters":[],"responses":{"201":{"description":""}},"tags":["Authentification"],"security":[{"cookieAuth":[]}]}},"/api/v1/auth/check-auth":{"get":{"operationId":"AuthController_checkAuth","summary":"Vérifier l'authentification","parameters":[],"responses":{"200":{"description":""}},"tags":["Authentification"],"security":[{"cookieAuth":[]}]}},"/api/v1/auth/refresh-token":{"post":{"operationId":"AuthController_refreshToken","parameters":[],"responses":{"201":{"description":""}},"tags":["Authentification"]}},"/api/v1/auth/unlock-screen":{"post":{"operationId":"AuthController_checkPassword","summary":"Vérifier le mot de passe","parameters":[],"responses":{"201":{"description":""}},"tags":["Authentification"],"security":[{"cookieAuth":[]}]}},"/api/v1/client-activity/track/page-visit":{"post":{"operationId":"ClientActivityTrackingController_trackPageVisit","summary":"Enregistrer une visite de page","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackPageVisitDto"}}}},"responses":{"201":{"description":"Visite enregistrée avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Client Activity Tracking"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/client-activity/track/download":{"post":{"operationId":"ClientActivityTrackingController_trackDownload","summary":"Enregistrer un téléchargement","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackDownloadDto"}}}},"responses":{"201":{"description":"Téléchargement enregistré avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Client Activity Tracking"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/client-activity/by-provider":{"get":{"operationId":"ClientActivityTrackingController_getProviderActivity","summary":"Obtenir l'activité par fournisseur de service","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Client Activity Tracking"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/client-activity/stats/user/{userId}":{"get":{"operationId":"ClientActivityTrackingController_getUserActivityStats","summary":"Obtenir les statistiques d'activité d'un utilisateur","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}},{"name":"startDate","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"example":"2024-01-01","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"example":"2024-12-31","type":"string"}},{"name":"period","required":false,"in":"query","description":"Période d'agrégation","schema":{"enum":["DAILY","WEEKLY","MONTHLY"],"type":"string"}}],"responses":{"200":{"description":"Statistiques récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Client Activity Tracking"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/client-activity/stats/global":{"get":{"operationId":"ClientActivityTrackingController_getGlobalActivityStats","summary":"Obtenir les statistiques globales d'activité","parameters":[{"name":"startDate","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"example":"2024-01-01","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"example":"2024-12-31","type":"string"}},{"name":"period","required":false,"in":"query","description":"Période d'agrégation","schema":{"enum":["DAILY","WEEKLY","MONTHLY"],"type":"string"}}],"responses":{"200":{"description":"Statistiques globales récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Client Activity Tracking"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/client-activity/users/login-issues":{"get":{"operationId":"ClientActivityTrackingController_getUsersWithLoginIssues","summary":"Obtenir les utilisateurs avec des problèmes de connexion","parameters":[{"name":"minFailedAttempts","required":false,"in":"query","description":"Nombre minimum de tentatives échouées","schema":{"default":3,"type":"number"}},{"name":"days","required":false,"in":"query","description":"Nombre de jours à analyser","schema":{"default":7,"type":"number"}}],"responses":{"200":{"description":"Liste des utilisateurs avec problèmes récupérée"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Client Activity Tracking"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/client-activity/alerts":{"get":{"operationId":"ClientActivityTrackingController_getActiveAlerts","summary":"Obtenir les alertes actives","parameters":[{"name":"userId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Alertes récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Client Activity Tracking"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/client-activity/alerts/{alertId}/resolve":{"patch":{"operationId":"ClientActivityTrackingController_resolveAlert","summary":"Résoudre une alerte","parameters":[{"name":"alertId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Alerte résolue avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Client Activity Tracking"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/user/{id}/profile":{"put":{"operationId":"UserController_updateProfile","summary":"Récuperer un utilisateur","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProfileDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Tous les utilisateurs"]}},"/api/v1/user/add-signature":{"put":{"operationId":"UserController_addSignature","summary":"Ajouter une signature","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Tous les utilisateurs"]}},"/api/v1/user/add-signature-by-admin/{userId}":{"put":{"operationId":"UserController_addSignatureByAdmin","summary":"Ajouter une signature","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Tous les utilisateurs"]}},"/api/v1/admin/get-one-user/{id}":{"get":{"operationId":"UserController_getOneUser","summary":"Récuperer un utilisateur","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Super Admin global"]}},"/api/v1/super-admin/get-all-users":{"get":{"operationId":"UserController_getAllUsers","summary":"Récuperer tous les utilisateurs de la plateforme","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Super Admin global"]}},"/api/v1/user/change-password/{id}":{"put":{"operationId":"UserController_changePasswor","summary":"Changer le mot de passe","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Tous les utilisateurs"]}},"/api/v1/user/change-email":{"put":{"operationId":"UserController_changeEmail","summary":"Change email","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeEmailDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Tous les utilisateurs"]}},"/api/v1/user/me":{"get":{"operationId":"UserController_getMe","summary":"Récuperer l utilisateur connecté","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Tous les utilisateurs"]}},"/api/v1/laboratory/create":{"post":{"operationId":"LaboratoryController_create","summary":"Créer un laboratoire","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateLaboratoryDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Laboratoire"]}},"/api/v1/laboratory/this":{"get":{"operationId":"LaboratoryController_findCurrentServiceProviderLaboratories","summary":"Récupérer les laboratoires du fournisseur de service de l'utilisateur actuel","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Laboratoire"]}},"/api/v1/laboratory/this-without-include":{"get":{"operationId":"LaboratoryController_findCurrentServiceProviderLaboratoriesWithoutInclude","summary":"Récupérer les laboratoires du fournisseur de service de l'utilisateur actuel (sans les relations)","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Laboratoire","Laboratoire"]}},"/api/v1/laboratory/with-responsible-name":{"get":{"operationId":"LaboratoryController_findLabsWithResponsibleName","summary":"Récupérer les laboratoires du fournisseur de service avec le nom du responsable","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Laboratoire","Laboratoire"]}},"/api/v1/laboratory/this-by-status":{"get":{"operationId":"LaboratoryController_findCurrentServiceProviderLaboratoriesByStatus","summary":"Récupérer tous les laboratoires active du fournisseur de service","parameters":[{"name":"status","required":true,"in":"query","schema":{"enum":["ACTIVE","INACTIVE"],"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Laboratoire"]}},"/api/v1/laboratory/{id}":{"get":{"operationId":"LaboratoryController_findOne","summary":"Récupérer un laboratoire par son id","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Laboratoire"]}},"/api/v1/laboratory/update/{id}":{"put":{"operationId":"LaboratoryController_update","summary":"Mise à jour d'un laboratoire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UpdateLaboratoryDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Laboratoire"]}},"/api/v1/laboratory/delete/{id}":{"delete":{"operationId":"LaboratoryController_remove","summary":"Suppression d'un laboratoire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Laboratoire"]}},"/api/v1/laboratory/company/{id}":{"get":{"operationId":"LaboratoryController_getByCompany","summary":"Récupérer les laboratoires d une compagnie","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Laboratoire","Laboratoire"]}},"/api/v1/laboratory/delete-complet/{id}":{"delete":{"operationId":"LaboratoryController_deleteCompletely","summary":"Suppression définive d'un laboratoire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Laboratoire"]}},"/api/v1/certificate-groups/create":{"post":{"operationId":"CertificateGroupsController_create","summary":"Créer un nouveau groupe de certificats","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCertificateGroupDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de Certificats","Laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/certificate-groups/this":{"get":{"operationId":"CertificateGroupsController_findAll","summary":"Récupérer tous les groupes de certificats du fournisseur","parameters":[{"name":"laboratoryId","required":false,"in":"query","description":"ID du laboratoire pour filtrer","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de Certificats","Laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/certificate-groups/{id}":{"get":{"operationId":"CertificateGroupsController_findOne","summary":"Récupérer un groupe de certificats par son ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de Certificats","Laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/certificate-groups/update/{id}":{"put":{"operationId":"CertificateGroupsController_update","summary":"Mettre à jour un groupe de certificats","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCertificateGroupDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de Certificats","Laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/certificate-groups/delete/{id}":{"delete":{"operationId":"CertificateGroupsController_remove","summary":"Supprimer un groupe de certificats","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de Certificats","Laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory/matrix/create":{"post":{"operationId":"MatrixController_create","summary":"Créer une matrice","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMatrixDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Matrice"]}},"/api/v1/laboratory/matrix/lab/{id}":{"get":{"operationId":"MatrixController_findByLabId","summary":"Recupérer les matrices d'un laboratoire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Matrice"]}},"/api/v1/laboratory/matrix/one/{id}":{"get":{"operationId":"MatrixController_findOne","summary":"Recupérer une matrice","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Matrice"]}},"/api/v1/laboratory/matrix/update/{id}":{"put":{"operationId":"MatrixController_update","summary":"Mettre à jour une matrice","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMatrixDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Matrice"]}},"/api/v1/laboratory/matrix/delete/{id}":{"delete":{"operationId":"MatrixController_remove","summary":"Supprimer une matrice","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Matrice"]}},"/api/v1/laboratory/matrix/create/bulk":{"post":{"operationId":"MatrixController_createBulk","summary":"Créer plusieurs matrices","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreateMatrixDto"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Matrice"]}},"/api/v1/laboratory/matrix/delete/bulk":{"put":{"operationId":"MatrixController_removeBulk","summary":"Supprimer plusieurs matrices","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulKDeleteBody"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Matrice"]}},"/api/v1/laboratory/matrix/merge":{"post":{"operationId":"MatrixController_mergeMatrices","summary":"Fusionner plusieurs matrices","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MergeMatricesDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Matrice"]}},"/api/v1/laboratory/parameter/create":{"post":{"operationId":"ParameterController_create","summary":"Créer un paramètre","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateParameterDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/lab/{id}":{"get":{"operationId":"ParameterController_findByLabId","summary":"Liste des paramètres d'un laboratoire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/one/{id}":{"get":{"operationId":"ParameterController_findOne","summary":"Détails d'un paramètre","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/company":{"get":{"operationId":"ParameterController_findByCompanyId","summary":"Liste des paramètres d'une entreprise","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/matrix/{id}":{"get":{"operationId":"ParameterController_findAllByMatrixId","summary":"Liste des paramètres d'une matrice","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/by-lab/{id}":{"get":{"operationId":"ParameterController_findByLab","summary":"Liste des paramètres d'un laboratoire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/update/{id}":{"put":{"operationId":"ParameterController_update","summary":"Mettre à jour un paramètre","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateParameterDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/update-status/{id}":{"put":{"operationId":"ParameterController_updateStatus","summary":"Mettre à jour le statut d'un paramètre","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/set-bulk-unit-measure":{"put":{"operationId":"ParameterController_setBulkUnitMeasure","summary":"Mettre à jour l'unité de mesure d'un paramètre","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/delete/{id}":{"delete":{"operationId":"ParameterController_remove","summary":"Supprimer un paramètre","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/delete-critere/{id}":{"delete":{"operationId":"ParameterController_removeCritere","summary":"Supprimer un critère","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/delete/bulk":{"put":{"operationId":"ParameterController_removeBulk","summary":"Supprimer plusieurs éléments, la requêtte est transaccitonnelle..","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulKDeleteBody"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/download/template":{"get":{"operationId":"ParameterController_downloadTemplate","summary":"Télécharger le modèle d'import","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/import-params/{labId}":{"post":{"operationId":"ParameterController_ImportParameters","summary":"Importer les paramètres","parameters":[{"name":"labId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/export-params/{labId}":{"get":{"operationId":"ParameterController_ExportParameters","summary":"Exporter les paramètres","parameters":[{"name":"labId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/laboratory/parameter/export/excel":{"get":{"operationId":"ParameterController_exportParametersToExcel","summary":"Exporter tous les paramètres vers Excel","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Paramètre"]}},"/api/v1/action-log/company/logs":{"get":{"operationId":"ActionLogController_companyLogs","summary":"Liste des actions effectuées par la companie de l'utilisateur actuel","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/action-log/delete/{id}":{"delete":{"operationId":"ActionLogController_remove","summary":"Supprimer un historique d'actions","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Super Admin global"]}},"/api/v1/audit-logs":{"post":{"operationId":"AuditLogController_create","summary":"Créer un log d'audit","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAuditLogDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Journal d'audit"]},"get":{"operationId":"AuditLogController_findAll","summary":"Récupérer tous les logs d'audit","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Journal d'audit"]}},"/api/v1/audit-logs/{id}":{"get":{"operationId":"AuditLogController_findOne","summary":"Récupérer un log d'audit par ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Journal d'audit"]}},"/api/v1/audit-logs/entity/{entityType}/{entityId}":{"get":{"operationId":"AuditLogController_findEntityHistory","summary":"Récupérer l'historique d'une entité","parameters":[{"name":"entityType","required":true,"in":"path","schema":{"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Journal d'audit"]}},"/api/v1/audit-logs/statistics/overview":{"get":{"operationId":"AuditLogController_getStatistics","summary":"Récupérer les statistiques des logs","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Journal d'audit"]}},"/api/v1/audit-logs/archive":{"post":{"operationId":"AuditLogController_archiveOldLogs","summary":"Archiver les anciens logs","parameters":[{"name":"daysToKeep","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Journal d'audit"]}},"/api/v1/audit-logs/export/{format}":{"get":{"operationId":"AuditLogController_exportLogs","summary":"Exporter les logs","parameters":[{"name":"format","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Journal d'audit"]}},"/api/v1/proforma/create-full":{"post":{"operationId":"ProformaController_create","summary":"Créer une proforma complète (proforma, items, paramètres, coûts supplémentaires)","parameters":[{"name":"isgenerated_by_customer","required":true,"in":"query","schema":{"type":"boolean"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProformaDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/create-from-contract":{"post":{"operationId":"ProformaController_createFromContract","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProformaFromContractDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/{proformaId}/add-item":{"post":{"operationId":"ProformaController_addItemToProforma","summary":"Ajouter un type d'analyse à une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProformaItemsDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/{proformaId}/add-matrix-parameters/{proformaItemId}":{"post":{"operationId":"ProformaController_addParametersToProforma","summary":"Ajouter des paramètres à une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","description":"Identifiant de la proforma","schema":{"type":"string"}},{"name":"proformaItemId","required":true,"in":"path","description":"Identifiant de l item  de la proforma","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreateProformaItemAnalyseDto"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/{proformaId}/add-additional-costs":{"post":{"operationId":"ProformaController_addAdditionalCostsToProforma","summary":"Ajouter des coûts supplémentaires à une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","description":"Identifiant de la proforma","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAdditionalCostDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/{proformaId}/add-viewers":{"post":{"operationId":"ProformaController_addViewersToProforma","summary":"Ajouter des viewers à une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","description":"Identifiant de la proforma","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/synch-viewers":{"get":{"operationId":"ProformaController_synchProformaViewers","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/status/{status}":{"get":{"operationId":"ProformaController_getProformaByStatus","summary":"Récuperer les proformas par statut","parameters":[{"name":"status","required":true,"in":"path","description":"Status de la proforma","schema":{"enum":["EN_ATTENTE","VALIDEE","EN_COURS_DE_TRAITEMENT","TRAITEE","NON_VALIDEE","ANNULEE","EXPIREE"],"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/this-provider/get-all":{"get":{"operationId":"ProformaController_getAllCurrentProviderProformas","summary":"Récuperer les proformas du service connecté","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/this-provider/deleted":{"get":{"operationId":"ProformaController_getAllCurrentProviderProformasDeleted","summary":"Récuperer les proformas supprimé du service connecté","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/this-provider/filter-no-prelevement":{"get":{"operationId":"ProformaController_filterProviderProformas","summary":"Récuperer les proformas d'un fournisseur de service","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/customer-company/{companyId}/get-all":{"get":{"operationId":"ProformaController_getAllProviderClientProformas","summary":"Récuperer les proformas d'un client d'un fournisseur de service","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/one/{proformaId}":{"get":{"operationId":"ProformaController_getProforma","summary":"Récuperer une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/all-by-customer":{"get":{"operationId":"ProformaController_getProformaByCustomer","summary":"Récuperer une proforma par client","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/chart-stats/{year}":{"get":{"operationId":"ProformaController_getStats","summary":"Récupérer les statistiques des proformas par année","parameters":[{"name":"year","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/donut-stats/{year}":{"get":{"operationId":"ProformaController_getDonutStats","summary":"Récupérer les statistiques des proformas par année","parameters":[{"name":"year","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/stats-company/get/{year}":{"get":{"operationId":"ProformaController_getStatsByCompany","summary":"Récupérer les meilleurs clients par nombre de proformas","parameters":[{"name":"year","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/stats-client/get/{year}":{"get":{"operationId":"ProformaController_getStatsByIndividualClient","summary":"Récupérer les statistiques des proformas par client","parameters":[{"name":"year","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/this-provider/get-no-echantillon":{"get":{"operationId":"ProformaController_getProformaWithoutEchantillon","summary":"Récuperer les proformas sans échantillon","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/this-provider/source-stats":{"get":{"operationId":"ProformaController_getSourceStats","summary":"Récupérer les statistiques des proformas par source","parameters":[{"name":"year","required":false,"in":"query","schema":{"type":"number"}},{"name":"month","required":false,"in":"query","schema":{"type":"number"}},{"name":"day","required":false,"in":"query","schema":{"type":"number"}},{"name":"all","required":false,"in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/customer-validate/{proformaId}":{"put":{"operationId":"ProformaController_customerValidateProforma","summary":"Valider ou rejeter une proforma par le client","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}},{"name":"action","required":true,"in":"query","description":"Action à effectuer sur la proforma","schema":{"enum":["validate","reject"],"type":"string"}}],"requestBody":{"required":true,"description":"Fichier PDF signé de la proforma (bon pour accord) - OBLIGATOIRE pour la validation","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"signedFile":{"type":"string","format":"binary","description":"Fichier PDF de la proforma portant le bon pour accord du client"},"includeIncertitude":{"type":"boolean","description":"Autoriser les incertitudes de mesure"}}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/update/{proformaId}":{"put":{"operationId":"ProformaController_updateProforma","summary":"Mettre à jour une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProformaDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/update-analyses/{itemId}":{"put":{"operationId":"ProformaController_updateItem","summary":"Mettre à jour une proforma","parameters":[{"name":"itemId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UpdateProformaItemAnalyseDto"}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/update-item-infos/{itemId}":{"put":{"operationId":"ProformaController_updateNbEchantillon","summary":"Mettre à jour une proforma","parameters":[{"name":"itemId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateItemInfoDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/update/status/{proformaId}":{"put":{"operationId":"ProformaController_updateProformaStatus","summary":"Mettre à jour le statut d'une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusProformaDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/mark-as-paid/{proformaId}":{"put":{"operationId":"ProformaController_markProformaAsPaid","summary":"Marquer une proforma validée comme payée","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkProformaAsPaidDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/update-signed-file/{proformaId}":{"put":{"operationId":"ProformaController_updateSignedProformaFile","summary":"Mettre à jour le fichier bon pour accord d'une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Fichier PDF signé de la proforma (bon pour accord)","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"signedFile":{"type":"string","format":"binary","description":"Fichier PDF de la proforma portant le bon pour accord du client"}},"required":["signedFile"]}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/provider-upload-signed-file/{proformaId}":{"put":{"operationId":"ProformaController_uploadSignedFileByProviderUser","summary":"Upload manuel du fichier bon pour accord par le fournisseur","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Fichier PDF signé de la proforma (bon pour accord) reçu par un autre canal (email, physique, etc.)","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"signedFile":{"type":"string","format":"binary","description":"Fichier PDF scanné ou reçu du client portant le bon pour accord"}},"required":["signedFile"]}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/allow-signed-file-update/{proformaId}":{"put":{"operationId":"ProformaController_allowSignedFileUpdate","summary":"Autoriser ou interdire la mise à jour du fichier bon pour accord","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Action à effectuer","content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","enum":["allow","not_allow"],"description":"Autoriser (allow) ou interdire (not_allow) la mise à jour"},"reason":{"type":"string","description":"Raison de l'autorisation ou de l'interdiction"}},"required":["action","reason"]}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/export/excel":{"get":{"operationId":"ProformaController_exportProformasToExcel","summary":"Exporter les proformas vers Excel avec filtres avancés","parameters":[{"name":"status","required":false,"in":"query","description":"Statut(s) des proformas (séparés par virgule)","schema":{"example":"VALIDEE,EN_ATTENTE","type":"string"}},{"name":"startDate","required":false,"in":"query","description":"Date de début (YYYY-MM-DD)","schema":{"example":"2025-01-01","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"Date de fin (YYYY-MM-DD)","schema":{"example":"2025-12-31","type":"string"}},{"name":"customerType","required":false,"in":"query","description":"Type de client (INDIVIDUAL ou COMPANY)","schema":{"example":"COMPANY","type":"string"}},{"name":"reference","required":false,"in":"query","description":"Recherche par référence","schema":{"example":"PRO-2025","type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/export/customer-revenue":{"get":{"operationId":"ProformaController_exportCustomerRevenueToExcel","summary":"Exporter les données de chiffre d'affaires par client vers Excel","description":"Génère un fichier Excel contenant une feuille globale et une feuille par mois avec les revenus par client","parameters":[{"name":"startDate","required":false,"in":"query","description":"Date de début (format ISO)","schema":{"example":"2025-01-01","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"Date de fin (format ISO)","schema":{"example":"2025-12-31","type":"string"}},{"name":"customerType","required":false,"in":"query","description":"Type de client (INDIVIDUAL ou COMPANY)","schema":{"example":"COMPANY","type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/export/customer-revenue-by-month":{"get":{"operationId":"ProformaController_exportCustomerRevenueByMonth","summary":"Export des revenus par mois avec feuille globale","description":"Génère un fichier Excel contenant une feuille globale et une feuille par mois avec les revenus par client","parameters":[{"name":"startDate","required":false,"in":"query","description":"Date de début (format ISO)","schema":{"example":"2025-01-01","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"Date de fin (format ISO)","schema":{"example":"2025-12-31","type":"string"}},{"name":"customerType","required":false,"in":"query","description":"Type de client (INDIVIDUAL ou COMPANY)","schema":{"example":"COMPANY","type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/export/all-datasets":{"get":{"operationId":"ProformaController_exportAllDatasetsToExcel","summary":"Export complet des statistiques du laboratoire","description":"Génère un fichier Excel avec 9 feuilles contenant toutes les statistiques : proformas, bordereaux, échantillons, top natures, top paramètres, demandes, rapports, conversion et top clients","parameters":[{"name":"startDate","required":false,"in":"query","description":"Date de début (format ISO)","schema":{"example":"2025-01-01","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"Date de fin (format ISO)","schema":{"example":"2025-12-31","type":"string"}},{"name":"forFullYear","required":false,"in":"query","description":"Exporter pour une année complète","schema":{"example":true,"type":"boolean"}},{"name":"year","required":false,"in":"query","description":"Année à exporter (si forFullYear=true)","schema":{"example":2025,"type":"number"}},{"name":"includeSheetByMonth","required":false,"in":"query","description":"Inclure les détails mensuels","schema":{"example":true,"type":"boolean"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/{proformaId}/enable-customer-view":{"put":{"operationId":"ProformaController_enableCustomerToView","summary":"Activer la visibilité client et envoyer la notification","description":"Met canCustomerView à true et envoie la notification email au client selon le type","parameters":[{"name":"proformaId","required":true,"in":"path","description":"ID de la proforma","schema":{"type":"string"}},{"name":"notificationType","required":false,"in":"query","description":"Type de notification : creation ou modification","schema":{"enum":["creation","modification"],"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/lock/{proformaId}":{"put":{"operationId":"ProformaController_lockProforma","summary":"Verrouiller la proforma (empêcher validation client)","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/unlock/{proformaId}":{"put":{"operationId":"ProformaController_unlockProforma","summary":"Déverrouiller la proforma (permettre validation client)","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/export/client-usage-rate":{"get":{"operationId":"ProformaController_exportClientUsageRate","summary":"Export du taux d'utilisation de l'espace client","description":"Génère un fichier Excel avec 4 feuilles : proformas validées par les clients, demandes de proforma, rapports envoyés, et KPIs d'utilisation","parameters":[{"name":"year","required":false,"in":"query","description":"Année à analyser (par défaut l'année courante)","schema":{"example":2025,"type":"number"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/delete/{proformaId}":{"delete":{"operationId":"ProformaDeleteController_deleteProforma","summary":"Suppression logique d'une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","description":"Identifiant de la proforma","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/delete-bulk":{"delete":{"operationId":"ProformaDeleteController_deleteBulkProforma","summary":"Suppression logique en masse de proformas","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/delete-item/{proformaId}/{itemId}":{"delete":{"operationId":"ProformaDeleteController_deleteItemProforma","summary":"Suppression d'un lot d'une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","description":"Identifiant de la proforma","schema":{"type":"string"}},{"name":"itemId","required":true,"in":"path","description":"Identifiant du lot de la proforma","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/soft-delete-item/{proformaId}/{itemId}":{"delete":{"operationId":"ProformaDeleteController_softDeleteItemProforma","summary":"Suppression logique d'un lot d'une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","description":"Identifiant de la proforma","schema":{"type":"string"}},{"name":"itemId","required":true,"in":"path","description":"Identifiant du lot de la proforma","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/delete-parameter/{id}":{"delete":{"operationId":"ProformaDeleteController_deleteAnalyseProforma","summary":"Suppression d'un paramètre d'un lot de proforma","parameters":[{"name":"id","required":true,"in":"path","description":"Identifiant du paramètre de l item  de la proforma","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/{proformaId}/delete-additional-cost/{additionalCostId}":{"delete":{"operationId":"ProformaDeleteController_deleteAdditionalCostProforma","summary":"Suppression d'un coût supplémentaire d'une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","description":"Identifiant de la proforma","schema":{"type":"string"}},{"name":"additionalCostId","required":true,"in":"path","description":"Identifiant du coût supplémentaire","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/{proformaId}/soft-delete-additional-cost/{additionalCostId}":{"delete":{"operationId":"ProformaDeleteController_softDeleteAdditionalCostProforma","summary":"Suppression logique d'un coût supplémentaire d'une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","description":"Identifiant de la proforma","schema":{"type":"string"}},{"name":"additionalCostId","required":true,"in":"path","description":"Identifiant du coût supplémentaire","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/{proformaId}/restore-additional-cost/{additionalCostId}":{"put":{"operationId":"ProformaDeleteController_restoreAdditionalCostProforma","summary":"Restaurer un coût supplémentaire d'une proforma","parameters":[{"name":"proformaId","required":true,"in":"path","description":"Identifiant de la proforma","schema":{"type":"string"}},{"name":"additionalCostId","required":true,"in":"path","description":"Identifiant du coût supplémentaire","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/hard-delete/{proformaId}":{"delete":{"operationId":"ProformaDeleteController_deleteHardProforma","summary":"Suppression définitive d'une proforma (hard delete)","parameters":[{"name":"proformaId","required":true,"in":"path","description":"Identifiant de la proforma","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/hard-delete-bulk":{"delete":{"operationId":"ProformaDeleteController_deleteBulkHardProforma","summary":"Suppression définitive en masse de proformas (hard delete)","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/restore/{proformaId}":{"put":{"operationId":"ProformaDeleteController_restoreProforma","summary":"Restaurer une proforma supprimée","parameters":[{"name":"proformaId","required":true,"in":"path","description":"Identifiant de la proforma","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma/restore-bulk":{"put":{"operationId":"ProformaDeleteController_restoreBulkProforma","summary":"Restaurer plusieurs proformas supprimées","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/facturation-adv/this-provider":{"get":{"operationId":"FacturationAdvController_findAll","summary":"Récupérer la liste des avis de crédit","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MODULE ADV: FACTURATION DES AVIS DE CREDIT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/facturation-adv/one/{id}":{"get":{"operationId":"FacturationAdvController_findOne","summary":"recuperer un avis de crédit par son ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MODULE ADV: FACTURATION DES AVIS DE CREDIT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/facturation-adv/facture/{id}":{"put":{"operationId":"FacturationAdvController_update","summary":"Facturer un avis de crédit","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFacturationAdvDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MODULE ADV: FACTURATION DES AVIS DE CREDIT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/facturation-adv/checkout/{id}":{"put":{"operationId":"FacturationAdvController_withDraw","summary":"Facturer un avis de crédit","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFacturationAdvDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MODULE ADV: FACTURATION DES AVIS DE CREDIT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/factures":{"post":{"operationId":"FactureController_create","summary":"Créer une nouvelle facture","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFactureDto"}}}},"responses":{"201":{"description":"Facture créée avec succès."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"FactureController_findAll","summary":"Récupérer toutes les factures","parameters":[],"responses":{"200":{"description":"Liste des factures."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/factures/from-proformas":{"post":{"operationId":"FactureController_createFromProformas","summary":"Créer une facture unique à partir de plusieurs proformas (contrat client)","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFactureFromProformasDto"}}}},"responses":{"201":{"description":"Facture groupée créée avec succès."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/factures/reference/{reference}":{"get":{"operationId":"FactureController_findByReference","summary":"Récupérer une facture par sa référence","parameters":[{"name":"reference","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Détails de la facture."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/factures/client":{"get":{"operationId":"FactureController_findByClient","summary":"Récupérer les factures d'un client","parameters":[{"name":"customerType","required":true,"in":"query","schema":{"type":"string"}},{"name":"clientId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Liste des factures du client."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/factures/rapport/{rapportId}":{"get":{"operationId":"FactureController_findByRapportAnalyse","summary":"Récupérer les factures d'un rapport d'analyse","parameters":[{"name":"rapportId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Liste des factures du rapport d'analyse."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/factures/proforma/{proformaId}":{"get":{"operationId":"FactureController_findByProforma","summary":"Récupérer les factures d'un proforma","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Liste des factures du proforma."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/factures/{id}":{"get":{"operationId":"FactureController_findOne","summary":"Récupérer une facture par son ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Détails de la facture."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"FactureController_update","summary":"Mettre à jour une facture","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFactureDto"}}}},"responses":{"200":{"description":"Facture mise à jour avec succès."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"FactureController_remove","summary":"Supprimer une facture","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Facture supprimée avec succès."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/factures/{id}/mark-as-paid":{"post":{"operationId":"FactureController_markAsPaid","summary":"Marquer une facture comme payée","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Facture marquée comme payée avec succès."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/factures/{id}/mark-as-partially-paid":{"post":{"operationId":"FactureController_markAsPartiallyPaid","summary":"Enregistrer un paiement partiel (acompte) sur une facture","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Paiement partiel enregistré avec succès."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["factures"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/facturation-addresses":{"post":{"operationId":"FacturationAddressController_create","summary":"Créer une nouvelle adresse de facturation","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFacturationAddressDto"}}}},"responses":{"201":{"description":"Adresse créée avec succès."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["facturation-addresses"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"FacturationAddressController_findAll","summary":"Récupérer toutes les adresses de facturation","parameters":[],"responses":{"200":{"description":"Liste des adresses de facturation."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["facturation-addresses"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/facturation-addresses/by-customer/{clientId}":{"get":{"operationId":"FacturationAddressController_findByClient","summary":"Récupérer les adresses de facturation d'un client","parameters":[{"name":"customerId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Liste des adresses de facturation du client."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["facturation-addresses"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/facturation-addresses/default":{"get":{"operationId":"FacturationAddressController_findDefaultAddress","summary":"Récupérer l'adresse de facturation par défaut d'un client","parameters":[{"name":"clientId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Adresse de facturation par défaut du client."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["facturation-addresses"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/facturation-addresses/{id}":{"get":{"operationId":"FacturationAddressController_findOne","summary":"Récupérer une adresse de facturation par son ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Détails de l'adresse de facturation."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["facturation-addresses"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"FacturationAddressController_update","summary":"Mettre à jour une adresse de facturation","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFacturationAddressDto"}}}},"responses":{"200":{"description":"Adresse mise à jour avec succès."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["facturation-addresses"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"FacturationAddressController_remove","summary":"Supprimer une adresse de facturation","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Adresse supprimée avec succès."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["facturation-addresses"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/facturation-addresses/{id}/set-default":{"put":{"operationId":"FacturationAddressController_setDefaultAddress","summary":"Définir une adresse comme adresse par défaut","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Adresse définie comme par défaut avec succès."},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["facturation-addresses"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/financial-dashboard":{"get":{"operationId":"BusinessStatsController_getFinancialDashboard","summary":"Obtenir le tableau de bord financier","parameters":[{"name":"year","required":true,"in":"query","description":"Année","schema":{"example":2025,"type":"number"}},{"name":"month","required":false,"in":"query","description":"Mois (1-12)","schema":{"example":7,"type":"number"}},{"name":"day","required":false,"in":"query","description":"Jour du mois","schema":{"example":15,"type":"number"}}],"responses":{"200":{"description":"Tableau de bord financier récupéré avec succès","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialDashboardResponseDto"}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/operational-overview":{"get":{"operationId":"BusinessStatsController_getOperationalOverview","summary":"Obtenir un aperçu des opérations","parameters":[{"name":"year","required":true,"in":"query","schema":{"type":"number"}},{"name":"month","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/predictive-analysis":{"get":{"operationId":"BusinessStatsController_getPredictiveAnalysis","summary":"Obtenir l'analyse prédictive","parameters":[],"responses":{"200":{"description":"Analyse prédictive récupérée avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/parameter-trends":{"get":{"operationId":"BusinessStatsController_getParameterTrends","summary":"Obtenir les tendances des paramètres","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/performance-metrics":{"get":{"operationId":"BusinessStatsController_getPerformanceMetrics","summary":"Obtenir les métriques de performance","parameters":[{"name":"year","required":true,"in":"query","schema":{"type":"number"}},{"name":"month","required":true,"in":"query","schema":{"type":"number"}},{"name":"period","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/client-analysis":{"get":{"operationId":"BusinessStatsController_getClientAnalysis","summary":"Obtenir l'analyse des clients","parameters":[{"name":"period","required":true,"in":"query","schema":{"type":"string"}},{"name":"year","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/lab-analysis":{"get":{"operationId":"BusinessStatsController_getLabAnalysis","summary":"Obtenir l'analyse des laboratoires","parameters":[{"name":"period","required":true,"in":"query","schema":{"type":"string"}},{"name":"year","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/alerts":{"get":{"operationId":"BusinessStatsController_getActiveAlerts","summary":"Obtenir les alertes actives","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/alerts/{alertId}/resolve":{"put":{"operationId":"BusinessStatsController_resolveAlert","summary":"Résoudre une alerte","parameters":[{"name":"alertId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/generate-manual-stats":{"post":{"operationId":"BusinessStatsController_generateManualStats","summary":"Générer manuellement les statistiques","parameters":[],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/export/{type}":{"get":{"operationId":"BusinessStatsController_exportStats","summary":"Exporter les données statistiques","parameters":[{"name":"type","required":true,"in":"path","schema":{"type":"string"}},{"name":"format","required":true,"in":"query","schema":{"type":"string"}},{"name":"year","required":true,"in":"query","schema":{"type":"number"}},{"name":"month","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/kpi-summary":{"get":{"operationId":"BusinessStatsController_getKPISummary","summary":"Obtenir un résumé des KPI principaux","parameters":[{"name":"period","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/trends-comparison":{"get":{"operationId":"BusinessStatsController_getTrendsComparison","summary":"Comparer les tendances sur plusieurs périodes","parameters":[{"name":"periods","required":true,"in":"query","schema":{"type":"number"}},{"name":"metric","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/forecast/{months}":{"get":{"operationId":"BusinessStatsController_getForecast","summary":"Obtenir les prévisions pour les prochains mois","parameters":[{"name":"months","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/facture-stats":{"get":{"operationId":"BusinessStatsController_getFactureStats","summary":"Obtenir les statistiques basées sur les factures","parameters":[{"name":"period","required":true,"in":"query","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Statistiques des factures récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/enhanced-lab-analysis":{"get":{"operationId":"BusinessStatsController_getEnhancedLabAnalysis","summary":"Analyse détaillée des laboratoires basée sur FactureLaboratoryData","parameters":[{"name":"period","required":true,"in":"query","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Analyse détaillée des laboratoires récupérée avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/business-stats/recalculate-all":{"post":{"operationId":"BusinessStatsController_recalculateAllStats","summary":"Recalculer toutes les statistiques","parameters":[{"name":"period","required":true,"in":"query","schema":{"type":"string"}},{"name":"year","required":true,"in":"query","schema":{"type":"number"}},{"name":"month","required":true,"in":"query","schema":{"type":"number"}},{"name":"day","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"Statistiques recalculées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Business Analytics","Business Analytics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider/one":{"get":{"operationId":"ServiceProviderController_findAll","summary":"Récuperer tous les fournisseurs de service","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Super Admin global"]}},"/api/v1/service-provider/{id}":{"get":{"operationId":"ServiceProviderController_findOne","summary":"Récuperer un fournisseur de service","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]},"put":{"operationId":"ServiceProviderController_update","summary":"Mettre à jour un fournisseur de service","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UpdateServiceProviderDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/global":{"get":{"operationId":"ServiceProviderController_getGlobalStats","summary":"Statistiques globales (KPIs généraux)","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/proformas":{"get":{"operationId":"ServiceProviderController_getProformasStats","summary":"Statistiques des proformas","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/demandes":{"get":{"operationId":"ServiceProviderController_getDemandesStats","summary":"Statistiques des demandes d'analyse","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/rapports":{"get":{"operationId":"ServiceProviderController_getRapportsStats","summary":"Statistiques des rapports d'analyse","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/bordereaux":{"get":{"operationId":"ServiceProviderController_getBordereauxStats","summary":"Statistiques des bordereaux","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/echantillons":{"get":{"operationId":"ServiceProviderController_getEchantillonsStats","summary":"Statistiques des échantillons","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/adv":{"get":{"operationId":"ServiceProviderController_getADVStats","summary":"Statistiques ADV (facturation)","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/top-natures":{"get":{"operationId":"ServiceProviderController_getTopNatures","summary":"Top 15 des natures d'échantillons","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/top-clients":{"get":{"operationId":"ServiceProviderController_getTopClients","summary":"Top 15 des clients par revenus","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/top-parameters":{"get":{"operationId":"ServiceProviderController_getTopParameters","summary":"Top 30 des paramètres analysés","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/top-clients-adv":{"get":{"operationId":"ServiceProviderController_getTopClientsADV","summary":"Top 15 des clients par nombre d'ADV et montant (tous statuts)","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/{year}":{"get":{"operationId":"ServiceProviderController_getStats","summary":"Récupérer les statistiques d un fournisseur de service  par année","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider/stats/export/excel":{"get":{"operationId":"ServiceProviderController_exportStatsToExcel","summary":"Exporter les statistiques du dashboard en Excel","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-provider-user/add-new":{"post":{"operationId":"ServiceProviderUserController_addProviderUser","summary":"Ajouter un utilisateur à un fournisseur de service","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateProviderUserDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/users":{"get":{"operationId":"ServiceProviderUserController_getProviderUsers","summary":"Récuperer tous les utilisateurs d'un fournisseur de service","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/users/{id}":{"get":{"operationId":"ServiceProviderUserController_getProviderUser","summary":"Récuperer un utilisateur d'un fournisseur de service","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Utilisateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"ServiceProviderUserController_updateProviderUser","summary":"Mettre à jour un utilisateur de fournisseur de service","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateProviderUserDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Utilisateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"ServiceProviderUserController_removeProviderUser","summary":"Supprimer un utilisateur de fournisseur de service","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/laboratory-users":{"get":{"operationId":"ServiceProviderUserController_getServiceProviderLabUsers","summary":"Récuperer les utilisateurs d'un fournisseur de service qui sont affectés à un laboratoire","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Utilisateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/users/{id}/update-email-pass":{"put":{"operationId":"ServiceProviderUserController_updateEmailAndPass","summary":"Mettre à jour l email et le mot de passe d un utilisateur","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/users/{id}/change-roles":{"put":{"operationId":"ServiceProviderUserController_changeRoles","summary":"Changer les rôles d un utilisateur","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/users/set-preleveurs":{"post":{"operationId":"ServiceProviderUserController_setUsersAsPrelveurs","summary":"Définir les utilisateurs comme préleveurs","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/users/{id}/set-responsable-preleveur":{"put":{"operationId":"ServiceProviderUserController_setAsResponsablePreleveur","summary":"Définir un utilisateur comme responsable préleveur","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/users/{id}/remove-responsable-preleveur":{"delete":{"operationId":"ServiceProviderUserController_removeResponsablePreleveur","summary":"Supprimer le rôle de responsable préleveur","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/users/{id}/remove-preleveur-role":{"delete":{"operationId":"ServiceProviderUserController_removePreleveurRole","summary":"Supprimer le rôle de préleveur","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/users/{id}/set-reclamation-manager":{"put":{"operationId":"ServiceProviderUserController_setAsReclamationManager","summary":"Définir un utilisateur comme responsable des réclamations","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/users/{id}/remove-reclamation-manager":{"delete":{"operationId":"ServiceProviderUserController_removeReclamationManager","summary":"Supprimer le rôle de responsable des réclamations","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/users/force/{id}":{"delete":{"operationId":"ServiceProviderUserController_forceRemoveProviderUser","summary":"Supprimer complètement un utilisateur de fournisseur de service","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/import":{"post":{"operationId":"ServiceProviderUserController_addMultipleProviderUsers","summary":"Ajouter plusieurs utilisateurs à un fournisseur de service","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/FileDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/export":{"get":{"operationId":"ServiceProviderUserController_exportProviderUsers","summary":"Exporter tous les utilisateurs d un fournisseur de service","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-provider-user/notify-all-users":{"post":{"operationId":"ServiceProviderUserController_notifyAllProviderUsers","summary":"Notifier tous les utilisateurs d un fournisseur de service","parameters":[],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-customer-company/add-company":{"post":{"operationId":"ServiceCustomerCompanyController_addProviderCompany","summary":"Ajouter une entreprise cliente à un fournisseur de service","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateCustomerCompanyDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-customer-company/get-all":{"get":{"operationId":"ServiceCustomerCompanyController_getProviderCompanies","summary":"Récuperer toutes les entreprises clientes d un fournisseur de service","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-customer-company/one/{id}":{"get":{"operationId":"ServiceCustomerCompanyController_getProviderCompany","summary":"Récuperer une entreprise cliente d'un fournisseur de service","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-customer-company/update/{id}":{"put":{"operationId":"ServiceCustomerCompanyController_updateProviderCompany","summary":"Mettre à jour une entreprise cliente de fournisseur de service","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UpdateCustomerCompanyDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-customer-company/set-as-test/{id}":{"post":{"operationId":"ServiceCustomerCompanyController_setAsTestCompany","summary":"Définir une entreprise cliente comme entreprise de test","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-customer-company/delete/{id}":{"delete":{"operationId":"ServiceCustomerCompanyController_forceRemoveProviderCompany","summary":"Supprimer complètement une entreprise cliente de fournisseur de service","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-customer-company/all/delete/bulk":{"delete":{"operationId":"ServiceCustomerCompanyController_removeBulkProviderCompanies","summary":"Supprimer complètement une entreprise cliente de fournisseur de service","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-customer-company/export":{"get":{"operationId":"ServiceCustomerCompanyController_exportProviderCompanies","summary":"Exporter toutes les entreprises clientes d un fournisseur de service","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-customer-company/getall/{companyId}/employees":{"get":{"operationId":"ServiceCustomerCompanyController_exportProviderCompaniesEmployees","summary":"Exporter les employés d une entreprise cliente d un fournisseur de service","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-customer-company/export-all-customers":{"get":{"operationId":"ServiceCustomerCompanyController_exportAllCustomersToExcel","summary":"Exporter tous les clients (entreprises + particuliers) en Excel avec design avancé","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service-customer/add-new":{"post":{"operationId":"ServiceProviderCustomerController_addProviderCompanyUser","summary":"Ajouter un utilisateur à une entreprise cliente ou un client individuel","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateProviderCustomerDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-customer/import":{"post":{"operationId":"ServiceProviderCustomerController_importProviderCompanyUsers","summary":"Importer des utilisateurs à une entreprise cliente ou un client individuel","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/FileDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-customer/convert-to-company/{customerId}":{"put":{"operationId":"ServiceProviderCustomerController_convertToCompany","summary":"Convertir un client individuel en entreprise cliente","parameters":[{"name":"customerId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertCustomerToCompanyDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-customer/update/{id}":{"put":{"operationId":"ServiceProviderCustomerController_updateProviderCompanyUser","summary":"Mettre à jour un utilisateur d\"une entreprise cliente ou un client individuel","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UpdateProviderCustomerDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-customer/set-as-test/{id}":{"post":{"operationId":"ServiceProviderCustomerController_setAsTestCustomer","summary":"Définir un client individuel comme client de test","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-customer/customers/individual":{"get":{"operationId":"ServiceProviderCustomerController_getIndividualCustomer","summary":"Récupérer tous les clients qui n'ont pas d'entreprise cliente","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-customer/customers/all":{"get":{"operationId":"ServiceProviderCustomerController_getAllCustomers","summary":"Récupérer tous les clients (employée d'entreprise cliente et client individuel)","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-customer/chart-data-for/{year}":{"get":{"operationId":"ServiceProviderCustomerController_getChartData","summary":"Récupérer toutes les statistiques des clients","parameters":[{"name":"year","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-customer/export":{"get":{"operationId":"ServiceProviderCustomerController_exportProviderCompanies","summary":"Exporter toutes les clientes d un fournisseur de service","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-customer/delete-user/{id}":{"delete":{"operationId":"ServiceProviderCustomerController_deleteCustomer","summary":"Supprimer complètement un client","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service-customer/one/{id}":{"get":{"operationId":"ServiceProviderCustomerController_findOne","summary":"Récupérer un client","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Fournisseur de service","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/plan/subscription/activate":{"post":{"operationId":"SubscriptionController_create","summary":"Souscire un abonnement","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSubscriptionDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Souscription de plan","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/plan/subscription/all/this":{"get":{"operationId":"SubscriptionController_findCompanySubscription","summary":"Récupérer les abonnements du fournisseur de service","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Souscription de plan","Fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/plan/subscription/{id}":{"get":{"operationId":"SubscriptionController_findOne","summary":"Récupérer un abonnement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Souscription de plan"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"SubscriptionController_remove","summary":"Annuler un abonnement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Souscription de plan"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/plan/subscription/{id}/change-plan/{plan_id}":{"put":{"operationId":"SubscriptionController_update","summary":"Modifier un abonnement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"plan_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Souscription de plan"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/roles":{"get":{"operationId":"RolesController_findAll","summary":"Récupérer tous les rôles","parameters":[],"responses":{"200":{"description":""}},"tags":["Roles"]}},"/api/v1/roles/permissions":{"post":{"operationId":"RolesController_findOne","summary":"Récupérer les permissions d'un rôle","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleDto"}}}},"responses":{"201":{"description":""}},"tags":["Roles"]}},"/api/v1/roles/add-roles":{"post":{"operationId":"RolesController_addRolesToUser","summary":"Ajouter des rôles à un utilisateur","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRolesToUserDto"}}}},"responses":{"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Roles","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/roles/bulk-add-roles":{"post":{"operationId":"RolesController_bulkAddRolesToUsers","summary":"Ajouter des rôles à des utilisateurs","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/BullkAddRoleDto"}}}},"responses":{"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Roles","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/roles/remove-roles":{"post":{"operationId":"RolesController_removeRolesToUser","summary":"Supprimer des rôles à un utilisateur","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/"}}}},"responses":{"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Roles","Administrateur de fournisseur de service"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/parameter-norm/create":{"post":{"operationId":"ParameterNormController_create","summary":"Créer une norme de paramètre","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateParameterNormDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Normes de paramètres"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/parameter-norm/create/bulk":{"post":{"operationId":"ParameterNormController_createBulk","summary":"Créer plusieurs normes de paramètres","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreateParameterNormDto"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Normes de paramètres"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/parameter-norm/parameter/{parameterId}":{"get":{"operationId":"ParameterNormController_findAllByParameterId","summary":"Récupérer les normes de paramètres","parameters":[{"name":"parameterId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Normes de paramètres"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"ParameterNormController_removeByParameterId","summary":"Supprimer les normes de paramètres par paramètreId","parameters":[{"name":"parameterId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Normes de paramètres"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/parameter-norm/{id}":{"get":{"operationId":"ParameterNormController_findOne","summary":"Récupérer une normes de paramètres","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Normes de paramètres"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"ParameterNormController_update","summary":"Mettre à jour une norme de paramètre","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateParameterNormDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Normes de paramètres"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"ParameterNormController_remove","summary":"Supprimer une norme de paramètre","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Normes de paramètres"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/parameter-norm/delete/bulk":{"put":{"operationId":"ParameterNormController_removeMany","summary":"Supprimer plusieurs normes de paramètres","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulKDeleteBody"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Normes de paramètres"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/create":{"post":{"operationId":"PrelevementController_create","summary":"Créer un nouveau prélèvement","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePrelevementDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/this":{"get":{"operationId":"PrelevementController_findAll","summary":"Récupérer les prélèvements du fournisseur de service de l'utilisateur actuel","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/this-provider":{"get":{"operationId":"PrelevementController_findByProvider","summary":"Récupérer les prélèvements du fournisseur de service de l'utilisateur actuel","parameters":[{"name":"status","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/this-provider-by-reference":{"get":{"operationId":"PrelevementController_findByReference","summary":"Récupérer un prélèvement par référence","parameters":[{"name":"reference","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/this-provider-echantillonage":{"get":{"operationId":"PrelevementController_getReadyForEchantillonage","summary":"Récupérer les prélèvements du fournisseur de service de l'utilisateur actuel","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/one/{id}":{"get":{"operationId":"PrelevementController_findOne","summary":"Récupérer un prélèvement par son id","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/without-rapports":{"get":{"operationId":"PrelevementController_findWithoutRapport","summary":"Récuperer les prelevements sans rapports","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/by-customer":{"get":{"operationId":"PrelevementController_findByCustomer","summary":"Récupérer les prélèvements par client","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/update/{id}":{"put":{"operationId":"PrelevementController_update","summary":"Mettre à jour un prélèvement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePrelevementDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/{id}":{"delete":{"operationId":"PrelevementController_remove","summary":"Supprimer un prélèvement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/bulk-delete":{"put":{"operationId":"PrelevementController_bulkDelete","summary":"Supprimer un ou plusieurs prélèvements","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/stats/{year}":{"get":{"operationId":"PrelevementController_getStats","summary":"Récupérer les statistiques des prélèvements par année","parameters":[{"name":"year","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/stats-company/get/{year}":{"get":{"operationId":"PrelevementController_getStatsByCompany","summary":"Récupérer les meilleurs clients par nombre de prélèvements","parameters":[{"name":"year","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/stats-client/get/{year}":{"get":{"operationId":"PrelevementController_getStatsByIndividualClient","summary":"Récupérer les statistiques des prélèvements par client","parameters":[{"name":"year","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/prelevement/this-provider-by-technician":{"get":{"operationId":"PrelevementController_getPrelevementsByTechnician","summary":"Récupérer les prélèvements par technicien","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/create":{"post":{"operationId":"EchantillonsController_create","summary":"Créer un échantillon","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEchantillonDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/create-by-package":{"post":{"operationId":"EchantillonsController_createByPackage","summary":"Créer un échantillon par contrat","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEchantillonDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/add-comment/{id}":{"post":{"operationId":"EchantillonsController_addComment","summary":"Ajouter un commentaire à un échantillon","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddEchantillonCommentDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/add-nota-bene/{id}":{"post":{"operationId":"EchantillonsController_addNotaBene","summary":"Ajouter une remarque à un échantillon","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddEchantillonNotaBeneDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/this-provider":{"get":{"operationId":"EchantillonsController_findAll","summary":"Liste des échantillons de ce prestataire","parameters":[{"name":"status","required":false,"in":"query","description":"Status of the border sample","schema":{"type":"array","items":{"type":"string"}}},{"name":"startDate","required":false,"in":"query","description":"Start date for filtering","schema":{"format":"date-time","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"End date for filtering","schema":{"format":"date-time","type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number for pagination","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page","schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search term for filtering","schema":{"type":"string"}},{"name":"sortBy","required":false,"in":"query","description":"Field to sort by","schema":{"type":"string"}},{"name":"sortDirection","required":false,"in":"query","description":"Sort direction","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"f_cacheKey","required":false,"in":"query","description":"Cache key for filtering","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/download/{id}":{"get":{"operationId":"EchantillonsController_findForDownload","summary":"Récupérer un échantillon pour téléchargement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/this-provider/deleted":{"get":{"operationId":"EchantillonsController_findAllDeleted","summary":"Liste des échantillons supprimés de ce prestataire","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/not-send":{"get":{"operationId":"EchantillonsController_findNotSend","summary":"Liste des échantillons non envoyés","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/one/{id}":{"get":{"operationId":"EchantillonsController_findOne","summary":"Recuperer un échantillon","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"rapportInfo","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/one-for-demande/{id}":{"get":{"operationId":"EchantillonsController_findOneForDemande","summary":"Recuperer un échantillon pour une demande","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/item-parameters/{echantillonItemId}":{"get":{"operationId":"EchantillonsController_findItemParameters","summary":"Récupérer les paramètres d’un échantillon","parameters":[{"name":"echantillonItemId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/by-code-bordereau":{"get":{"operationId":"EchantillonsController_findByCodeBordereau","summary":"Liste des échantillons par code bordereau","parameters":[{"name":"codeBordereau","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/this-customer":{"get":{"operationId":"EchantillonsController_findByCustomer","summary":"Liste des échantillons par client","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/waiting-echantillon-item":{"get":{"operationId":"EchantillonsController_findWaitingEchantillonItem","summary":"Liste des bordereaux qui n'ont pas d'échantillons","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/no-demande-group":{"get":{"operationId":"EchantillonsController_findNoDemandeGroup","summary":"Liste des bordereaux qui n'ont pas de groupe de demandes","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/waiting-in-situ-mesure":{"get":{"operationId":"EchantillonsController_findWaitingInSituMesure","summary":"Liste des bordereaux qui n'ont pas de mesures in situ","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/without-prelevement-and-proforma":{"get":{"operationId":"EchantillonsController_findWithoutPrelevementAndProforma","summary":"Liste des bordereaux qui n'ont pas de prélèvement et de proforma","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/this-provider-stats":{"get":{"operationId":"EchantillonsController_getStats","summary":"Statistiques des échantillons de ce prestataire","parameters":[{"name":"year","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/chart-data":{"get":{"operationId":"EchantillonsController_getNewChartData","summary":"Statistiques avancées des échantillons avec filtres temporels","parameters":[{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"year","required":true,"in":"query","schema":{"type":"string"}},{"name":"month","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/update/{id}":{"put":{"operationId":"EchantillonsController_update","summary":"Mettre à jour un échantillon","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEchantillonDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/delete/{id}":{"delete":{"operationId":"EchantillonsController_remove","summary":"Supprimer un échantillon","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/delete-multiple":{"put":{"operationId":"EchantillonsController_deleteMultiple","summary":"Supprimer plusieurs échantillons","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillons/mark-received/{id}":{"put":{"operationId":"EchantillonsController_markAsReceived","summary":"Marquer un échantillon comme réceptionné","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LOT D'ÉCHANTILLONS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-echantillon-item/laboratory/{laboratoryId}":{"get":{"operationId":"LabEchantillonItemController_findAllByLaboratory","summary":"Récupérer tous les échantillons par laboratoire","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ECHANTILLON_DE_LABORATOIRE","ECHANTILLON_DE_LABORATOIRE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-echantillon-item/echantillon-item/{echantillonItemId}":{"get":{"operationId":"LabEchantillonItemController_findAllByEchantillonItem","summary":"Récupérer tous les laboratoires associés à un échantillon","parameters":[{"name":"echantillonItemId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ECHANTILLON_DE_LABORATOIRE","ECHANTILLON_DE_LABORATOIRE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-echantillon-item/{id}":{"get":{"operationId":"LabEchantillonItemController_findOne","summary":"Récupérer un échantillon de laboratoire par ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ECHANTILLON_DE_LABORATOIRE","ECHANTILLON_DE_LABORATOIRE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-echantillon-item/receive/{laboratoryId}":{"put":{"operationId":"LabEchantillonItemController_receiveSample","summary":"Marquer un échantillon comme reçu par le laboratoire (par ID ou codeLabo)","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"action","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ECHANTILLON_DE_LABORATOIRE","ECHANTILLON_DE_LABORATOIRE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-echantillon-item/receive-many/{laboratoryId}":{"put":{"operationId":"LabEchantillonItemController_receiveManySample","summary":"Marquer plusieurs échantillons comme reçus par le laboratoire","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"action","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ECHANTILLON_DE_LABORATOIRE","ECHANTILLON_DE_LABORATOIRE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-echantillon-item/receive-by-bordereau/{laboratoryId}":{"put":{"operationId":"LabEchantillonItemController_receiveByBordereau","summary":"Marquer les échantillons d'un bordereau comme reçus par le laboratoire","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"action","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ECHANTILLON_DE_LABORATOIRE","ECHANTILLON_DE_LABORATOIRE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-echantillon-item/synchronize-missing/all":{"get":{"operationId":"LabEchantillonItemController_synchronizeMissing","summary":"Synchroniser tous les LabEchantillonItems manquants","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ECHANTILLON_DE_LABORATOIRE","ECHANTILLON_DE_LABORATOIRE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-nature-echantillon/sync/laboratory/{laboratoryId}":{"post":{"operationId":"LabNatureEchantillonController_synchronizeForLaboratory","summary":"Synchroniser les natures d'échantillons pour un laboratoire","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["lab-nature-echantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-nature-echantillon/sync/service-provider/{serviceProviderId}":{"post":{"operationId":"LabNatureEchantillonController_synchronizeForServiceProvider","summary":"Synchroniser les natures d'échantillons pour tous les laboratoires d'un fournisseur","parameters":[{"name":"serviceProviderId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["lab-nature-echantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-nature-echantillon/laboratory/{laboratoryId}":{"get":{"operationId":"LabNatureEchantillonController_getStatsByLaboratory","summary":"Obtenir les statistiques par nature d'échantillon pour un laboratoire","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["lab-nature-echantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-nature-echantillon/service-provider/{serviceProviderId}":{"get":{"operationId":"LabNatureEchantillonController_getStatsByServiceProvider","summary":"Obtenir les statistiques agrégées par nature d'échantillon pour un fournisseur","parameters":[{"name":"serviceProviderId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["lab-nature-echantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-nature-echantillon/grouped-by-tags/{serviceProviderId}":{"get":{"operationId":"LabNatureEchantillonController_getGroupedByTags","summary":"Obtenir les natures d'échantillons regroupées par tags similaires","parameters":[{"name":"serviceProviderId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["lab-nature-echantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/create-many/{echantillonId}":{"post":{"operationId":"EchantillonItemController_createMany","summary":"Créer plusieurs items d'échantillon","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UpdateEchantillonItemDto"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/mark-received/{laboId}":{"put":{"operationId":"EchantillonItemController_markAsReceived","summary":"Marquer un item d'échantillon comme reçu","parameters":[{"name":"codeLabo","required":true,"in":"query","schema":{"type":"string"}},{"name":"laboId","required":true,"in":"path","schema":{"type":"string"}},{"name":"type","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/mark-received-many/{laboId}":{"put":{"operationId":"EchantillonItemController_markAsReceivedMany","summary":"Marquer plusieurs items d'échantillon comme reçu","parameters":[{"name":"laboId","required":true,"in":"path","schema":{"type":"string"}},{"name":"type","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/this-provider":{"get":{"operationId":"EchantillonItemController_findAll","summary":"Liste filtrée des items d'échantillon avec pagination","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/count":{"get":{"operationId":"EchantillonItemController_countByProvider","summary":"Comptage rapide des items d'échantillon avec filtres","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/search-light":{"get":{"operationId":"EchantillonItemController_searchLight","summary":"Recherche rapide d'items d'échantillon pour autocomplétion","parameters":[{"name":"searchTerm","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/stats":{"get":{"operationId":"EchantillonItemController_getStats","summary":"Statistiques avancées des items d'échantillon","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/by-echantillon":{"get":{"operationId":"EchantillonItemController_findByEchantillonCodeLabo","summary":"Récupérer les items d'échantillon d'un échantillon par le codeLabo","parameters":[{"name":"codeLabo","required":true,"in":"query","schema":{"type":"string"}},{"name":"labId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/pluck-code-labo/{echantillonId}":{"get":{"operationId":"EchantillonItemController_pluckCodeLaboByEchantillonId","summary":"Récupérer les codesLabo des items d'échantillon d'un échantillon par l'id de l'échantillon","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/by-laboratory/{laboId}":{"get":{"operationId":"EchantillonItemController_findByLaboratory","summary":"Récupérer les items d'échantillon d'un échantillon par l'id du laboratoire","parameters":[{"name":"laboId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/one/{id}":{"get":{"operationId":"EchantillonItemController_findOne","summary":"Recuperer un item d'échantillon","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/update/{id}":{"put":{"operationId":"EchantillonItemController_update","summary":"Mettre à jour un item d'échantillon","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEchantillonItemDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/delete/{id}":{"delete":{"operationId":"EchantillonItemController_remove","summary":"Supprimer un item d'échantillon","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"partial","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/delete-multiple":{"put":{"operationId":"EchantillonItemController_deleteMultiple","summary":"Supprimer plusieurs items d'échantillon","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/echantillon-item/delete-by-echantillon/{echantillonId}":{"delete":{"operationId":"EchantillonItemController_removeByEchantillon","summary":"Supprimer les items d'échantillon d'un échantillon","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ITEM D'ÉCHANTILLON"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/preleveur/add/{prelevementId}":{"post":{"operationId":"PreleveurController_addTechnician","summary":"Ajouter des techniciens à un prélèvement","parameters":[{"name":"prelevementId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePreleveurDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEUR"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/preleveur/validate-prelevement/{prelevementId}":{"put":{"operationId":"PreleveurController_validatePrelevement","summary":"Valider un prélèvement","parameters":[{"name":"prelevementId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEUR"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/preleveur/reject-prelevement/{prelevementId}":{"put":{"operationId":"PreleveurController_rejectPrelevement","summary":"Rejeter un prélèvement","parameters":[{"name":"prelevementId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectPrelevementDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEUR"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/preleveur/{id}":{"get":{"operationId":"PreleveurController_findTechnicians","summary":"Récupérer les techniciens d un prélèvement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEUR"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/preleveur/list-prelevement/{userId}":{"get":{"operationId":"PreleveurController_getTechnicianPrelevements","summary":"Récupérer les prélèvements d un technicien","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEUR"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/preleveur/{prelevementId}/delete/{technicianId}":{"delete":{"operationId":"PreleveurController_remove","summary":"Supprimer un technicien d un prélèvement","parameters":[{"name":"technicianId","required":true,"in":"path","schema":{"type":"string"}},{"name":"prelevementId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PRELEVEUR"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/notification/find-unreads-by-user":{"get":{"operationId":"NotificationController_findUnreadsByUser","summary":"Récupérer les notifications non lues d'un utilisateur","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["SERVICE DE NOTIFICATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/notification/mark-as-read/{id}":{"put":{"operationId":"NotificationController_markAsRead","summary":"Marquer une notification comme lue","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["SERVICE DE NOTIFICATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/notification/mark-all-as-read":{"put":{"operationId":"NotificationController_markAllAsRead","summary":"Marquer toutes les notifications comme lues","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["SERVICE DE NOTIFICATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/notification/{id}":{"delete":{"operationId":"NotificationController_remove","summary":"Supprimer une notification","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["SERVICE DE NOTIFICATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/equalize-rapport-for-echantillon-item/{echantillonId}":{"post":{"operationId":"RapportsController_equalizeRapportForEchantillonItem","summary":"Équilibrer les rapports pour un échantillon en fonction des items","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/equalize-rapport-ech-taf/{echantillonId}":{"post":{"operationId":"RapportsController_equalizeRapportEchTaf","summary":"Équilibrer les rapports pour un échantillon en fonction des TAF","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/dispatch-by-number/{echantillonId}/{numberOfItemsByRapport}":{"post":{"operationId":"RapportsController_dispatchByNumber","summary":"Distribuer les rapports par nombre pour un échantillon","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}},{"name":"numberOfItemsByRapport","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/send-by-bordereau/{echantillonId}":{"post":{"operationId":"RapportsController_sendByBordereau","summary":"Envoyer par bordereau","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SentRapportByBordereauDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/set-ok-for-lab-by-demande-group/{demandeGroupId}/{laboratoryId}":{"put":{"operationId":"RapportsController_setOkForLabByDemandeGroup","summary":"Marquer un rapport comme validé pour un laboratoire par demande group","parameters":[{"name":"demandeGroupId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/set-not-ok-for-lab-by-demande-group/{demandeGroupId}/{laboratoryId}":{"put":{"operationId":"RapportsController_setNotOkForLabByDemandeGroup","summary":"Marquer un rapport comme non validé pour un laboratoire par demande group","parameters":[{"name":"demandeGroupId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/set-not-first-generated/{rapportId}":{"put":{"operationId":"RapportsController_setNotFirstGenerated","summary":"Marquer un rapport comme non généré","parameters":[{"name":"rapportId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/one/{id}":{"get":{"operationId":"RapportsController_findOne","summary":"Récupérer un rapport d'analyse par son id","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"valid-result","required":true,"in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/this-provider":{"get":{"operationId":"RapportsController_findAll","summary":"Récupérer tous les rapports d'analyse","parameters":[{"name":"status","required":false,"in":"query","description":"Status of the rapport","schema":{"type":"array","items":{"type":"string"}}},{"name":"startDate","required":false,"in":"query","description":"Start date for filtering","schema":{"format":"date-time","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"End date for filtering","schema":{"format":"date-time","type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number for pagination","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page","schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search term for filtering","schema":{"type":"string"}},{"name":"sortBy","required":false,"in":"query","description":"Field to sort by","schema":{"type":"string"}},{"name":"sortDirection","required":false,"in":"query","description":"Sort direction","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"isSent","required":false,"in":"query","description":"Filter by sent status","schema":{"type":"boolean"}},{"name":"isFirstGenerated","required":false,"in":"query","description":"Filter by first generated status","schema":{"type":"boolean"}},{"name":"isOkForAllLabs","required":false,"in":"query","description":"Exclude reports that are ok for all labs","schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/by-bordereau":{"get":{"operationId":"RapportsController_findByBordereau","summary":"Récupérer les rapports d'analyse par bordereau","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/by-laboratory/{laboratoryId}":{"get":{"operationId":"RapportsController_findByLaboratory","summary":"Récupérer les rapports d'analyse par laboratoire","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"isOk","required":false,"in":"query","description":"Filter by isOk status for the laboratory","schema":{"type":"boolean"}},{"name":"startDate","required":false,"in":"query","description":"Start date for filtering","schema":{"format":"date-time","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"End date for filtering","schema":{"format":"date-time","type":"string"}},{"name":"search","required":false,"in":"query","description":"Search term for filtering","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/by-client":{"get":{"operationId":"RapportsController_findByClient","summary":"Récupérer les rapports pour le client connecté","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/by-customer/{customerId}":{"get":{"operationId":"RapportsController_findByCustomer","parameters":[{"name":"customerId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/by-echantillon/{echantillonId}":{"get":{"operationId":"RapportsController_findByEchantillon","summary":"Récupérer les rapports d'analyse par échantillon","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/by-demande/{demandeId}":{"get":{"operationId":"RapportsController_findByDemande","summary":"Récupérer les rapports d'analyse par demande","parameters":[{"name":"demandeId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/by-proforma/{proformaId}":{"get":{"operationId":"RapportsController_findByProforma","summary":"Récupérer les rapports d'analyse par proforma","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/mark-as-first-generated/{id}":{"put":{"operationId":"RapportsController_markAsGenerated","summary":"Marquer un rapport comme généré","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/toggle-ignored/{id}":{"put":{"operationId":"RapportsController_toggleIgnored","summary":"Basculer l'état ignoré d'un rapport","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/mark-many-as-first-generated":{"put":{"operationId":"RapportsController_markManyAsFirstGenerated","summary":"Marquer plusieurs rapports comme générés","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/by-echantillon-item/{echantillonItemId}":{"get":{"operationId":"RapportsController_findByEchantillonItem","summary":"Récupérer les rapports d'analyse par item d'échantillon","parameters":[{"name":"echantillonItemId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/by-echantillon-item-analysis/{echantillonItemAnalysisId}":{"get":{"operationId":"RapportsController_findByEchantillonItemAnalysis","summary":"Récupérer les rapports d'analyse par item d'analyse d'échantillon","parameters":[{"name":"echantillonItemAnalysisId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/all-disponible-rapport":{"get":{"operationId":"RapportsController_findAllDisponbileRapport","summary":"Récupérer tous les rapports d'analyse disponibles","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/disponible/{echantillonId}":{"get":{"operationId":"RapportsController_findByDisponbileRapport","summary":"Récupérer les rapports d'analyse par disponibilité","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/by-code-echantillon":{"get":{"operationId":"RapportsController_findByCodeEchantillon","summary":"Récupérer les rapports d'analyse par code échantillon","parameters":[{"name":"codeLabo","required":true,"in":"query","description":"Code échantillon","schema":{"type":"string"}},{"name":"type","required":true,"in":"query","description":"Type du code","schema":{"enum":["full","alias"],"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/by-technician/{technicianId}":{"get":{"operationId":"RapportsController_findByTechnician","summary":"Récupérer les rapports d'analyse par technicien","parameters":[{"name":"technicianId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/chart-data":{"get":{"operationId":"RapportsController_getChartData","summary":"Récupérer les données de graphique de rapport","parameters":[{"name":"type","required":true,"in":"query","description":"Type de données","schema":{"enum":["month","year"],"type":"string"}},{"name":"year","required":false,"in":"query","description":"Année","schema":{"type":"number"}},{"name":"month","required":false,"in":"query","description":"Mois","schema":{"type":"number"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/chart-data-by-technician/{technicianId}":{"get":{"operationId":"RapportsController_getChartDataByTechnician","summary":"Récupérer les données de graphique de rapport par technicien","parameters":[{"name":"type","required":true,"in":"query","description":"Type de données","schema":{"enum":["month","year"],"type":"string"}},{"name":"year","required":false,"in":"query","description":"Année","schema":{"type":"number"}},{"name":"month","required":false,"in":"query","description":"Mois","schema":{"type":"number"}},{"name":"technicianId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/chart-data-by-laboratory/{laboratoryId}":{"get":{"operationId":"RapportsController_getChartDataByLaboratory","summary":"Récupérer les données de graphique de rapport par laboratoire","parameters":[{"name":"type","required":true,"in":"query","description":"Type de données","schema":{"enum":["month","year"],"type":"string"}},{"name":"year","required":false,"in":"query","description":"Année","schema":{"type":"number"}},{"name":"month","required":false,"in":"query","description":"Mois","schema":{"type":"number"}},{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/donut-chart-data":{"get":{"operationId":"RapportsController_getDonutChartData","summary":"Récupérer les données de graphique de rapport","parameters":[{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"year","required":true,"in":"query","schema":{"type":"number"}},{"name":"month","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/donut-chart-data-by-laboratory/{laboratoryId}":{"get":{"operationId":"RapportsController_getLaboratoryDonutChartData","summary":"Récupérer les données de graphique de rapport par laboratoire","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"year","required":true,"in":"query","schema":{"type":"number"}},{"name":"month","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/statistics-data":{"get":{"operationId":"RapportsController_getStatisticsData","summary":"Récupérer les données statistiques formatées pour le frontend","parameters":[{"name":"period","required":false,"in":"query","description":"Période pour les statistiques (défaut: week)","schema":{"enum":["day","week","month","year"],"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/update/{id}":{"put":{"operationId":"RapportsController_update","summary":"Mettre à jour un rapport d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRapportDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/update-sent-file/{id}":{"put":{"operationId":"RapportsController_updateSentFile","summary":"Mettre à jour le fichier d'un rapport envoyé","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SentRapportDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/delete/{id}":{"delete":{"operationId":"RapportsController_remove","summary":"Supprimer un rapport d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/delete-many":{"put":{"operationId":"RapportsController_removeMany","summary":"Supprimer plusieurs rapports d'analyse","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/mark-as-sent/{id}":{"put":{"operationId":"RapportsController_markAsSent","summary":"Marquer un rapport comme envoyé","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SentRapportDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/update-info/{id}":{"put":{"operationId":"RapportsController_updateInfo","summary":"Mettre à jour les informations d'un rapport d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRapportDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/set-assignment/{id}":{"put":{"operationId":"RapportsController_setAssignment","summary":"Affecter un rapport d'analyse à des analyses","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRapportAssignmentToAnalysesDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/certificate-comments/{laboratoryId}":{"get":{"operationId":"RapportsController_getCertificateComments","summary":"Récupérer les commentaires de certificat pour des rapports","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"rapportIds","required":false,"in":"query","description":"IDs des rapports séparés par des virgules","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/add-certificate-comments":{"post":{"operationId":"RapportsController_addCertificateComments","summary":"Ajouter des commentaires de certificat pour un laboratoire dans les rapports","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCertificateCommentDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-analyse/certificate-comment/{commentId}":{"delete":{"operationId":"RapportsController_deleteCertificateComment","summary":"Supprimer un commentaire de certificat","parameters":[{"name":"commentId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORTS D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-analyse/create-many/{echantillonId}":{"post":{"operationId":"DemandeAnalyseController_createMany","summary":"Créer plusieurs demandes d'analyse","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}},{"name":"isUrgent","required":true,"in":"query","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreateDemandeAnalyseDto"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEMANDE D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-analyse/create-failled-demande-group/{id}":{"get":{"operationId":"DemandeAnalyseController_createFailledDemandeGroup","summary":"Créer un groupe de demande d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreateDemandeAnalyseDto"}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEMANDE D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-analyse/create-all-demande-group":{"get":{"operationId":"DemandeAnalyseController_createAllDemandeGroup","summary":"Créer un groupe de demande d'analyse","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreateDemandeAnalyseDto"}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEMANDE D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/send-many":{"post":{"operationId":"RapportTransmissionController_createMany","summary":"Enovyer plusieurs rapports","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateRapportTransmissionDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/old-send-many":{"post":{"operationId":"RapportTransmissionController_sendMany","summary":"Enovyer plusieurs rapports (import depuis l ancienne plateforme)","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/add-interlocuteur/{rapportId}":{"post":{"operationId":"RapportTransmissionController_addInterlocuteur","summary":"Ajouter un interlocuteur à un rapport","parameters":[{"name":"rapportId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/all-rapport-sent":{"get":{"operationId":"RapportTransmissionController_findAll","summary":"Recuperer les rapports envoyés d un fournisser","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/one-rapport-sent/{id}":{"get":{"operationId":"RapportTransmissionController_findOne","summary":"Recuperer un rapport envoyé","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/rapport-sent-by-company/{companyId}":{"get":{"operationId":"RapportTransmissionController_findByCompany","summary":"Recuperer les rapports envoyés d une entreprise cliente","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/this-customer":{"get":{"operationId":"RapportTransmissionController_findByThisCustomer","summary":"Recuperer les rapports envoyés du client connecté","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/rapport-sent-by-customer/{userId}":{"get":{"operationId":"RapportTransmissionController_findByCustomer","summary":"Recuperer les rapports envoyés d un client","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/read/{id}":{"put":{"operationId":"RapportTransmissionController_read","summary":"Marquer un rapport comme lu","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/rapport-sent-by-borderau/{borderauId}":{"get":{"operationId":"RapportTransmissionController_findByBorderedau","summary":"Recuperer les rapports envoyés d un borderau","parameters":[{"name":"borderauId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/update/{id}":{"put":{"operationId":"RapportTransmissionController_update","summary":"Modifier un rapport envoyé","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRapportTransmissionDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-transmission/delete/{id}":{"delete":{"operationId":"RapportTransmissionController_remove","summary":"Supprimer un rapport envoyé","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["TRANSMISSION DES RAPPORTS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/satisfaction-surveys":{"post":{"operationId":"SatisfactionSurveyController_createSurvey","summary":"Créer une nouvelle enquête de satisfaction","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSurveyDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"SatisfactionSurveyController_getSurveys","summary":"Récupérer les enquêtes de satisfaction","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/satisfaction-surveys/{id}":{"get":{"operationId":"SatisfactionSurveyController_getSurveyById","summary":"Récupérer une enquête de satisfaction par ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"SatisfactionSurveyController_updateSurvey","summary":"Mettre à jour une enquête de satisfaction par ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"SatisfactionSurveyController_deleteSurvey","summary":"Supprimer une enquête de satisfaction par ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/satisfaction-surveys/{id}/analytics":{"get":{"operationId":"SatisfactionSurveyController_getSurveyAnalytics","summary":"Récupérer les analyses d'une enquête de satisfaction par ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/satisfaction-surveys/client/pending":{"get":{"operationId":"SatisfactionSurveyController_getPendingSurveysForClient","summary":"Récupérer les enquêtes de satisfaction en attente pour un client","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/satisfaction-surveys/client/access-status":{"get":{"operationId":"SatisfactionSurveyController_checkClientAccessStatus","summary":"Vérifier si l'accès du client est bloqué en raison d'enquêtes en attente","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/satisfaction-surveys/client/responses":{"post":{"operationId":"SatisfactionSurveyController_submitClientResponse","summary":"Soumettre les réponses d'un client à une enquête de satisfaction","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitResponseDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/satisfaction-surveys/internal/pending":{"get":{"operationId":"SatisfactionSurveyController_getPendingSurveysForInternalUser","summary":"Récupérer les enquêtes de satisfaction en attente pour un utilisateur interne","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/satisfaction-surveys/internal/responses":{"post":{"operationId":"SatisfactionSurveyController_submitInternalUserResponse","summary":"Soumettre les réponses d'un utilisateur interne à une enquête de satisfaction","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitResponseDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/satisfaction-surveys/triggers/rapport-delivery":{"post":{"operationId":"SatisfactionSurveyController_triggerSurveyForRapportDelivery","summary":"Déclencher une enquête de satisfaction après la livraison d'un rapport","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/satisfaction-surveys/triggers/feature-usage":{"post":{"operationId":"SatisfactionSurveyController_triggerSurveyForFeatureUsage","summary":"Déclencher une enquête de satisfaction après l'utilisation d'une fonctionnalité","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/satisfaction-surveys/{id}/export":{"get":{"operationId":"SatisfactionSurveyController_exportSurveyResponses","summary":"Exporter les réponses d'une enquête de satisfaction en format CSV","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Enquêtes de satisfaction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-group/one/{id}/{labId}":{"get":{"operationId":"DemandeGroupController_findOne","summary":"Recuperer un groupe de demande d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"labId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DemandeGroup"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-group/this-provider":{"get":{"operationId":"DemandeGroupController_findAll","summary":"Recuperer tous les groupes de demande d'analyse","parameters":[{"name":"status","required":false,"in":"query","description":"Status of the demande group","schema":{"type":"array","items":{"type":"string"}}},{"name":"startDate","required":false,"in":"query","description":"Start date for filtering","schema":{"format":"date-time","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"End date for filtering","schema":{"format":"date-time","type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number for pagination","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page","schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search term for filtering","schema":{"type":"string"}},{"name":"sortBy","required":false,"in":"query","description":"Field to sort by","schema":{"type":"string"}},{"name":"sortDirection","required":false,"in":"query","description":"Sort direction","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"f_cacheKey","required":false,"in":"query","description":"Cache key for filtering","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DemandeGroup"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-group/this-provider-deleted":{"get":{"operationId":"DemandeGroupController_findAllDeleted","summary":"Recuperer tous les groupes de demande d'analyse supprimé","parameters":[{"name":"status","required":false,"in":"query","description":"Status of the demande group","schema":{"type":"array","items":{"type":"string"}}},{"name":"startDate","required":false,"in":"query","description":"Start date for filtering","schema":{"format":"date-time","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"End date for filtering","schema":{"format":"date-time","type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number for pagination","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page","schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search term for filtering","schema":{"type":"string"}},{"name":"sortBy","required":false,"in":"query","description":"Field to sort by","schema":{"type":"string"}},{"name":"sortDirection","required":false,"in":"query","description":"Sort direction","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"f_cacheKey","required":false,"in":"query","description":"Cache key for filtering","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DemandeGroup"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-group/get-for-download/{id}":{"get":{"operationId":"DemandeGroupController_getForDownload","summary":"Recuperer un groupe de demande d'analyse pour le téléchargement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DemandeGroup"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-group/find-one-for-provider/{id}":{"get":{"operationId":"DemandeGroupController_findOneForProvider","summary":"Recuperer un groupe de demande d'analyse pour le provider","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DemandeGroup"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-group/update-demande/{id}":{"put":{"operationId":"DemandeGroupController_updateDemandeGroupStatus","summary":"Mettre à jour le status d'un groupe de demande d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDemandeGroupDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DemandeGroup"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-group/delete/{id}":{"delete":{"operationId":"DemandeGroupController_deleteDemandeGroup","summary":"Supprimer un groupe de demande d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DemandeGroup"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-group/restore/{id}":{"put":{"operationId":"DemandeGroupController_restoreDemandeGroup","summary":"Restaurer un groupe de demande d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DemandeGroup"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-group/restore-many-soft":{"put":{"operationId":"DemandeGroupController_restoreDemandeGroupMany","summary":"Restaurer un groupe de demande d'analyse","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DemandeGroup"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-group/delete-hard/{id}":{"delete":{"operationId":"DemandeGroupController_deleteHard","summary":"Supprimer un groupe de demande d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DemandeGroup"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/demande-group/delete-many-hard":{"put":{"operationId":"DemandeGroupController_deleteDemandeGroupManyHard","summary":"Supprimer un groupe de demande d'analyse","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DemandeGroup"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/final-rapport/generate/{rapportId}":{"get":{"operationId":"FinalRapportController_generateFinalRapport","summary":"Générer le rapport final","parameters":[{"name":"rapportId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT FINAL"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/final-rapport/find-by-rapport-id/{rapportId}":{"get":{"operationId":"FinalRapportController_findFinalRapportByRapportId","summary":"Trouver le rapport final par rapport id","parameters":[{"name":"rapportId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT FINAL"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/final-rapport/find-by-rapport-ids":{"post":{"operationId":"FinalRapportController_findManyByRapportIds","summary":"Trouver les rapports finals par rapport ids","parameters":[],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT FINAL"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/final-rapport/find-by-id/{finalRapportId}":{"get":{"operationId":"FinalRapportController_findFinalRapportById","summary":"Trouver le rapport final par rapport id","parameters":[{"name":"finalRapportId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT FINAL"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/final-rapport/get-partial/{labDemandeGroupId}/{laboratoryId}":{"get":{"operationId":"FinalRapportController_getPartialRapport","summary":"Trouver le rapport partiel pour une demande d'analyse","parameters":[{"name":"labDemandeGroupId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT FINAL"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/final-rapport/get-partial-by-rapport/{rapportId}/{laboratoryId}":{"get":{"operationId":"FinalRapportController_getPartialRapportByRapportId","summary":"Trouver le rapport partiel par rapportId et laboratoryId","parameters":[{"name":"rapportId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT FINAL"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demandes/by-lab/{laboratoryId}":{"get":{"operationId":"LabDemandeController_findAll","summary":"Récupérer les demandes pour un laboratoire avec pagination et filtrage","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"urgent","required":false,"in":"query","description":"Filtre pour les demandes urgentes","schema":{"type":"boolean"}},{"name":"sortDirection","required":false,"in":"query","description":"Direction du tri","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"sortBy","required":false,"in":"query","description":"Champ pour le tri","schema":{}},{"name":"search","required":false,"in":"query","description":"Texte à rechercher","schema":{}},{"name":"limit","required":false,"in":"query","description":"Nombre d'éléments par page","schema":{}},{"name":"page","required":false,"in":"query","description":"Numéro de page","schema":{}},{"name":"year","required":false,"in":"query","description":"Année à filtrer","schema":{}},{"name":"status","required":false,"in":"query","description":"Statuts à filtrer (séparés par des virgules)","schema":{}}],"responses":{"200":{"description":"Liste des demandes pour le laboratoire avec pagination"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Demandes de laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demandes/one/{id}/by-lab/{laboratoryId}":{"get":{"operationId":"LabDemandeController_findOne","summary":"Récupérer une demande spécifique pour un laboratoire","parameters":[{"name":"id","required":true,"in":"path","description":"ID de la demande de laboratoire","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Détails de la demande de laboratoire"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Demandes de laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demandes/process-create-by-reference":{"post":{"operationId":"LabDemandeController_processCreateLabDemandeByReference","summary":"Lancer le traitement de création d'une demande de laboratoire par référence","parameters":[{"name":"reference","required":true,"in":"query","description":"Référence de la demande","schema":{"type":"string"}}],"responses":{"200":{"description":"Traitement de la création de la demande de laboratoire lancé avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Demandes de laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demande-groups/async-status":{"get":{"operationId":"LabDemandeGroupController_syncStatuses","summary":"Synchroniser les statuts des groupes de demandes","description":"Cette opération met à jour les statuts des groupes de demandes en fonction des statuts actuels de leurs demandes associées.","parameters":[],"responses":{"200":{"description":"Statuts des groupes de demandes synchronisés avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de demandes par laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demande-groups/by-lab/{laboratoryId}":{"get":{"operationId":"LabDemandeGroupController_findAll","summary":"Récupérer les groupes de demandes pour un laboratoire avec pagination et filtrage","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"sortDirection","required":false,"in":"query","description":"Direction du tri","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"sortBy","required":false,"in":"query","description":"Champ pour le tri","schema":{}},{"name":"search","required":false,"in":"query","description":"Texte à rechercher","schema":{}},{"name":"limit","required":false,"in":"query","description":"Nombre d'éléments par page","schema":{}},{"name":"page","required":false,"in":"query","description":"Numéro de page","schema":{}},{"name":"year","required":false,"in":"query","description":"Année à filtrer","schema":{}},{"name":"status","required":false,"in":"query","description":"Statuts à filtrer (séparés par des virgules)","schema":{}}],"responses":{"200":{"description":"Liste des groupes de demandes pour le laboratoire avec pagination"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de demandes par laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demande-groups/by-lab/{laboratoryId}/not-planified":{"get":{"operationId":"LabDemandeGroupController_findAllByLabAndNotPlanified","summary":"Récupérer les groupes de demandes pour un laboratoire avec pagination et filtrage","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de demandes par laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demande-groups/by-lab-technician/{laboratoryId}":{"get":{"operationId":"LabDemandeGroupController_findAllByLaboAndTechnician","summary":"Récupérer les groupes de demandes pour un laboratoire et un technicien","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de demandes par laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demande-groups/by-lab-demande-group/{id}":{"get":{"operationId":"LabDemandeGroupController_findOneByLabDemandeGroupForTechnician","summary":"Récupérer un groupe de demandes spécifique avec ses demandes associées","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de demandes par laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demande-groups/{id}/for-lab/{laboratoryId}":{"get":{"operationId":"LabDemandeGroupController_findOneForLab","summary":"Récupérer un groupe de demandes spécifique avec ses demandes associées","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de demandes par laboratoire","Groupes de demandes par laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demande-groups/{id}/lab-demande-report/{laboratoryId}":{"get":{"operationId":"LabDemandeGroupController_getLabDemandeReport","summary":"Récupérer les rapports  d'une demande de laboratoire spécifique","description":"Fournit les rapports associés à une demande de laboratoire spécifique, incluant les détails des analyses et des échantillons.","parameters":[{"name":"id","required":true,"in":"path","description":"ID du groupe de demandes","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"path","description":"ID du laboratoire","schema":{"type":"string"}}],"responses":{"200":{"description":"Rapports de la demande de laboratoire récupérés avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de demandes par laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demande-groups/stats/{laboratoryId}":{"get":{"operationId":"LabDemandeGroupController_getLabStats","summary":"Récupérer les statistiques complètes pour un laboratoire","description":"Fournit des statistiques détaillées incluant les échantillons, analyses, natures d'échantillons, paramètres les plus demandés et tendances temporelles.","parameters":[{"name":"laboratoryId","required":true,"in":"path","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"startDate","required":false,"in":"query","description":"Date de début au format ISO (YYYY-MM-DD)","schema":{"example":"2024-01-01","type":"string"}},{"name":"endDate","required":false,"in":"query","description":"Date de fin au format ISO (YYYY-MM-DD)","schema":{"example":"2024-12-31","type":"string"}},{"name":"status","required":false,"in":"query","description":"Statuts à filtrer (séparés par des virgules)","schema":{"example":"TRAITEE,EN_COURS","type":"string"}},{"name":"year","required":false,"in":"query","description":"Année à analyser (par défaut: année courante)","schema":{"example":"2024","type":"string"}},{"name":"month","required":false,"in":"query","description":"Mois à analyser (1-12)","schema":{"example":"6","type":"string"}},{"name":"groupByPeriod","required":false,"in":"query","description":"Regroupement temporel pour les tendances","schema":{"enum":["day","week","month","year"],"type":"string"}},{"name":"topParametersLimit","required":false,"in":"query","description":"Nombre maximum de paramètres à retourner","schema":{"example":10,"type":"number"}},{"name":"naturesLimit","required":false,"in":"query","description":"Nombre maximum de natures d'échantillons à retourner","schema":{"example":10,"type":"number"}}],"responses":{"200":{"description":"Statistiques du laboratoire récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de demandes par laboratoire"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demande-groups/lab-rapport-stats-excel/{laboratoryId}":{"get":{"operationId":"LabDemandeGroupController_getLabRapportStatsExcel","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"sent","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de demandes par laboratoire","Lab Statistics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-demande-groups/lab-rapport-stats-json/{laboratoryId}":{"get":{"operationId":"LabDemandeGroupController_getLabRapportStatsJson","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"sent","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Groupes de demandes par laboratoire","Lab Statistics"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/technician-echantillon-item/laboratory/{laboratoryId}":{"get":{"operationId":"TechnicianEchantillonItemController_findAll","summary":"Récupérer les échantillons assignés à un technicien","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ÉCHANTILLONS TECHNICIENS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/technician-echantillon-item/statistics/{laboratoryId}":{"get":{"operationId":"TechnicianEchantillonItemController_getStatistics","summary":"Récupérer les statistiques du technicien","parameters":[{"name":"laboratoryId","required":true,"in":"path","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"naturesLimit","required":false,"in":"query","description":"Limiter le nombre de natures d'échantillons les plus fréquentes","schema":{}},{"name":"topParametersLimit","required":false,"in":"query","description":"Limiter le nombre de paramètres les plus fréquents","schema":{}},{"name":"groupByPeriod","required":false,"in":"query","description":"Regrouper les statistiques par période","schema":{"enum":["day","week","month","year"],"type":"string"}},{"name":"month","required":false,"in":"query","description":"Mois pour les statistiques mensuelles (1-12)","schema":{}},{"name":"year","required":false,"in":"query","description":"Année pour les statistiques annuelles","schema":{}},{"name":"status","required":false,"in":"query","description":"Statut des analyses (peut être un tableau)","schema":{}},{"name":"endDate","required":false,"in":"query","description":"Date de fin au format YYYY-MM-DD","schema":{}},{"name":"startDate","required":false,"in":"query","description":"Date de début au format YYYY-MM-DD","schema":{}}],"responses":{"200":{"description":"Statistiques récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ÉCHANTILLONS TECHNICIENS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/technician-echantillon-item/statistics/{laboratoryId}/export":{"get":{"operationId":"TechnicianEchantillonItemController_exportPersonalStats","summary":"Exporter les statistiques personnelles du technicien en Excel","parameters":[{"name":"laboratoryId","required":true,"in":"path","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","description":"Statut des analyses (peut être un tableau)","schema":{}},{"name":"endDate","required":false,"in":"query","description":"Date de fin au format YYYY-MM-DD","schema":{}},{"name":"startDate","required":false,"in":"query","description":"Date de début au format YYYY-MM-DD","schema":{}}],"responses":{"200":{"description":"Fichier Excel des statistiques personnelles généré avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ÉCHANTILLONS TECHNICIENS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/technician-echantillon-item/classement/json":{"get":{"operationId":"TechnicianEchantillonItemController_getClassementJson","summary":"Obtenir le classement des techniciens au format JSON","description":"Génère un classement détaillé des techniciens avec métriques de performance","parameters":[{"name":"laboratoryId","required":false,"in":"query","description":"ID du laboratoire (optionnel)","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","description":"Date de début (YYYY-MM-DD)","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","description":"Date de fin (YYYY-MM-DD)","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Nombre maximum de techniciens à retourner (par défaut: tous)","schema":{"type":"number"}}],"responses":{"200":{"description":"Classement généré au format JSON"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ÉCHANTILLONS TECHNICIENS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/technician-echantillon-item/classement/excel":{"get":{"operationId":"TechnicianEchantillonItemController_getTechnicienClassementExcel","summary":"Exporter le classement des techniciens en Excel","description":"Génère et télécharge un fichier Excel avec le classement des techniciens et leurs métriques","parameters":[{"name":"limit","required":false,"in":"query","description":"Nombre maximum de techniciens à retourner (par défaut: tous)","schema":{"type":"number"}},{"name":"sortDirection","required":false,"in":"query","description":"Direction du tri","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"sortBy","required":false,"in":"query","description":"Critère de tri","schema":{"enum":["totalAnalyses","completionRate","avgProcessingTime","responseTime","requestFrequency","efficiency"],"type":"string"}},{"name":"laboratoryId","required":false,"in":"query","description":"ID du laboratoire (optionnel pour stats globales)","schema":{}},{"name":"endDate","required":true,"in":"query","description":"Date de fin (YYYY-MM-DD)","schema":{}},{"name":"startDate","required":true,"in":"query","description":"Date de début (YYYY-MM-DD)","schema":{}}],"responses":{"200":{"description":"Fichier Excel généré avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ÉCHANTILLONS TECHNICIENS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/technician-echantillon-item/initialize/{laboratoryId}":{"post":{"operationId":"TechnicianEchantillonItemController_initialize","summary":"Initialiser les statistiques des techniciens pour un laboratoire","description":"Synchronise les données LabTechnicienEchantillonItem avec les AnalyseExecution","parameters":[{"name":"laboratoryId","required":true,"in":"path","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"cleanupOldRecords","required":false,"in":"query","description":"Nettoyer les anciens enregistrements (true/false)","schema":{"type":"string"}}],"responses":{"200":{"description":"Statistiques initialisées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ÉCHANTILLONS TECHNICIENS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/technician-echantillon-item/initialize/{laboratoryId}/demande-group/{demandeGroupId}":{"post":{"operationId":"TechnicianEchantillonItemController_initializeByDemandeGroupId","summary":"Initialiser les statistiques pour un groupe de demandes spécifique","description":"Synchronise les données pour un groupe de demandes particulier","parameters":[{"name":"laboratoryId","required":true,"in":"path","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"demandeGroupId","required":true,"in":"path","description":"ID du groupe de demandes","schema":{"type":"string"}}],"responses":{"200":{"description":"Statistiques du groupe initialisées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ÉCHANTILLONS TECHNICIENS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/technician-echantillon-item/initialize-all/{laboratoryId}":{"post":{"operationId":"TechnicianEchantillonItemController_initializeAll","summary":"Initialiser toutes les statistiques (échantillons + paramètres)","description":"Synchronise à la fois les LabTechnicienEchantillonItem et LabTechnicienParameter","parameters":[{"name":"laboratoryId","required":true,"in":"path","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"cleanupOldRecords","required":false,"in":"query","description":"Nettoyer les anciens enregistrements (true/false)","schema":{"type":"string"}}],"responses":{"200":{"description":"Toutes les statistiques initialisées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["ÉCHANTILLONS TECHNICIENS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/technician-parameters/laboratory/{laboratoryId}":{"get":{"operationId":"TechnicianParametersController_findAll","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PARAMÈTRES TECHNICIENS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/analyses-exectution":{"post":{"operationId":"AnalysesExectutionController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAnalysesExectutionDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"AnalysesExectutionController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/api/v1/analyses-exectution/{id}":{"get":{"operationId":"AnalysesExectutionController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"AnalysesExectutionController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAnalysesExectutionDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"AnalysesExectutionController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/v1/laboratory-stats/monthly":{"get":{"operationId":"LaboratoryStatsController_getMonthlyStats","summary":"Récupérer les statistiques mensuelles d'un laboratoire","parameters":[{"name":"laboratoryId","required":true,"in":"query","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY_STATS","LABORATORY_STATS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory-stats/multiple":{"get":{"operationId":"LaboratoryStatsController_getMultipleStats","summary":"Récupérer les statistiques pour plusieurs laboratoires","parameters":[{"name":"laboratoryIds","required":true,"in":"query","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY_STATS","LABORATORY_STATS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory-stats/aggregate":{"get":{"operationId":"LaboratoryStatsController_getAggregateStats","summary":"Récupérer un résumé agrégé de tous les laboratoires","parameters":[{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY_STATS","LABORATORY_STATS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory-stats/export":{"get":{"operationId":"LaboratoryStatsController_exportToExcel","summary":"Exporter les statistiques en Excel","parameters":[{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY_STATS","LABORATORY_STATS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-prelevement/create/{echantillonId}":{"post":{"operationId":"RapportPrelevementController_create","summary":"Créer un rapport de prélèvement","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRapportPrelevementDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT DE PRÉLÈVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-prelevement/this-provider/get-all":{"get":{"operationId":"RapportPrelevementController_findAll","summary":"Liste des rapports de prélèvement","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT DE PRÉLÈVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-prelevement/one/{id}":{"get":{"operationId":"RapportPrelevementController_findOne","summary":"Recuperer un rapport de prélèvement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT DE PRÉLÈVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-prelevement/getByEchantillonId/{echantillonId}":{"get":{"operationId":"RapportPrelevementController_getByEchantillonId","summary":"Recuperer un rapport de prélèvement par echantillonId","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT DE PRÉLÈVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-prelevement/findByProforma/{proformaId}":{"get":{"operationId":"RapportPrelevementController_findByProforma","summary":"Recuperer un rapport de prélèvement par proforma","parameters":[{"name":"proformaId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT DE PRÉLÈVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-prelevement/update/{id}":{"put":{"operationId":"RapportPrelevementController_update","summary":"Mettre à jour un rapport de prélèvement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRapportPrelevementDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT DE PRÉLÈVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-prelevement/delete/{id}":{"delete":{"operationId":"RapportPrelevementController_remove","summary":"Supprimer un rapport de prélèvement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT DE PRÉLÈVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/rapport-prelevement/delete-multiple":{"put":{"operationId":"RapportPrelevementController_removeMultiple","summary":"Supprimer plusieurs rapports de prélèvement","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RAPPORT DE PRÉLÈVEMENT"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/apps-configuration":{"post":{"operationId":"AppsConfigurationController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAppsConfigurationDto"}}}},"responses":{"201":{"description":""}},"tags":["LES APPLICATIONS DISPONIBLES SUR LA PLATEFORME"]},"get":{"operationId":"AppsConfigurationController_findAll","parameters":[],"responses":{"200":{"description":""}},"tags":["LES APPLICATIONS DISPONIBLES SUR LA PLATEFORME"]}},"/api/v1/apps-configuration/{id}":{"get":{"operationId":"AppsConfigurationController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["LES APPLICATIONS DISPONIBLES SUR LA PLATEFORME"]},"patch":{"operationId":"AppsConfigurationController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppsConfigurationDto"}}}},"responses":{"200":{"description":""}},"tags":["LES APPLICATIONS DISPONIBLES SUR LA PLATEFORME"]},"delete":{"operationId":"AppsConfigurationController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["LES APPLICATIONS DISPONIBLES SUR LA PLATEFORME"]}},"/api/v1/provider-application":{"post":{"operationId":"ProviderApplicationController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProviderApplicationDto"}}}},"responses":{"201":{"description":""}},"tags":["LES APPLICATIONS D UN FOURNISSEUR"]},"get":{"operationId":"ProviderApplicationController_findAll","parameters":[],"responses":{"200":{"description":""}},"tags":["LES APPLICATIONS D UN FOURNISSEUR"]}},"/api/v1/provider-application/{id}":{"get":{"operationId":"ProviderApplicationController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["LES APPLICATIONS D UN FOURNISSEUR"]},"patch":{"operationId":"ProviderApplicationController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProviderApplicationDto"}}}},"responses":{"200":{"description":""}},"tags":["LES APPLICATIONS D UN FOURNISSEUR"]},"delete":{"operationId":"ProviderApplicationController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["LES APPLICATIONS D UN FOURNISSEUR"]}},"/api/v1/plan/create":{"post":{"operationId":"PlanController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePlanDto"}}}},"responses":{"201":{"description":""}},"tags":["Plan de souscription"]}},"/api/v1/plan/all":{"get":{"operationId":"PlanController_findAll","parameters":[],"responses":{"200":{"description":""}},"tags":["Plan de souscription"]}},"/api/v1/plan/{id}":{"get":{"operationId":"PlanController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Plan de souscription"]}},"/api/v1/plan/update/{id}":{"put":{"operationId":"PlanController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePlanDto"}}}},"responses":{"200":{"description":""}},"tags":["Plan de souscription"]}},"/api/v1/plan/delete/{id}":{"delete":{"operationId":"PlanController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Plan de souscription"]}},"/api/v1/planification/createMany":{"post":{"operationId":"PlanificationController_createMany","summary":"Planifier plusieurs analyses","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreatePlanificationDto"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PLANIFICATION D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/planification/start-all-planified/{bordereauId}/{laboId}":{"put":{"operationId":"PlanificationController_startAllPlanifiedByBordereau","summary":"Mettre en cours toutes les analyses planifiées","parameters":[{"name":"bordereauId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PLANIFICATION D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/planification/start-all-planified/{labId}":{"put":{"operationId":"PlanificationController_startAllPlanified","summary":"Mettre en cours toutes les analyses planifiées","parameters":[{"name":"labId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PLANIFICATION D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/planification/remove/{id}":{"delete":{"operationId":"PlanificationController_remove","summary":"Supprimer une planification","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PLANIFICATION D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/planification/removeMany":{"put":{"operationId":"PlanificationController_removeMany","summary":"Supprimer plusieurs planifications","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PLANIFICATION D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/planification/delete-by-demande/{demandeId}/{laboratoryId}":{"delete":{"operationId":"PlanificationController_deleteByDemandeAndLab","summary":"Supprimer une planification par demande","parameters":[{"name":"demandeId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PLANIFICATION D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/planification/delete-by-echantillon-laboratoire/{echantillonId}/{laboratoryId}":{"delete":{"operationId":"PlanificationController_deleteByEchantillonAndLaboratory","summary":"Supprimer une planification par echantillon et laboratoire","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PLANIFICATION D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/planification/delete-by-echantillon-item/{echantillonItemId}/{laboratoryId}":{"delete":{"operationId":"PlanificationController_deleteByEchantillonItemAndLaboratory","summary":"Supprimer une planification echantillonItem and laboratoryId","parameters":[{"name":"echantillonItemId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["PLANIFICATION D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/appliquate-critere/{laboratoryId}":{"post":{"operationId":"ResultatAnalyseController_applicateCritere","summary":"Appliquer le seuil de conformité","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppliquateCritereDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/edit-seuil-value":{"put":{"operationId":"ResultatAnalyseController_editSeuilValue","summary":"Modifier la valeur du seuil","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditSeuilValueDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/remove-criteria/{laboratoryId}":{"post":{"operationId":"ResultatAnalyseController_removeCriteria","summary":"Supprimer un critère d'un résultat d'analyse","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveCriteriaDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/validate-without-critere":{"post":{"operationId":"ResultatAnalyseController_validateWithoutCritere","summary":"Valider un échantillon sans critère","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationWithoutCriteriaDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/create-many":{"post":{"operationId":"ResultatAnalyseController_createMany","summary":"Ajouter plusieurs résultats d'analyse","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreateResultatAnalyseDto"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/delete/{id}":{"delete":{"operationId":"ResultatAnalyseController_delete","summary":"Supprimer un résultat d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/validate/{id}":{"put":{"operationId":"ResultatAnalyseController_validateResult","summary":"Valider un résultat d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"conformite","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/reject/{id}":{"put":{"operationId":"ResultatAnalyseController_rejectResult","summary":"Rejeter un résultat d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/invalidate/{id}":{"put":{"operationId":"ResultatAnalyseController_invalidateResult","summary":"Invalider un résultat d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/reject-off-demande/{demandeId}/{laboratory}":{"put":{"operationId":"ResultatAnalyseController_rejectEchanResultOffDemandeAnalyseForLabo","summary":"Rejeter les résultats d'analyse d'un échantillon hors demande d'analyse","parameters":[{"name":"demandeId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratory","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/toggle-hors-spec/{id}":{"put":{"operationId":"ResultatAnalyseController_tooggleHorsSpec","summary":"Basculer un résultat d'analyse hors spécification","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/toggle-analyzed-in-place/{id}":{"put":{"operationId":"ResultatAnalyseController_toggleAnalyzedInPlace","summary":"Analyser sur site oui/non","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/toggle-hs-by-demande-and-lab/{demandeId}/{laboratory}":{"put":{"operationId":"ResultatAnalyseController_toggleHorsSpecByDemandeAndLab","summary":"Basculer un résultat d'analyse hors site par demande et laboratoire","parameters":[{"name":"demandeId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratory","required":true,"in":"path","schema":{"type":"string"}},{"name":"action","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/toggle-hs-item-and-lab/{itemId}/{laboratory}":{"put":{"operationId":"ResultatAnalyseController_toggleHorsSpecByItemAndLab","summary":"Basculer un résultat d'analyse hors site par item et laboratoire","parameters":[{"name":"itemId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratory","required":true,"in":"path","schema":{"type":"string"}},{"name":"action","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/toggle-declassified/{id}":{"put":{"operationId":"ResultatAnalyseController_tooggleDeclassified","summary":"Basculer un résultat d'analyse déclassé","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/toggle-declassified-by-demande-and-lab/{demandeId}/{laboratory}":{"put":{"operationId":"ResultatAnalyseController_toggleDeclassifiedByDemandeAndLab","summary":"Basculer un résultat d'analyse déclassé par demande et laboratoire","parameters":[{"name":"demandeId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratory","required":true,"in":"path","schema":{"type":"string"}},{"name":"action","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/toggle-declassified-by-item-and-lab/{itemId}/{laboratory}":{"put":{"operationId":"ResultatAnalyseController_toggleDeclassifiedByItemAndLab","summary":"Basculer un résultat d'analyse déclassé par item et laboratoire","parameters":[{"name":"itemId","required":true,"in":"path","schema":{"type":"string"}},{"name":"laboratory","required":true,"in":"path","schema":{"type":"string"}},{"name":"action","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/delete-many":{"put":{"operationId":"ResultatAnalyseController_deleteMany","summary":"Supprimer plusieurs résultats d'analyse","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/resultat-analyse/update-result/{id}":{"put":{"operationId":"ResultatAnalyseController_updateResult","summary":"Mettre à jour un résultat d'analyse","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateResultatAnalyseDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["RESULTAT D'ANALYSE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory/criteria/create":{"post":{"operationId":"CriteriaController_create","summary":"Creer un critère d interpretataion","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCriterionDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["CRITERE D INTERPRETATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory/criteria/load":{"post":{"operationId":"CriteriaController_load","summary":"Importer","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["CRITERE D INTERPRETATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory/criteria/by-laboratory/{labId}":{"get":{"operationId":"CriteriaController_findAll","summary":"Trouver la liste des criteres par laboratoire","parameters":[{"name":"labId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["CRITERE D INTERPRETATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory/criteria/one/{id}":{"get":{"operationId":"CriteriaController_findOne","summary":"Trouver un critere","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["CRITERE D INTERPRETATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory/criteria/this-provider":{"get":{"operationId":"CriteriaController_All","summary":"Trouver un critere","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["CRITERE D INTERPRETATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory/criteria/update/{id}":{"put":{"operationId":"CriteriaController_update","summary":"Modifier un critere","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCriterionDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["CRITERE D INTERPRETATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory/criteria/delete/{id}":{"delete":{"operationId":"CriteriaController_remove","summary":"Supprimer un critere","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["CRITERE D INTERPRETATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory/criteria/assign/{criteriaId}":{"post":{"operationId":"CriteriaController_assignToParams","summary":"Associer  un critere a des parametres","parameters":[{"name":"criteriaId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["CRITERE D INTERPRETATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"CriteriaController_updateAssignToParams","summary":"Modifier l association des parametres a un critere","parameters":[{"name":"criteriaId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["CRITERE D INTERPRETATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/laboratory/criteria/remove-parameters/{criterionId}":{"put":{"operationId":"CriteriaController_removeParameters","summary":"Supprimer des parametres d un critere","parameters":[{"name":"criterionId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["CRITERE D INTERPRETATION"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure/create":{"post":{"operationId":"InSituMeasureController_create","summary":"Créer une mesure in situ","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInSituMeasureDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure/this-provider":{"get":{"operationId":"InSituMeasureController_findAll","summary":"Liste des mesures in situ de ce prestataire","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure/one/{id}":{"get":{"operationId":"InSituMeasureController_findOne","summary":"Recuperer une mesure","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure/by-echantillon/{id}":{"get":{"operationId":"InSituMeasureController_findByEchantillonId","summary":"Recuperer une mesure","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure/by-laboratory/{id}":{"get":{"operationId":"InSituMeasureController_findByLaboratoryId","summary":"Recuperer une mesure","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure/update/{id}":{"put":{"operationId":"InSituMeasureController_update","summary":"Modifier une mesure in situ","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInSituMeasureDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure/{id}":{"delete":{"operationId":"InSituMeasureController_remove","summary":"Supprimer une mesure in situ","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure/bulk-delete":{"put":{"operationId":"InSituMeasureController_bulkDelete","summary":"Supprimer plusieurs mesures in situ","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure-item/create/{insituId}":{"post":{"operationId":"InSituMeasureItemController_create","summary":"Créer une mesure in situ item","parameters":[{"name":"insituId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInSituMeasureItemDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU ITEM"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure-item/create-many/{insituId}":{"post":{"operationId":"InSituMeasureItemController_createMany","summary":"Créer plusieurs mesures in situ item","parameters":[{"name":"insituId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInSituMeasureItemDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU ITEM"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure-item/this-provider":{"get":{"operationId":"InSituMeasureItemController_findAll","summary":"Liste des mesures in situ item de ce prestataire","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU ITEM"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure-item/one/{id}":{"get":{"operationId":"InSituMeasureItemController_findOne","summary":"Recuperer une mesure in situ item","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU ITEM"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure-item/by-echantillon/{id}":{"get":{"operationId":"InSituMeasureItemController_findByEchantillonId","summary":"Recuperer une mesure in situ item","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU ITEM"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure-item/by-laboratory/{id}":{"get":{"operationId":"InSituMeasureItemController_findByLaboratoryId","summary":"Recuperer une mesure in situ item","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU ITEM"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure-item/by-insitu/{id}":{"get":{"operationId":"InSituMeasureItemController_findByInSituId","summary":"Recuperer une mesure in situ item","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU ITEM"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure-item/update/{id}":{"put":{"operationId":"InSituMeasureItemController_update","summary":"Modifier une mesure in situ item","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInSituMeasureItemDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU ITEM"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure-item/delete/{id}":{"delete":{"operationId":"InSituMeasureItemController_remove","summary":"Supprimer une mesure in situ item","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU ITEM"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/in-situ-measure-item/delete-many":{"put":{"operationId":"InSituMeasureItemController_removeByInSitu","summary":"Supprimer une mesure in situ item","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["MESURE IN SITU ITEM"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/apps-stats/all-stats":{"get":{"operationId":"StatsSectionController_findAll","summary":"Recuperer les statistiques","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["STATISTIQUES"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/service/user-lab/create":{"post":{"operationId":"UserLabsController_create","summary":"Ajouter un utilisateur de laboratoire","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserLabDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Administrateur de fournisseur de service"]}},"/api/v1/service/user-lab/create/bulk":{"post":{"operationId":"UserLabsController_createBulk","summary":"Ajouter plusieurs utilisateurs de laboratoire","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreateUserLabDto"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service/user-lab/by-lab/{labId}":{"get":{"operationId":"UserLabsController_findoneByLab","summary":"Trouver tous les utilisateurs de laboratoire","parameters":[{"name":"labId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service/user-lab/one/{id}":{"get":{"operationId":"UserLabsController_findOne","summary":"Trouver un utilisateur de laboratoire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service/user-lab/by-user/{userId}":{"get":{"operationId":"UserLabsController_findByUser","summary":"Trouver les utilisateurs de laboratoire par utilisateur","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service/user-lab/by-role/{role}":{"get":{"operationId":"UserLabsController_filterByRole","summary":"Trouver les utilisateurs de laboratoire par rôle","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service/user-lab/this":{"get":{"operationId":"UserLabsController_getProviderUsers","summary":"Trouver les utilisateurs de laboratoire du fournisseur connecté","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Fournisseur de service"]}},"/api/v1/service/user-lab/remove-completely/{id}":{"delete":{"operationId":"UserLabsController_removeCompletely","summary":"Supprimer un utilisateur de laboratoire définitivement","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Administrateur de fournisseur de service"]}},"/api/v1/service/user-lab/remove-completely-bulk":{"put":{"operationId":"UserLabsController_removeCompletelyBulk","summary":"Supprimer plusieurs utilisateurs de laboratoire définitivement","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulKDeleteBody"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"security":[{"bearer":[]},{"cookieAuth":[]}],"tags":["Administrateur de fournisseur de service"]}},"/api/v1/lab-package/create":{"post":{"operationId":"LabPackageController_create","summary":"Créer un package de laboratoire","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLabPackageDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY PACKAGE","LABORATORY PACKAGE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-package/by-lab/{id}":{"get":{"operationId":"LabPackageController_findAll","summary":"Trouver tous les packages de laboratoire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY PACKAGE","LABORATORY PACKAGE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-package/this-provider":{"get":{"operationId":"LabPackageController_findAllByLab","summary":"Trouver tous les packages","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY PACKAGE","LABORATORY PACKAGE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-package/one/{id}":{"get":{"operationId":"LabPackageController_findOne","summary":"Trouver un package de laboratoire par identifiant","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY PACKAGE","LABORATORY PACKAGE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-package/update/{id}":{"put":{"operationId":"LabPackageController_update","summary":"Mettre à jour un package de laboratoire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLabPackageDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY PACKAGE","LABORATORY PACKAGE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-package/delete/{id}":{"delete":{"operationId":"LabPackageController_remove","summary":"Supprimer un package de laboratoire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY PACKAGE","LABORATORY PACKAGE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-package/set-molecular/{id}":{"patch":{"operationId":"LabPackageController_setMolecular","summary":"Marquer/démarquer un package comme moléculaire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetMolecularDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY PACKAGE","LABORATORY PACKAGE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-package/assign-parameter/{labPackageId}":{"post":{"operationId":"LabPackageController_assignParameter","summary":"Assigner un paramètre à un package de laboratoire","parameters":[{"name":"labPackageId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLabPackageParameterDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY PACKAGE","LABORATORY PACKAGE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/lab-package/remove-parameter/{parameterId}/{labPackageId}":{"delete":{"operationId":"LabPackageController_removeParameter","summary":"Supprimer un paramètre d'un package de laboratoire","parameters":[{"name":"parameterId","required":true,"in":"path","schema":{"type":"string"}},{"name":"labPackageId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["LABORATORY PACKAGE","LABORATORY PACKAGE"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/devis/create":{"post":{"operationId":"DevisController_create","summary":"Créer un nouveau devis","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDeviDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEVIS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/devis/add-item/{id}":{"post":{"operationId":"DevisController_addItem","summary":"Ajouter un item au devis","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDeviItemDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEVIS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/devis/add-parameter/{itemId}":{"post":{"operationId":"DevisController_addParameter","summary":"Ajouter un paramètre au devis","parameters":[{"name":"itemId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEVIS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/devis/this-provider":{"get":{"operationId":"DevisController_findAll","summary":"Récupérer tous les devis","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEVIS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/devis/one/{id}":{"get":{"operationId":"DevisController_findOne","summary":"Récupérer un devis par son id","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEVIS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/devis/update/{id}":{"put":{"operationId":"DevisController_update","summary":"Mettre à jour un devis","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDeviDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEVIS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/devis/delete/{id}":{"delete":{"operationId":"DevisController_remove","summary":"Supprimer un devis","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEVIS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/devis/delete-item/{id}":{"delete":{"operationId":"DevisController_removeItem","summary":"Supprimer un item du devis","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEVIS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/devis/delete-parameter/{id}":{"delete":{"operationId":"DevisController_removeParameter","summary":"Supprimer un paramètre du devis","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DEVIS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/create":{"post":{"operationId":"ProformaDraftController_create","summary":"Créer un brouillon de proforma","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProformaDraftDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/{proformaDraftId}/add-item":{"post":{"operationId":"ProformaDraftController_addProformaDraftItem","summary":"Ajouter un item à un brouillon de proforma","parameters":[{"name":"proformaDraftId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProformaDraftItemDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/{proformaDraftId}/add-item-param/{proformaDraftItemId}":{"post":{"operationId":"ProformaDraftController_addParametersToProformaDraft","summary":"Ajouter des analyses à un item de brouillon de proforma","parameters":[{"name":"proformaDraftId","required":true,"in":"path","schema":{"type":"string"}},{"name":"proformaDraftItemId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProformaDraftItemAnalyseDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/this-customer":{"get":{"operationId":"ProformaDraftController_findByCustomerId","summary":"Récupérer tous les brouillons de proforma pour un client","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/this-provider":{"get":{"operationId":"ProformaDraftController_findAllByServiceProviderId","summary":"Récupérer tous les brouillons de proforma pour un prestataire","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/one/{id}":{"get":{"operationId":"ProformaDraftController_findOne","summary":"Récupérer un brouillon de proforma par son ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/update/{id}":{"put":{"operationId":"ProformaDraftController_update","summary":"Mettre à jour un brouillon de proforma","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProformaDraftDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/update-item/{proformaDraftItemId}":{"put":{"operationId":"ProformaDraftController_updateProformaDraftItem","summary":"Mettre à jour un item de brouillon de proforma","parameters":[{"name":"proformaDraftItemId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProformaDraftItemDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/delete/{id}":{"delete":{"operationId":"ProformaDraftController_remove","summary":"Supprimer un brouillon de proforma","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/delete-many":{"put":{"operationId":"ProformaDraftController_removeMany","summary":"Supprimer plusieurs brouillons de proforma","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/hard-delete/{id}":{"delete":{"operationId":"ProformaDraftController_hardDelete","summary":"Supprimer complètement un brouillon de proforma","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/hard-delete-many":{"put":{"operationId":"ProformaDraftController_hardDeleteMany","summary":"Supprimer complètement plusieurs brouillons de proforma","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/delete-item/{proformaDraftId}/{proformaDraftItemId}":{"delete":{"operationId":"ProformaDraftController_removeProformaDraftItem","summary":"Supprimer un item de brouillon de proforma","parameters":[{"name":"proformaDraftItemId","required":true,"in":"path","schema":{"type":"string"}},{"name":"proformaDraftId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/proforma-draft/delete-item-param/{proformaDraftItemAnalyseId}":{"delete":{"operationId":"ProformaDraftController_removeProformaDraftItemAnalyse","summary":"Supprimer un paramètre d'un item de brouillon de proforma","parameters":[{"name":"proformaDraftItemAnalyseId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Proforma des clients","Proforma des clients"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/analytics/customer-scores":{"get":{"operationId":"AdvancedAnalyticsController_getCustomerScores","summary":"Récupérer les scores des clients","parameters":[{"name":"category","required":false,"in":"query","schema":{"enum":["EXCELLENT","GOOD","AVERAGE","POOR","CRITICAL"],"type":"string"}}],"responses":{"200":{"description":"Liste des scores clients"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Analyses avancées"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/analytics/customer-scores/top":{"get":{"operationId":"AdvancedAnalyticsController_getTopCustomers","summary":"Top clients par score","parameters":[{"name":"limit","required":false,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"Top clients"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Analyses avancées"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/analytics/customer-scores/at-risk":{"get":{"operationId":"AdvancedAnalyticsController_getAtRiskCustomers","summary":"Clients à risque de churn","parameters":[{"name":"threshold","required":false,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"Clients à risque"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Analyses avancées"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/analytics/customer-scores/update":{"get":{"operationId":"AdvancedAnalyticsController_updateCustomerScores","summary":"Mettre à jour les scores clients (manuel)","parameters":[],"responses":{"200":{"description":"Scores mis à jour"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Analyses avancées"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/analytics/quality/laboratory/{laboratoryId}":{"get":{"operationId":"AdvancedAnalyticsController_getLabQualityReport","summary":"Rapport qualité d'un laboratoire","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}},{"name":"year","required":false,"in":"query","schema":{"type":"number"}},{"name":"month","required":false,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"Rapport qualité du laboratoire"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Analyses avancées"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/analytics/quality/parameter/{parameterId}/trends":{"get":{"operationId":"AdvancedAnalyticsController_getParameterQualityTrends","summary":"Tendances qualité d'un paramètre","parameters":[{"name":"parameterId","required":true,"in":"path","schema":{"type":"string"}},{"name":"months","required":false,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"Tendances qualité du paramètre"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Analyses avancées"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/analytics/quality/alerts":{"get":{"operationId":"AdvancedAnalyticsController_getQualityAlerts","summary":"Alertes qualité","parameters":[],"responses":{"200":{"description":"Liste des alertes qualité"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Analyses avancées"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/analytics/quality/calculate":{"get":{"operationId":"AdvancedAnalyticsController_calculateQualityMetrics","summary":"Calculer les métriques qualité (manuel)","parameters":[],"responses":{"200":{"description":"Métriques qualité calculées"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Analyses avancées"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/analytics/dashboard":{"get":{"operationId":"AdvancedAnalyticsController_getAnalyticsDashboard","summary":"Dashboard analytics complet","parameters":[],"responses":{"200":{"description":"Dashboard complet"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Analyses avancées"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/nature-configs":{"get":{"operationId":"NatureConfigController_getNatureConfigs","summary":"Récupérer toutes les configurations de nature d'échantillon","parameters":[{"name":"includeInactive","required":false,"in":"query","description":"Inclure les configurations inactives","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Liste des configurations de nature d'échantillon"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Configurations des natures d'échantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"post":{"operationId":"NatureConfigController_createNatureConfig","summary":"Créer une nouvelle configuration de nature d'échantillon","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNatureConfigDto"}}}},"responses":{"201":{"description":"Configuration créée"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Configurations des natures d'échantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/nature-configs/key/{key}":{"get":{"operationId":"NatureConfigController_getNatureConfigByKey","summary":"Récupérer une configuration de nature d'échantillon par sa clé","parameters":[{"name":"key","required":true,"in":"path","description":"Clé de la configuration (ex: \"aliment\", \"eau\", \"sol\")","schema":{"type":"string"}}],"responses":{"200":{"description":"Configuration de nature d'échantillon"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Configurations des natures d'échantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/nature-configs/{id}":{"put":{"operationId":"NatureConfigController_updateNatureConfig","summary":"Mettre à jour une configuration de nature d'échantillon","parameters":[{"name":"id","required":true,"in":"path","description":"ID de la configuration à mettre à jour","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNatureConfigDto"}}}},"responses":{"200":{"description":"Configuration mise à jour"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Configurations des natures d'échantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"NatureConfigController_deleteNatureConfig","summary":"Supprimer une configuration de nature d'échantillon","parameters":[{"name":"id","required":true,"in":"path","description":"ID de la configuration à supprimer","schema":{"type":"string"}},{"name":"reason","required":false,"in":"query","description":"Raison de la suppression","schema":{"type":"string"}}],"responses":{"200":{"description":"Configuration supprimée"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Configurations des natures d'échantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/nature-configs/defaults":{"post":{"operationId":"NatureConfigController_createDefaultNatureConfigs","summary":"Créer les configurations de nature d'échantillon par défaut","parameters":[],"responses":{"201":{"description":"Configurations par défaut créées"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Configurations des natures d'échantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/nature-configs/reorder":{"put":{"operationId":"NatureConfigController_reorderNatureConfigs","summary":"Réorganiser l'ordre des configurations de nature d'échantillon","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReorderNatureConfigDto"}}}},"responses":{"200":{"description":"Configurations réorganisées"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Configurations des natures d'échantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/nature-configs/stats/usage":{"get":{"operationId":"NatureConfigController_getNatureConfigUsageStats","summary":"Statistiques d'utilisation des natures d'échantillon","parameters":[{"name":"days","required":false,"in":"query","description":"Période d'analyse en jours","schema":{"type":"number"}}],"responses":{"200":{"description":"Statistiques d'utilisation"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Configurations des natures d'échantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/nature-configs/map/{natureEchantillon}":{"get":{"operationId":"NatureConfigController_mapNatureToConfig","summary":"Mapper une nature d'échantillon à une configuration","parameters":[{"name":"natureEchantillon","required":true,"in":"path","description":"Nature d'échantillon à mapper","schema":{"type":"string"}}],"responses":{"200":{"description":"Configuration correspondante ou null"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Configurations des natures d'échantillon"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/predictions/models":{"get":{"operationId":"PredictionController_getModels","summary":"Récupérer tous les modèles de prédiction","parameters":[{"name":"status","required":false,"in":"query","schema":{"enum":["DRAFT","TRAINING","ACTIVE","DEPRECATED","ARCHIVED"],"type":"string"}},{"name":"type","required":false,"in":"query","schema":{"enum":["REVENUE","CUSTOMER_CHURN","SAMPLE_DEMAND","RESOURCE_NEEDS","MARKET_TRENDS","COST_PROJECTION","CUSTOM"],"type":"string"}}],"responses":{"200":{"description":"Liste des modèles de prédiction"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"post":{"operationId":"PredictionController_createModel","summary":"Créer un nouveau modèle de prédiction","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePredictionModelDto"}}}},"responses":{"201":{"description":"Modèle de prédiction créé"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/predictions/models/{id}":{"get":{"operationId":"PredictionController_getModel","summary":"Récupérer un modèle de prédiction spécifique","parameters":[{"name":"id","required":true,"in":"path","description":"ID du modèle","schema":{"type":"string"}},{"name":"includePerformance","required":false,"in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Modèle de prédiction"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"PredictionController_updateModel","summary":"Mettre à jour un modèle de prédiction","parameters":[{"name":"id","required":true,"in":"path","description":"ID du modèle","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePredictionModelDto"}}}},"responses":{"200":{"description":"Modèle de prédiction mis à jour"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"PredictionController_deleteModel","summary":"Supprimer un modèle de prédiction","parameters":[{"name":"id","required":true,"in":"path","description":"ID du modèle","schema":{"type":"string"}}],"responses":{"200":{"description":"Modèle de prédiction supprimé"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/predictions/models/{id}/train":{"post":{"operationId":"PredictionController_trainModel","summary":"Entraîner un modèle de prédiction","parameters":[{"name":"id","required":true,"in":"path","description":"ID du modèle","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainModelDto"}}}},"responses":{"200":{"description":"Modèle entraîné avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/predictions/generate":{"post":{"operationId":"PredictionController_createPrediction","summary":"Générer une nouvelle prédiction","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePredictionDto"}}}},"responses":{"201":{"description":"Prédiction générée"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/predictions/results":{"get":{"operationId":"PredictionController_getPredictions","summary":"Récupérer les résultats de prédiction","parameters":[{"name":"predictionType","required":false,"in":"query","description":"Type de prédiction","schema":{"enum":["REVENUE","CUSTOMER_CHURN","SAMPLE_DEMAND","RESOURCE_NEEDS","MARKET_TRENDS","COST_PROJECTION","CUSTOM"],"type":"string"}},{"name":"targetPeriod","required":false,"in":"query","description":"Période de prédiction","schema":{"enum":["DAILY","WEEKLY","MONTHLY","QUARTERLY","YEARLY"],"type":"string"}},{"name":"targetYear","required":false,"in":"query","description":"Année ciblée","schema":{"type":"number"}},{"name":"includeModelDetails","required":false,"in":"query","description":"Inclure les détails du modèle","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Nombre maximum de résultats","schema":{"type":"number"}}],"responses":{"200":{"description":"Résultats de prédiction"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/predictions/results/{id}/verify":{"put":{"operationId":"PredictionController_verifyPrediction","summary":"Vérifier une prédiction avec des données réelles","parameters":[{"name":"id","required":true,"in":"path","description":"ID de la prédiction","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyPredictionDto"}}}},"responses":{"200":{"description":"Prédiction VERIFIED"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/predictions/alerts":{"get":{"operationId":"PredictionController_getAlerts","summary":"Récupérer les alertes actives","parameters":[{"name":"type","required":false,"in":"query","schema":{"enum":["REVENUE_DROP","CLIENT_CHURN","QUALITY_ISSUE","CAPACITY_LIMIT","PAYMENT_DELAY","EFFICIENCY_DROP","SEASONAL_ANOMALY","PREDICTION_ALERT"],"type":"string"}},{"name":"severity","required":false,"in":"query","schema":{"enum":["LOW","MEDIUM","HIGH","CRITICAL"],"type":"string"}}],"responses":{"200":{"description":"Liste des alertes actives"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"post":{"operationId":"PredictionController_createAlert","summary":"Créer une nouvelle alerte","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePredictionAlertDto"}}}},"responses":{"201":{"description":"Alerte créée"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/predictions/alerts/{id}":{"put":{"operationId":"PredictionController_updateAlert","summary":"Mettre à jour une alerte","parameters":[{"name":"id","required":true,"in":"path","description":"ID de l'alerte","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePredictionAlertDto"}}}},"responses":{"200":{"description":"Alerte mise à jour"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"PredictionController_deleteAlert","summary":"Supprimer une alerte","parameters":[{"name":"id","required":true,"in":"path","description":"ID de l'alerte","schema":{"type":"string"}}],"responses":{"200":{"description":"Alerte supprimée"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/predictions/alerts/{id}/acknowledge":{"post":{"operationId":"PredictionController_acknowledgeAlert","summary":"Acquitter une alerte","parameters":[{"name":"id","required":true,"in":"path","description":"ID de l'alerte","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcknowledgeAlertDto"}}}},"responses":{"200":{"description":"Alerte acquittée"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Système de prédiction"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/update-notifications/my-notifications":{"get":{"operationId":"UpdateNotificationController_getMyNotifications","summary":"Récupérer mes notifications non lues","parameters":[],"responses":{"200":{"description":"Notifications récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Update Notifications"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/update-notifications/has-critical":{"get":{"operationId":"UpdateNotificationController_hasCriticalNotifications","summary":"Vérifier s'il y a des notifications critiques","parameters":[],"responses":{"200":{"description":"Vérification effectuée"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Update Notifications"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/update-notifications/mark-read/{recipientId}":{"patch":{"operationId":"UpdateNotificationController_markAsRead","summary":"Marquer une notification comme lue","parameters":[{"name":"recipientId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Notification marquée comme lue"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Update Notifications"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/update-notifications/mark-all-read":{"patch":{"operationId":"UpdateNotificationController_markAllAsRead","summary":"Marquer toutes mes notifications comme lues","parameters":[],"responses":{"200":{"description":"Toutes les notifications marquées comme lues"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Update Notifications"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/update-notifications/create":{"post":{"operationId":"UpdateNotificationController_createNotification","summary":"Créer une notification de mise à jour (Admin seulement)","parameters":[],"responses":{"201":{"description":"Notification créée avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Update Notifications"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contracts":{"post":{"operationId":"ContractController_create","summary":"Créer un nouveau contrat","description":"Crée un nouveau contrat avec ses éléments associés","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContractDto"}}}},"responses":{"201":{"description":"Contrat créé avec succès","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Contract"}}}},"400":{"description":"Données de requête invalides"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"409":{"description":"Un contrat avec ce numéro existe déjà"}},"tags":["Contrats"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"ContractController_findAll","summary":"Récupérer tous les contrats","description":"Récupère la liste paginée des contrats avec filtres optionnels","parameters":[{"name":"search","required":false,"in":"query","description":"Recherche dans le titre, numéro et description","schema":{"type":"string"}},{"name":"companyId","required":false,"in":"query","description":"Filtrer par ID de compagnie","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","description":"Filtrer par statut","schema":{"enum":["ACTIVE","INACTIVE","TERMINATED","PENDING","DRAFT"],"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Nombre d'éléments par page (défaut: 10)","schema":{"type":"number"}},{"name":"page","required":false,"in":"query","description":"Numéro de page (défaut: 1)","schema":{"type":"number"}}],"responses":{"200":{"description":"Liste des contrats récupérée avec succès","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Contract"}}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Contrats"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contracts/deleted":{"get":{"operationId":"ContractController_findDeleted","summary":"Récupérer les contrats supprimés","description":"Récupère la liste paginée des contrats supprimés (soft delete)","parameters":[{"name":"limit","required":false,"in":"query","description":"Nombre d'éléments par page (défaut: 10)","schema":{"type":"number"}},{"name":"page","required":false,"in":"query","description":"Numéro de page (défaut: 1)","schema":{"type":"number"}}],"responses":{"200":{"description":"Liste des contrats supprimés récupérée avec succès","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Contract"}}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Contrats"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contracts/{id}":{"get":{"operationId":"ContractController_findOne","summary":"Récupérer un contrat par ID","description":"Récupère les détails complets d'un contrat spécifique","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique du contrat","schema":{"type":"string"}}],"responses":{"200":{"description":"Contrat trouvé avec succès","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Contract"}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Contrat non trouvé"}},"tags":["Contrats"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"ContractController_update","summary":"Mettre à jour un contrat","description":"Met à jour les informations d'un contrat existant","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique du contrat","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateContractDto"}}}},"responses":{"200":{"description":"Contrat mis à jour avec succès","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Contract"}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Contrat non trouvé"},"409":{"description":"Conflit avec les données existantes"}},"tags":["Contrats"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"ContractController_remove","summary":"Supprimer un contrat","description":"Supprime logiquement un contrat (soft delete)","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique du contrat","schema":{"type":"string"}}],"responses":{"204":{"description":"Contrat supprimé avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Contrat non trouvé"}},"tags":["Contrats"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contracts/companies/with-contracts":{"get":{"operationId":"ContractController_findCompaniesWithContracts","summary":"Récupérer les compagnies ayant des contrats actifs","description":"Récupère la liste des compagnies ayant au moins un contrat actif","parameters":[],"responses":{"200":{"description":"Liste des compagnies récupérée avec succès","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Contrats"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contracts/{id}/restore":{"put":{"operationId":"ContractController_restore","summary":"Restaurer un contrat supprimé","description":"Restaure un contrat précédemment supprimé (annule le soft delete)","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique du contrat","schema":{"type":"string"}}],"responses":{"200":{"description":"Contrat restauré avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Contrat supprimé non trouvé"}},"tags":["Contrats"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contracts/{id}/permanent":{"delete":{"operationId":"ContractController_removePermanent","summary":"Supprimer définitivement un contrat","description":"Supprime définitivement un contrat de la base de données","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique du contrat","schema":{"type":"string"}}],"responses":{"204":{"description":"Contrat supprimé définitivement avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Contrat non trouvé"}},"tags":["Contrats"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contract-items":{"post":{"operationId":"ContractItemController_create","summary":"Créer un nouvel élément de contrat","description":"Crée un nouvel élément de contrat avec ses analyses associées","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContractItemDto"}}}},"responses":{"201":{"description":"Élément de contrat créé avec succès","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractItem"}}}},"400":{"description":"Données de requête invalides"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Contrat non trouvé"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"ContractItemController_findAll","summary":"Récupérer tous les éléments de contrat","description":"Récupère la liste paginée des éléments de contrat avec filtres optionnels","parameters":[{"name":"search","required":false,"in":"query","description":"Recherche dans le nom et description","schema":{"type":"string"}},{"name":"isActive","required":false,"in":"query","description":"Filtrer par statut actif","schema":{"type":"boolean"}},{"name":"contractId","required":false,"in":"query","description":"Filtrer par ID de contrat","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Nombre d'éléments par page (défaut: 10)","schema":{"type":"number"}},{"name":"page","required":false,"in":"query","description":"Numéro de page (défaut: 1)","schema":{"type":"number"}}],"responses":{"200":{"description":"Liste des éléments de contrat récupérée avec succès","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContractItem"}}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contract-items/deleted":{"get":{"operationId":"ContractItemController_findDeleted","summary":"Récupérer les éléments de contrat supprimés","description":"Récupère la liste paginée des éléments de contrat supprimés (soft delete)","parameters":[{"name":"contractId","required":false,"in":"query","description":"Filtrer par ID de contrat","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Nombre d'éléments par page (défaut: 10)","schema":{"type":"number"}},{"name":"page","required":false,"in":"query","description":"Numéro de page (défaut: 1)","schema":{"type":"number"}}],"responses":{"200":{"description":"Liste des éléments de contrat supprimés récupérée avec succès","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContractItem"}}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contract-items/contract/{contractId}":{"get":{"operationId":"ContractItemController_findByContract","summary":"Récupérer les éléments d'un contrat spécifique","description":"Récupère tous les éléments associés à un contrat donné","parameters":[{"name":"contractId","required":true,"in":"path","description":"ID unique du contrat","schema":{"type":"string"}}],"responses":{"200":{"description":"Éléments du contrat récupérés avec succès","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContractItem"}}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Contrat non trouvé"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contract-items/company/{companyId}":{"get":{"operationId":"ContractItemController_findByCompany","summary":"Récupérer les éléments d'un contrat par ID de société","description":"Récupère tous les éléments associés à un contrat donné","parameters":[{"name":"companyId","required":true,"in":"path","description":"ID unique de la société","schema":{"type":"string"}}],"responses":{"200":{"description":"Éléments du contrat récupérés avec succès","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContractItem"}}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Société non trouvée"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contract-items/{id}":{"get":{"operationId":"ContractItemController_findOne","summary":"Récupérer un élément de contrat par ID","description":"Récupère les détails complets d'un élément de contrat spécifique","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique de l'élément de contrat","schema":{"type":"string"}}],"responses":{"200":{"description":"Élément de contrat trouvé avec succès","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractItem"}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Élément de contrat non trouvé"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"ContractItemController_update","summary":"Mettre à jour un élément de contrat","description":"Met à jour les informations d'un élément de contrat existant","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique de l'élément de contrat","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateContractItemDto"}}}},"responses":{"200":{"description":"Élément de contrat mis à jour avec succès","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractItem"}}}},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Élément de contrat non trouvé"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"ContractItemController_remove","summary":"Supprimer un élément de contrat","description":"Supprime logiquement un élément de contrat (soft delete)","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique de l'élément de contrat","schema":{"type":"string"}}],"responses":{"204":{"description":"Élément de contrat supprimé avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Élément de contrat non trouvé"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contract-items/{id}/restore":{"put":{"operationId":"ContractItemController_restore","summary":"Restaurer un élément de contrat supprimé","description":"Restaure un élément de contrat précédemment supprimé (annule le soft delete)","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique de l'élément de contrat","schema":{"type":"string"}}],"responses":{"200":{"description":"Élément de contrat restauré avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Élément de contrat supprimé non trouvé"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contract-items/{id}/delete-completely":{"delete":{"operationId":"ContractItemController_deleteCompletely","summary":"Supprimer définitivement un élément de contrat","description":"Supprime définitivement un élément de contrat de la base de données","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique de l'élément de contrat","schema":{"type":"string"}}],"responses":{"204":{"description":"Élément de contrat supprimé définitivement avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Élément de contrat non trouvé"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contract-items/{id}/analyses":{"post":{"operationId":"ContractItemController_addAnalysesToItem","summary":"Ajouter des analyses à un élément de contrat","description":"Ajoute une ou plusieurs analyses (par norme de paramètre) à un élément de contrat existant","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique de l'élément de contrat","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManageAnalysesDto"}}}},"responses":{"201":{"description":"Analyses ajoutées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Élément de contrat ou normes de paramètres non trouvés"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"ContractItemController_removeAnalysesFromItem","summary":"Supprimer des analyses d'un élément de contrat","description":"Supprime une ou plusieurs analyses (par norme de paramètre) d'un élément de contrat existant","parameters":[{"name":"id","required":true,"in":"path","description":"ID unique de l'élément de contrat","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManageAnalysesDto"}}}},"responses":{"204":{"description":"Analyses supprimées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Élément de contrat non trouvé"}},"tags":["Éléments de contrat"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations":{"post":{"operationId":"ReclamationController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReclamationDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"ReclamationController_findAll","parameters":[{"name":"type","required":true,"in":"query","description":"The type of the reclamation","schema":{"example":"DEMANDE_MODIFICATION","enum":["NON_CONFORMITE_RESULTAT","NON_CONFORMITE_DELAI","NON_CONFORMITE_RAPPORT","NON_CONFORMITE_PRELEVEMENT","NON_CONFORMITE_ECHANTILLON","NON_CONFORMITE_METHODE","NON_CONFORMITE_EQUIPEMENT","NON_CONFORMITE_TRAÇABILITE","DEMANDE_MODIFICATION","DEMANDE_REANALYSE","DEMANDE_ANNULATION","FACTURATION_INCORRECTE","DEVIS_INCORRECT","COMMUNICATION_INSUFFISANTE","DELAI_REPONSE_LONG","INFORMATION_MANQUANTE","INFORMATION_ERRONEE","PROBLEME_LIVRAISON","PERTE_ECHANTILLON","DETERIORATION_ECHANTILLON","CONDITIONNEMENT_INADEQUAT","ACCUEIL_CLIENT","COMPETENCE_PERSONNEL","CONSEIL_TECHNIQUE_INADEQUAT","NON_RESPECT_CONFIDENTIALITE","NON_CONFORMITE_NORME","PORTEE_ACCREDITATION","INCERTITUDE_MESURE","RECLAMATION_SOUS_TRAITANT","AUTRE"],"type":"string"}},{"name":"status","required":true,"in":"query","description":"The status of the reclamation","schema":{"example":"NOUVELLE","enum":["NOUVELLE","EN_COURS_EVALUATION","EN_COURS_INVESTIGATION","EN_ATTENTE_VALIDATION","ACTIONS_CORRECTIVES","RESOLUE","FERMEE","ANNULEE"],"type":"string"}},{"name":"priority","required":true,"in":"query","description":"The priority of the reclamation","schema":{"example":"BASSE","enum":["BASSE","NORMALE","HAUTE","CRITIQUE"],"type":"string"}},{"name":"assigneId","required":true,"in":"query","description":"The ID of the assignee","schema":{"example":"1","type":"string"}},{"name":"customerId","required":true,"in":"query","description":"The ID of the customer","schema":{"example":"1","type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number for pagination","schema":{"example":1,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page (max 100)","schema":{"example":10,"type":"number"}},{"name":"isEscalade","required":true,"in":"query","description":"The is escalade of the reclamation","schema":{"example":true,"type":"boolean"}},{"name":"isRecurrente","required":true,"in":"query","description":"The is recurrente of the reclamation","schema":{"example":true,"type":"boolean"}},{"name":"search","required":false,"in":"query","description":"Text search across title, description, and reference number","schema":{"example":"quality issue","type":"string"}},{"name":"rapportId","required":false,"in":"query","description":"Filter by linked report ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"echantillonId","required":false,"in":"query","description":"Filter by linked sample ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"prelevementId","required":false,"in":"query","description":"Filter by linked prelevement ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/mes-reclamations":{"get":{"operationId":"ReclamationController_findMyReclamations","parameters":[{"name":"type","required":true,"in":"query","description":"The type of the reclamation","schema":{"example":"DEMANDE_MODIFICATION","enum":["NON_CONFORMITE_RESULTAT","NON_CONFORMITE_DELAI","NON_CONFORMITE_RAPPORT","NON_CONFORMITE_PRELEVEMENT","NON_CONFORMITE_ECHANTILLON","NON_CONFORMITE_METHODE","NON_CONFORMITE_EQUIPEMENT","NON_CONFORMITE_TRAÇABILITE","DEMANDE_MODIFICATION","DEMANDE_REANALYSE","DEMANDE_ANNULATION","FACTURATION_INCORRECTE","DEVIS_INCORRECT","COMMUNICATION_INSUFFISANTE","DELAI_REPONSE_LONG","INFORMATION_MANQUANTE","INFORMATION_ERRONEE","PROBLEME_LIVRAISON","PERTE_ECHANTILLON","DETERIORATION_ECHANTILLON","CONDITIONNEMENT_INADEQUAT","ACCUEIL_CLIENT","COMPETENCE_PERSONNEL","CONSEIL_TECHNIQUE_INADEQUAT","NON_RESPECT_CONFIDENTIALITE","NON_CONFORMITE_NORME","PORTEE_ACCREDITATION","INCERTITUDE_MESURE","RECLAMATION_SOUS_TRAITANT","AUTRE"],"type":"string"}},{"name":"status","required":true,"in":"query","description":"The status of the reclamation","schema":{"example":"NOUVELLE","enum":["NOUVELLE","EN_COURS_EVALUATION","EN_COURS_INVESTIGATION","EN_ATTENTE_VALIDATION","ACTIONS_CORRECTIVES","RESOLUE","FERMEE","ANNULEE"],"type":"string"}},{"name":"priority","required":true,"in":"query","description":"The priority of the reclamation","schema":{"example":"BASSE","enum":["BASSE","NORMALE","HAUTE","CRITIQUE"],"type":"string"}},{"name":"assigneId","required":true,"in":"query","description":"The ID of the assignee","schema":{"example":"1","type":"string"}},{"name":"customerId","required":true,"in":"query","description":"The ID of the customer","schema":{"example":"1","type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number for pagination","schema":{"example":1,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page (max 100)","schema":{"example":10,"type":"number"}},{"name":"isEscalade","required":true,"in":"query","description":"The is escalade of the reclamation","schema":{"example":true,"type":"boolean"}},{"name":"isRecurrente","required":true,"in":"query","description":"The is recurrente of the reclamation","schema":{"example":true,"type":"boolean"}},{"name":"search","required":false,"in":"query","description":"Text search across title, description, and reference number","schema":{"example":"quality issue","type":"string"}},{"name":"rapportId","required":false,"in":"query","description":"Filter by linked report ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"echantillonId","required":false,"in":"query","description":"Filter by linked sample ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"prelevementId","required":false,"in":"query","description":"Filter by linked prelevement ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}":{"get":{"operationId":"ReclamationController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"ReclamationController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateReclamationDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"ReclamationController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/remove-assignation":{"delete":{"operationId":"ReclamationController_removeAssignation","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/assigner":{"put":{"operationId":"ReclamationController_assigner","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/evaluer":{"put":{"operationId":"ReclamationController_evaluer","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/escalader":{"put":{"operationId":"ReclamationController_escalader","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/resoudre":{"put":{"operationId":"ReclamationController_resoudre","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/satisfaction":{"post":{"operationId":"ReclamationController_enregistrerSatisfaction","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SatisfactionDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/ticket/{numeroTicket}":{"get":{"operationId":"ReclamationController_findByNumeroTicket","parameters":[{"name":"numeroTicket","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/customer/{customerId}":{"get":{"operationId":"ReclamationController_findByCustomer","parameters":[{"name":"customerId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/stats/overview":{"get":{"operationId":"ReclamationController_getStatistiques","parameters":[{"name":"dateDebut","required":true,"in":"query","schema":{"type":"string"}},{"name":"dateFin","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/actions-correctives":{"post":{"operationId":"ReclamationController_createActionCorrective","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateActionCorrectiveDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"ReclamationController_getActionsCorrectives","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/actions-correctives/{actionId}/detail":{"get":{"operationId":"ReclamationController_getActionCorrectiveById","parameters":[{"name":"actionId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/actions-correctives/{actionId}":{"put":{"operationId":"ReclamationController_updateActionCorrective","parameters":[{"name":"actionId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateActionCorrectiveDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/actions-correctives/{actionId}/demarrer":{"put":{"operationId":"ReclamationController_demarrerActionCorrective","parameters":[{"name":"actionId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/actions-correctives/{actionId}/terminer":{"put":{"operationId":"ReclamationController_terminerActionCorrective","parameters":[{"name":"actionId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/actions-correctives/{actionId}/evaluer-efficacite":{"post":{"operationId":"ReclamationController_evaluerEfficacite","parameters":[{"name":"actionId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationEfficaciteDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/actions-correctives/all":{"get":{"operationId":"ReclamationController_getAllActionsCorrectives","parameters":[{"name":"page","required":true,"in":"query","description":"The page of the action corrective","schema":{"example":1,"type":"number"}},{"name":"limit","required":true,"in":"query","description":"The limit of the action corrective (max 100)","schema":{"example":10,"type":"number"}},{"name":"reclamationId","required":true,"in":"query","description":"The ID of the reclamation","schema":{"example":"1","type":"string"}},{"name":"nonConformiteId","required":true,"in":"query","description":"The ID of the non-conformity","schema":{"example":"1","type":"string"}},{"name":"entityType","required":true,"in":"query","description":"Filter by entity type: reclamation, non-conformite, or both","schema":{"example":"reclamation","enum":["reclamation","non-conformite","both"],"type":"string"}},{"name":"status","required":true,"in":"query","description":"The status of the action corrective","schema":{"example":"PLANIFIEE","enum":["PLANIFIEE","EN_COURS","TERMINEE","VERIFIEE","EFFICACE"],"type":"string"}},{"name":"dateDebut","required":true,"in":"query","description":"The date of the start","schema":{"example":"2025-01-01","type":"string"}},{"name":"dateFin","required":true,"in":"query","description":"The date of the end","schema":{"example":"2025-01-01","type":"string"}},{"name":"priority","required":true,"in":"query","description":"The priority of the action corrective","schema":{"example":"BASSE","enum":["BASSE","NORMALE","HAUTE","CRITIQUE"],"type":"string"}},{"name":"responsableId","required":true,"in":"query","description":"The ID of the responsable","schema":{"example":"1","type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/actions-correctives/mes-actions":{"get":{"operationId":"ReclamationController_getMesActionsCorrectives","parameters":[{"name":"status","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/actions-correctives/stats/overview":{"get":{"operationId":"ReclamationController_getStatsActionsCorrectives","parameters":[{"name":"reclamationId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/check-similar":{"post":{"operationId":"ReclamationController_checkSimilarReclamations","parameters":[],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/link-parent":{"put":{"operationId":"ReclamationController_linkToParent","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/recurring-series":{"get":{"operationId":"ReclamationController_getRecurringSeries","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/validate":{"post":{"operationId":"ReclamationController_validateForClosure","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/reject-validation":{"post":{"operationId":"ReclamationController_rejectValidation","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/close":{"post":{"operationId":"ReclamationController_closeReclamation","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/export/pdf":{"get":{"operationId":"ReclamationController_exportToPdf","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/export/list":{"get":{"operationId":"ReclamationController_exportList","parameters":[{"name":"type","required":true,"in":"query","description":"The type of the reclamation","schema":{"example":"DEMANDE_MODIFICATION","enum":["NON_CONFORMITE_RESULTAT","NON_CONFORMITE_DELAI","NON_CONFORMITE_RAPPORT","NON_CONFORMITE_PRELEVEMENT","NON_CONFORMITE_ECHANTILLON","NON_CONFORMITE_METHODE","NON_CONFORMITE_EQUIPEMENT","NON_CONFORMITE_TRAÇABILITE","DEMANDE_MODIFICATION","DEMANDE_REANALYSE","DEMANDE_ANNULATION","FACTURATION_INCORRECTE","DEVIS_INCORRECT","COMMUNICATION_INSUFFISANTE","DELAI_REPONSE_LONG","INFORMATION_MANQUANTE","INFORMATION_ERRONEE","PROBLEME_LIVRAISON","PERTE_ECHANTILLON","DETERIORATION_ECHANTILLON","CONDITIONNEMENT_INADEQUAT","ACCUEIL_CLIENT","COMPETENCE_PERSONNEL","CONSEIL_TECHNIQUE_INADEQUAT","NON_RESPECT_CONFIDENTIALITE","NON_CONFORMITE_NORME","PORTEE_ACCREDITATION","INCERTITUDE_MESURE","RECLAMATION_SOUS_TRAITANT","AUTRE"],"type":"string"}},{"name":"status","required":true,"in":"query","description":"The status of the reclamation","schema":{"example":"NOUVELLE","enum":["NOUVELLE","EN_COURS_EVALUATION","EN_COURS_INVESTIGATION","EN_ATTENTE_VALIDATION","ACTIONS_CORRECTIVES","RESOLUE","FERMEE","ANNULEE"],"type":"string"}},{"name":"priority","required":true,"in":"query","description":"The priority of the reclamation","schema":{"example":"BASSE","enum":["BASSE","NORMALE","HAUTE","CRITIQUE"],"type":"string"}},{"name":"assigneId","required":true,"in":"query","description":"The ID of the assignee","schema":{"example":"1","type":"string"}},{"name":"customerId","required":true,"in":"query","description":"The ID of the customer","schema":{"example":"1","type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number for pagination","schema":{"example":1,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page (max 100)","schema":{"example":10,"type":"number"}},{"name":"isEscalade","required":true,"in":"query","description":"The is escalade of the reclamation","schema":{"example":true,"type":"boolean"}},{"name":"isRecurrente","required":true,"in":"query","description":"The is recurrente of the reclamation","schema":{"example":true,"type":"boolean"}},{"name":"search","required":false,"in":"query","description":"Text search across title, description, and reference number","schema":{"example":"quality issue","type":"string"}},{"name":"rapportId","required":false,"in":"query","description":"Filter by linked report ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"echantillonId","required":false,"in":"query","description":"Filter by linked sample ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"prelevementId","required":false,"in":"query","description":"Filter by linked prelevement ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"format","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/actions-correctives/export/list":{"get":{"operationId":"ReclamationController_exportActionCorrectiveList","parameters":[{"name":"format","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"priority","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/by-rapport/{rapportId}":{"get":{"operationId":"ReclamationController_findByRapport","parameters":[{"name":"rapportId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/by-echantillon/{echantillonId}":{"get":{"operationId":"ReclamationController_findByEchantillon","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/by-prelevement/{prelevementId}":{"get":{"operationId":"ReclamationController_findByPrelevement","parameters":[{"name":"prelevementId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/commentaires":{"post":{"operationId":"ReclamationController_addCommentaire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"ReclamationController_getCommentaires","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/commentaires/{commentaireId}":{"delete":{"operationId":"ReclamationController_deleteCommentaire","parameters":[{"name":"commentaireId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/comments":{"post":{"operationId":"ReclamationCommentController_createComment","summary":"Créer un commentaire sur une réclamation","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"Commentaire créé avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Réclamation non trouvée"}},"tags":["Réclamations - Commentaires"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"ReclamationCommentController_getComments","summary":"Récupérer tous les commentaires d'une réclamation","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Commentaires récupérés avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Commentaires"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/comments/public":{"get":{"operationId":"ReclamationCommentController_getPublicComments","summary":"Récupérer les commentaires publics d'une réclamation","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Commentaires publics récupérés avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Commentaires"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/comments/{id}":{"put":{"operationId":"ReclamationCommentController_updateComment","summary":"Mettre à jour un commentaire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Commentaire mis à jour avec succès"},"400":{"description":"Vous ne pouvez modifier que vos propres commentaires"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Commentaire non trouvé"}},"tags":["Réclamations - Commentaires"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"ReclamationCommentController_deleteComment","summary":"Supprimer un commentaire","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Commentaire supprimé avec succès"},"400":{"description":"Vous ne pouvez supprimer que vos propres commentaires"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Commentaire non trouvé"}},"tags":["Réclamations - Commentaires"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/{id}/files":{"post":{"operationId":"ReclamationFileController_uploadFile","summary":"Upload a file to a reclamation","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"description":{"type":"string","description":"Optional description of the file"}}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Fichiers"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"ReclamationFileController_getFiles","summary":"Get all files for a reclamation","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Fichiers"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/files/{id}/download":{"get":{"operationId":"ReclamationFileController_getDownloadUrl","summary":"Get download URL for a file","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Fichiers"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations/files/{id}":{"delete":{"operationId":"ReclamationFileController_deleteFile","summary":"Delete a file","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Fichiers"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-sla":{"post":{"operationId":"ReclamationSLAController_createOrUpdate","summary":"Créer ou mettre à jour une configuration SLA","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSLADto"}}}},"responses":{"201":{"description":"Configuration SLA créée ou mise à jour avec succès"},"400":{"description":"Données invalides"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"403":{"description":"Accès refusé - Gestionnaire qualité requis"}},"tags":["Réclamations - SLA"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"ReclamationSLAController_findAll","summary":"Récupérer toutes les configurations SLA","parameters":[],"responses":{"200":{"description":"Configurations SLA récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - SLA"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-sla/compliance":{"get":{"operationId":"ReclamationSLAController_getComplianceMetrics","summary":"Récupérer les métriques de conformité SLA","parameters":[{"name":"dateDebut","required":true,"in":"query","schema":{"type":"string"}},{"name":"dateFin","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Métriques de conformité récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - SLA"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-sla/at-risk":{"get":{"operationId":"ReclamationSLAController_getAtRiskReclamations","summary":"Récupérer les réclamations à risque","parameters":[],"responses":{"200":{"description":"Réclamations à risque récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - SLA"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-sla/overdue":{"get":{"operationId":"ReclamationSLAController_getOverdueReclamations","summary":"Récupérer les réclamations en retard","parameters":[],"responses":{"200":{"description":"Réclamations en retard récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - SLA"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-sla/check/{reclamationId}":{"get":{"operationId":"ReclamationSLAController_checkCompliance","summary":"Vérifier le statut de conformité d'une réclamation","parameters":[{"name":"reclamationId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Statut de conformité récupéré avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Réclamation non trouvée"}},"tags":["Réclamations - SLA"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-templates":{"post":{"operationId":"ReclamationTemplateController_create","summary":"Créer un nouveau template de réclamation","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTemplateDto"}}}},"responses":{"201":{"description":"Template créé avec succès"},"400":{"description":"Données invalides"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"403":{"description":"Accès refusé - Gestionnaire qualité requis"}},"tags":["Réclamations - Templates"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"ReclamationTemplateController_findAll","summary":"Récupérer tous les templates","parameters":[{"name":"includeInactive","required":false,"in":"query","description":"Inclure les templates inactifs","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Templates récupérés avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Templates"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-templates/type/{type}":{"get":{"operationId":"ReclamationTemplateController_findByType","summary":"Récupérer les templates par type","parameters":[{"name":"type","required":true,"in":"path","description":"Type de réclamation","schema":{"enum":["NON_CONFORMITE_RESULTAT","NON_CONFORMITE_DELAI","NON_CONFORMITE_RAPPORT","NON_CONFORMITE_PRELEVEMENT","NON_CONFORMITE_ECHANTILLON","NON_CONFORMITE_METHODE","NON_CONFORMITE_EQUIPEMENT","NON_CONFORMITE_TRAÇABILITE","DEMANDE_MODIFICATION","DEMANDE_REANALYSE","DEMANDE_ANNULATION","FACTURATION_INCORRECTE","DEVIS_INCORRECT","COMMUNICATION_INSUFFISANTE","DELAI_REPONSE_LONG","INFORMATION_MANQUANTE","INFORMATION_ERRONEE","PROBLEME_LIVRAISON","PERTE_ECHANTILLON","DETERIORATION_ECHANTILLON","CONDITIONNEMENT_INADEQUAT","ACCUEIL_CLIENT","COMPETENCE_PERSONNEL","CONSEIL_TECHNIQUE_INADEQUAT","NON_RESPECT_CONFIDENTIALITE","NON_CONFORMITE_NORME","PORTEE_ACCREDITATION","INCERTITUDE_MESURE","RECLAMATION_SOUS_TRAITANT","AUTRE"],"type":"string"}}],"responses":{"200":{"description":"Templates récupérés avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Templates"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-templates/{id}":{"get":{"operationId":"ReclamationTemplateController_findOne","summary":"Récupérer un template par ID","parameters":[{"name":"id","required":true,"in":"path","description":"ID du template","schema":{"type":"string"}}],"responses":{"200":{"description":"Template récupéré avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Template non trouvé"}},"tags":["Réclamations - Templates"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"ReclamationTemplateController_update","summary":"Mettre à jour un template","parameters":[{"name":"id","required":true,"in":"path","description":"ID du template","schema":{"type":"string"}}],"responses":{"200":{"description":"Template mis à jour avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"403":{"description":"Accès refusé - Gestionnaire qualité requis"},"404":{"description":"Template non trouvé"}},"tags":["Réclamations - Templates"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"ReclamationTemplateController_deactivate","summary":"Désactiver un template","parameters":[{"name":"id","required":true,"in":"path","description":"ID du template","schema":{"type":"string"}}],"responses":{"200":{"description":"Template désactivé avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"403":{"description":"Accès refusé - Gestionnaire qualité requis"},"404":{"description":"Template non trouvé"}},"tags":["Réclamations - Templates"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-templates/{id}/apply":{"post":{"operationId":"ReclamationTemplateController_applyTemplate","summary":"Appliquer un template avec substitution de variables","parameters":[{"name":"id","required":true,"in":"path","description":"ID du template","schema":{"type":"string"}}],"responses":{"200":{"description":"Template appliqué avec succès"},"400":{"description":"Template inactif"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Template non trouvé"}},"tags":["Réclamations - Templates"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-templates/seed/defaults":{"post":{"operationId":"ReclamationTemplateController_seedDefaultTemplates","summary":"Initialiser les templates par défaut","parameters":[],"responses":{"201":{"description":"Templates par défaut créés avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"403":{"description":"Accès refusé - Gestionnaire qualité requis"}},"tags":["Réclamations - Templates"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-metrics/dashboard":{"get":{"operationId":"ReclamationMetricsController_getDashboard","summary":"Récupérer les métriques du tableau de bord","parameters":[{"name":"dateDebut","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}},{"name":"laboratoireId","required":false,"in":"query","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"type","required":false,"in":"query","description":"Type de réclamation","schema":{"enum":["NON_CONFORMITE_RESULTAT","NON_CONFORMITE_DELAI","NON_CONFORMITE_RAPPORT","NON_CONFORMITE_PRELEVEMENT","NON_CONFORMITE_ECHANTILLON","NON_CONFORMITE_METHODE","NON_CONFORMITE_EQUIPEMENT","NON_CONFORMITE_TRAÇABILITE","DEMANDE_MODIFICATION","DEMANDE_REANALYSE","DEMANDE_ANNULATION","FACTURATION_INCORRECTE","DEVIS_INCORRECT","COMMUNICATION_INSUFFISANTE","DELAI_REPONSE_LONG","INFORMATION_MANQUANTE","INFORMATION_ERRONEE","PROBLEME_LIVRAISON","PERTE_ECHANTILLON","DETERIORATION_ECHANTILLON","CONDITIONNEMENT_INADEQUAT","ACCUEIL_CLIENT","COMPETENCE_PERSONNEL","CONSEIL_TECHNIQUE_INADEQUAT","NON_RESPECT_CONFIDENTIALITE","NON_CONFORMITE_NORME","PORTEE_ACCREDITATION","INCERTITUDE_MESURE","RECLAMATION_SOUS_TRAITANT","AUTRE"],"type":"string"}}],"responses":{"200":{"description":"Métriques du tableau de bord récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-metrics/trends":{"get":{"operationId":"ReclamationMetricsController_getTrends","summary":"Récupérer les données de tendance","parameters":[{"name":"dateDebut","required":true,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":true,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}}],"responses":{"200":{"description":"Données de tendance récupérées avec succès"},"400":{"description":"Plage de dates requise"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-metrics/sla-compliance":{"get":{"operationId":"ReclamationMetricsController_getSLACompliance","summary":"Récupérer les métriques de conformité SLA","parameters":[{"name":"dateDebut","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}}],"responses":{"200":{"description":"Métriques de conformité SLA récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-metrics/satisfaction":{"get":{"operationId":"ReclamationMetricsController_getSatisfaction","summary":"Récupérer les métriques de satisfaction","parameters":[{"name":"dateDebut","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}}],"responses":{"200":{"description":"Métriques de satisfaction récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-metrics/recurring":{"get":{"operationId":"ReclamationMetricsController_getRecurring","summary":"Récupérer les réclamations récurrentes","parameters":[],"responses":{"200":{"description":"Réclamations récurrentes récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-metrics/low-satisfaction":{"get":{"operationId":"ReclamationMetricsController_getLowSatisfaction","summary":"Récupérer les réclamations avec satisfaction faible","parameters":[{"name":"dateDebut","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}},{"name":"laboratoireId","required":false,"in":"query","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"type","required":false,"in":"query","description":"Type de réclamation","schema":{"enum":["NON_CONFORMITE_RESULTAT","NON_CONFORMITE_DELAI","NON_CONFORMITE_RAPPORT","NON_CONFORMITE_PRELEVEMENT","NON_CONFORMITE_ECHANTILLON","NON_CONFORMITE_METHODE","NON_CONFORMITE_EQUIPEMENT","NON_CONFORMITE_TRAÇABILITE","DEMANDE_MODIFICATION","DEMANDE_REANALYSE","DEMANDE_ANNULATION","FACTURATION_INCORRECTE","DEVIS_INCORRECT","COMMUNICATION_INSUFFISANTE","DELAI_REPONSE_LONG","INFORMATION_MANQUANTE","INFORMATION_ERRONEE","PROBLEME_LIVRAISON","PERTE_ECHANTILLON","DETERIORATION_ECHANTILLON","CONDITIONNEMENT_INADEQUAT","ACCUEIL_CLIENT","COMPETENCE_PERSONNEL","CONSEIL_TECHNIQUE_INADEQUAT","NON_RESPECT_CONFIDENTIALITE","NON_CONFORMITE_NORME","PORTEE_ACCREDITATION","INCERTITUDE_MESURE","RECLAMATION_SOUS_TRAITANT","AUTRE"],"type":"string"}}],"responses":{"200":{"description":"Réclamations avec satisfaction faible récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/reclamations-metrics/export":{"get":{"operationId":"ReclamationMetricsController_exportMetrics","summary":"Exporter les métriques","parameters":[{"name":"format","required":true,"in":"query","description":"Format d'export (pdf ou excel)","schema":{"enum":["pdf","excel"],"type":"string"}},{"name":"dateDebut","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}},{"name":"laboratoireId","required":false,"in":"query","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"type","required":false,"in":"query","description":"Type de réclamation","schema":{"enum":["NON_CONFORMITE_RESULTAT","NON_CONFORMITE_DELAI","NON_CONFORMITE_RAPPORT","NON_CONFORMITE_PRELEVEMENT","NON_CONFORMITE_ECHANTILLON","NON_CONFORMITE_METHODE","NON_CONFORMITE_EQUIPEMENT","NON_CONFORMITE_TRAÇABILITE","DEMANDE_MODIFICATION","DEMANDE_REANALYSE","DEMANDE_ANNULATION","FACTURATION_INCORRECTE","DEVIS_INCORRECT","COMMUNICATION_INSUFFISANTE","DELAI_REPONSE_LONG","INFORMATION_MANQUANTE","INFORMATION_ERRONEE","PROBLEME_LIVRAISON","PERTE_ECHANTILLON","DETERIORATION_ECHANTILLON","CONDITIONNEMENT_INADEQUAT","ACCUEIL_CLIENT","COMPETENCE_PERSONNEL","CONSEIL_TECHNIQUE_INADEQUAT","NON_RESPECT_CONFIDENTIALITE","NON_CONFORMITE_NORME","PORTEE_ACCREDITATION","INCERTITUDE_MESURE","RECLAMATION_SOUS_TRAITANT","AUTRE"],"type":"string"}}],"responses":{"200":{"description":"Métriques exportées avec succès"},"400":{"description":"Format invalide"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Réclamations - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/quality-events/filter-presets":{"post":{"operationId":"FilterPresetController_create","summary":"Create a new filter preset","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFilterPresetDto"}}}},"responses":{"201":{"description":"Filter preset created successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"409":{"description":"Filter preset with this name already exists"}},"tags":["Filter Presets"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"FilterPresetController_findAll","summary":"Get all filter presets for the current user","parameters":[{"name":"entityType","required":false,"in":"query","description":"Filter by entity type","schema":{"example":"reclamation","enum":["reclamation","non-conformite"],"type":"string"}}],"responses":{"200":{"description":"Filter presets retrieved successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Filter Presets"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/quality-events/filter-presets/default/{entityType}":{"get":{"operationId":"FilterPresetController_findDefault","summary":"Get the default filter preset for an entity type","parameters":[{"name":"entityType","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Default filter preset retrieved successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Filter Presets"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/quality-events/filter-presets/{id}":{"get":{"operationId":"FilterPresetController_findOne","summary":"Get a filter preset by ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Filter preset retrieved successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Filter preset not found"}},"tags":["Filter Presets"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"FilterPresetController_update","summary":"Update a filter preset","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFilterPresetDto"}}}},"responses":{"200":{"description":"Filter preset updated successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Filter preset not found"},"409":{"description":"Filter preset with this name already exists"}},"tags":["Filter Presets"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"FilterPresetController_remove","summary":"Delete a filter preset","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Filter preset deleted successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Filter preset not found"}},"tags":["Filter Presets"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/quality-events/filter-presets/{id}/apply":{"get":{"operationId":"FilterPresetController_apply","summary":"Apply a filter preset (returns filter configuration)","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Filter preset applied successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Filter preset not found"}},"tags":["Filter Presets"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/quality-dashboard/metrics":{"get":{"operationId":"QualityDashboardController_getUnifiedMetrics","summary":"Récupérer les métriques unifiées du tableau de bord qualité","parameters":[{"name":"dateDebut","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}},{"name":"laboratoireId","required":false,"in":"query","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"gravite","required":false,"in":"query","description":"Gravité/Sévérité (FAIBLE, MOYENNE, CRITIQUE)","schema":{"enum":["MINEURE","MAJEURE","CRITIQUE"],"type":"string"}}],"responses":{"200":{"description":"Métriques unifiées récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Tableau de Bord Qualité"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/quality-dashboard/open-events":{"get":{"operationId":"QualityDashboardController_getOpenEvents","summary":"Récupérer tous les événements qualité ouverts","parameters":[],"responses":{"200":{"description":"Événements qualité ouverts récupérés avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Tableau de Bord Qualité"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/quality-dashboard/trends":{"get":{"operationId":"QualityDashboardController_getTrends","summary":"Récupérer les tendances qualité dans le temps","parameters":[{"name":"dateDebut","required":true,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":true,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}}],"responses":{"200":{"description":"Tendances qualité récupérées avec succès"},"400":{"description":"Plage de dates requise"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Tableau de Bord Qualité"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/quality-dashboard/compliance":{"get":{"operationId":"QualityDashboardController_getComplianceStatus","summary":"Récupérer le statut de conformité qualité","parameters":[],"responses":{"200":{"description":"Statut de conformité récupéré avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Tableau de Bord Qualité"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/quality-notifications/preferences":{"get":{"operationId":"NotificationPreferencesController_getPreferences","summary":"Get user notification preferences","parameters":[],"responses":{"200":{"description":"Notification preferences retrieved successfully"}},"tags":["Quality Event Notifications"],"security":[{"bearer":[]}]},"put":{"operationId":"NotificationPreferencesController_updatePreferences","summary":"Update user notification preferences","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNotificationPreferencesDto"}}}},"responses":{"200":{"description":"Notification preferences updated successfully"}},"tags":["Quality Event Notifications"],"security":[{"bearer":[]}]}},"/api/v1/quality-notifications/preferences/reset":{"put":{"operationId":"NotificationPreferencesController_resetPreferences","summary":"Reset notification preferences to defaults","parameters":[],"responses":{"200":{"description":"Notification preferences reset successfully"}},"tags":["Quality Event Notifications"],"security":[{"bearer":[]}]}},"/api/v1/quality-notifications/preferences/disable-all":{"put":{"operationId":"NotificationPreferencesController_disableAllNotifications","summary":"Disable all notifications","parameters":[],"responses":{"200":{"description":"All notifications disabled successfully"}},"tags":["Quality Event Notifications"],"security":[{"bearer":[]}]}},"/api/v1/quality-notifications/preferences/enable-all":{"put":{"operationId":"NotificationPreferencesController_enableAllNotifications","summary":"Enable all notifications","parameters":[],"responses":{"200":{"description":"All notifications enabled successfully"}},"tags":["Quality Event Notifications"],"security":[{"bearer":[]}]}},"/api/v1/non-conformities":{"post":{"operationId":"NonConformityController_create","summary":"Create a new non-conformity","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNonConformityDto"}}}},"responses":{"201":{"description":"Non-conformity created successfully"},"400":{"description":"Invalid input data"},"401":{"description":"Unauthorized"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"NonConformityController_findAll","summary":"Get all non-conformities with filters","parameters":[{"name":"page","required":false,"in":"query","description":"Page number for pagination","schema":{"example":1,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page (max 100)","schema":{"example":10,"type":"number"}},{"name":"status","required":false,"in":"query","description":"Filter by status","schema":{"example":"DETECTEE","enum":["DETECTEE","EN_ANALYSE","ACTIONS_EN_COURS","EN_VERIFICATION","CLOTUREE","VALIDEE"],"type":"string"}},{"name":"type","required":false,"in":"query","description":"Filter by type","schema":{"example":"EQUIPEMENT","enum":["TECHNIQUE","METHODOLOGIQUE","EQUIPEMENT","ECHANTILLON","PERSONNEL","ENVIRONNEMENTAL","DOCUMENTATION","SOUS_TRAITANCE","PREANALYTIQUE","POSTANALYTIQUE","ANALYTIQUE"],"type":"string"}},{"name":"gravite","required":false,"in":"query","description":"Filter by severity","schema":{"example":"MAJEURE","enum":["MINEURE","MAJEURE","CRITIQUE"],"type":"string"}},{"name":"laboratoryId","required":false,"in":"query","description":"Filter by laboratory ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"detectePar","required":false,"in":"query","description":"Filter by detector user ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"dateDebut","required":false,"in":"query","description":"Filter by start date (ISO 8601)","schema":{"example":"2025-01-01","type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Filter by end date (ISO 8601)","schema":{"example":"2025-12-31","type":"string"}},{"name":"impactClient","required":false,"in":"query","description":"Filter by customer impact","schema":{"example":true,"type":"boolean"}},{"name":"impactValidite","required":false,"in":"query","description":"Filter by validity impact","schema":{"example":true,"type":"boolean"}},{"name":"search","required":false,"in":"query","description":"Search text across title, description, and reference","schema":{"example":"calibration","type":"string"}},{"name":"rapportAnalyseId","required":false,"in":"query","description":"Filter by linked report ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"echantillonId","required":false,"in":"query","description":"Filter by linked sample ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"analyseId","required":false,"in":"query","description":"Filter by linked analysis ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"reclamationId","required":false,"in":"query","description":"Filter by linked reclamation ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":"Non-conformities retrieved successfully"},"401":{"description":"Unauthorized"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}":{"get":{"operationId":"NonConformityController_findOne","summary":"Get a non-conformity by ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Non-conformity retrieved successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"NonConformityController_update","summary":"Update a non-conformity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNonConformityDto"}}}},"responses":{"200":{"description":"Non-conformity updated successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"NonConformityController_delete","summary":"Soft delete a non-conformity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Non-conformity deleted successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/status":{"put":{"operationId":"NonConformityController_changeStatus","summary":"Change non-conformity status","description":"Changes the status of a non-conformity. IMPORTANT: Transitioning to EN_ANALYSE status requires that immediate containment actions (actionsImmediates) are documented first. This ensures proper workflow: Detection → Immediate Actions → Root Cause Analysis → Corrective Actions.","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeStatusDto"}}}},"responses":{"200":{"description":"Status changed successfully"},"400":{"description":"Bad request - may indicate immediate actions are required before proceeding to EN_ANALYSE status","content":{"application/json":{"schema":{"example":{"statusCode":400,"message":"Immediate containment actions must be documented before proceeding to root cause analysis. Please document the immediate actions taken to contain the non-conformity.","error":"Bad Request"}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/link-reclamation":{"post":{"operationId":"NonConformityController_linkToReclamation","summary":"Link non-conformity to a reclamation","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkEntityDto"}}}},"responses":{"200":{"description":"Linked successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/link-sample":{"post":{"operationId":"NonConformityController_linkToSample","summary":"Link non-conformity to a sample","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkEntityDto"}}}},"responses":{"200":{"description":"Linked successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/link-report":{"post":{"operationId":"NonConformityController_linkToReport","summary":"Link non-conformity to a report","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkEntityDto"}}}},"responses":{"200":{"description":"Linked successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/link-analysis":{"post":{"operationId":"NonConformityController_linkToAnalysis","summary":"Link non-conformity to an analysis","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkEntityDto"}}}},"responses":{"200":{"description":"Linked successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/root-cause/start":{"post":{"operationId":"NonConformityController_startRootCauseAnalysis","summary":"Start root cause analysis for a non-conformity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Root cause analysis started successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/root-cause/why":{"post":{"operationId":"NonConformityController_addWhy","summary":"Add a \"Why\" question and answer for 5 Whys methodology","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddWhyDto"}}}},"responses":{"200":{"description":"Why added successfully"},"400":{"description":"Invalid level (must be 1-5)"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/root-cause/ishikawa":{"post":{"operationId":"NonConformityController_addIshikawaCategory","summary":"Add causes to an Ishikawa diagram category","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddIshikawaCategoryDto"}}}},"responses":{"200":{"description":"Ishikawa category added successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/root-cause/identify":{"post":{"operationId":"NonConformityController_identifyRootCause","summary":"Identify and record the root cause","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentifyRootCauseDto"}}}},"responses":{"200":{"description":"Root cause identified successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/root-cause":{"get":{"operationId":"NonConformityController_getRootCauseAnalysis","summary":"Get the complete root cause analysis","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Root cause analysis retrieved successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found or no analysis exists"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/actions":{"post":{"operationId":"NonConformityController_createAction","summary":"Create a corrective action for a non-conformity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateActionCorrectiveDto"}}}},"responses":{"201":{"description":"Corrective action created successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"NonConformityController_getActions","summary":"Get all corrective actions for a non-conformity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Corrective actions retrieved successfully"},"401":{"description":"Unauthorized"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/actions/{id}":{"put":{"operationId":"NonConformityController_updateAction","summary":"Update a corrective action","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateActionCorrectiveDto"}}}},"responses":{"200":{"description":"Corrective action updated successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Corrective action not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/actions/{id}/complete":{"post":{"operationId":"NonConformityController_completeAction","summary":"Mark a corrective action as complete","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Corrective action completed successfully"},"400":{"description":"Action already completed"},"401":{"description":"Unauthorized"},"404":{"description":"Corrective action not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/actions/{id}/verify":{"post":{"operationId":"NonConformityController_verifyEffectiveness","summary":"Verify the effectiveness of a corrective action","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationEfficaciteDto"}}}},"responses":{"200":{"description":"Effectiveness verified successfully"},"400":{"description":"Action must be completed before verification"},"401":{"description":"Unauthorized"},"404":{"description":"Corrective action not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/assess-impact":{"post":{"operationId":"NonConformityController_assessImpact","summary":"Assess the impact of a non-conformity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssessImpactDto"}}}},"responses":{"200":{"description":"Impact assessed successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/impact-summary":{"get":{"operationId":"NonConformityController_getImpactSummary","summary":"Get impact assessment summary for a non-conformity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Impact summary retrieved successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/should-create-reclamation":{"get":{"operationId":"NonConformityController_shouldCreateReclamation","summary":"Check if a reclamation should be created for this non-conformity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Reclamation suggestion retrieved successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/workflow-status":{"get":{"operationId":"NonConformityController_getWorkflowStatus","summary":"Get workflow status distinguishing immediate actions from corrective actions","description":"Returns the current workflow status showing: 1) Immediate containment actions (temporary measures taken upon detection), 2) Corrective actions (permanent solutions after root cause analysis), and 3) Workflow validation status. This helps UI clearly separate the two types of actions per ISO 17025 requirements.","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Workflow status retrieved successfully","content":{"application/json":{"schema":{"example":{"immediateActions":{"actions":"Equipment isolated and tagged out of service","dateRecorded":"2025-02-05T10:30:00Z","isDocumented":true},"correctiveActions":[{"id":"123e4567-e89b-12d3-a456-426614174000","description":"Update calibration procedure and retrain staff","status":"IN_PROGRESS","responsable":"John Doe","deadline":"2025-02-15"}],"workflowStatus":{"canProceedToAnalysis":true,"requiresImmediateActions":false,"requiresCorrectiveActions":true,"message":"Immediate actions documented. Ready for root cause analysis."}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/validate":{"post":{"operationId":"NonConformityController_validateForClosure","summary":"Validate non-conformity for closure (Quality Manager only)","description":"Validates that all requirements are met before closing a non-conformity. Checks: 1) Root cause analysis is complete, 2) All corrective actions are completed, 3) Effectiveness verification is done. Only quality managers can perform this operation. Requirement 28.5, 19.2, 19.3.","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateForClosureDto"}}}},"responses":{"200":{"description":"Non-conformity validated successfully and status changed to VALIDEE","content":{"application/json":{"schema":{"example":{"id":"123e4567-e89b-12d3-a456-426614174000","numeroNC":"NC-2025-001","statut":"VALIDEE","validePar":"456e7890-e89b-12d3-a456-426614174000","dateValidation":"2025-02-05T14:30:00Z","commentaireValidation":"All requirements met. Approved for closure."}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - Quality Manager role required"},"404":{"description":"Non-conformity not found"},"422":{"description":"Validation failed - requirements not met","content":{"application/json":{"schema":{"example":{"statusCode":422,"message":"Cannot validate for closure. Missing: Root cause analysis, Effectiveness verification. Details: Root cause has not been identified. 2 corrective action(s) have not been verified for effectiveness.","error":"Unprocessable Entity"}}}}}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/reject":{"post":{"operationId":"NonConformityController_rejectValidation","summary":"Reject validation and revert to previous status (Quality Manager only)","description":"Rejects validation of a non-conformity and reverts it to the previous status. Requires a reason for rejection. The status will be reverted to the last status before validation attempt. Requirement 19.4.","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectValidationDto"}}}},"responses":{"200":{"description":"Validation rejected successfully and status reverted","content":{"application/json":{"schema":{"example":{"id":"123e4567-e89b-12d3-a456-426614174000","numeroNC":"NC-2025-001","statut":"EN_VERIFICATION","validePar":null,"dateValidation":null,"commentaireValidation":"Effectiveness verification is incomplete. Please provide more evidence."}}}}},"400":{"description":"Bad request - rejection reason is required","content":{"application/json":{"schema":{"example":{"statusCode":400,"message":"Rejection reason is required","error":"Bad Request"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - Quality Manager role required"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/validation-status":{"get":{"operationId":"NonConformityController_getValidationStatus","summary":"Check validation status and requirements","description":"Returns the current validation status showing which requirements are met and which are missing. Useful for UI to display validation checklist before attempting to validate for closure. Does not modify the non-conformity.","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Validation status retrieved successfully","content":{"application/json":{"schema":{"example":{"canClose":false,"validationResults":{"rootCauseAnalysis":{"isComplete":true},"actionsCompleted":{"allCompleted":true},"effectivenessVerification":{"isVerified":false,"message":"2 corrective action(s) have not been verified for effectiveness.","unverifiedActions":[{"id":"123e4567-e89b-12d3-a456-426614174000","description":"Update calibration procedure","status":"COMPLETED"}]}},"missingItems":["Effectiveness verification"]}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/export/pdf":{"get":{"operationId":"NonConformityController_exportToPdf","summary":"Export non-conformity to PDF","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"PDF exported successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"},"404":{"description":"Non-conformity not found"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/export/list":{"get":{"operationId":"NonConformityController_exportList","summary":"Export list of non-conformities","parameters":[{"name":"page","required":false,"in":"query","description":"Page number for pagination","schema":{"example":1,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page (max 100)","schema":{"example":10,"type":"number"}},{"name":"status","required":false,"in":"query","description":"Filter by status","schema":{"example":"DETECTEE","enum":["DETECTEE","EN_ANALYSE","ACTIONS_EN_COURS","EN_VERIFICATION","CLOTUREE","VALIDEE"],"type":"string"}},{"name":"type","required":false,"in":"query","description":"Filter by type","schema":{"example":"EQUIPEMENT","enum":["TECHNIQUE","METHODOLOGIQUE","EQUIPEMENT","ECHANTILLON","PERSONNEL","ENVIRONNEMENTAL","DOCUMENTATION","SOUS_TRAITANCE","PREANALYTIQUE","POSTANALYTIQUE","ANALYTIQUE"],"type":"string"}},{"name":"gravite","required":false,"in":"query","description":"Filter by severity","schema":{"example":"MAJEURE","enum":["MINEURE","MAJEURE","CRITIQUE"],"type":"string"}},{"name":"laboratoryId","required":false,"in":"query","description":"Filter by laboratory ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"detectePar","required":false,"in":"query","description":"Filter by detector user ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"dateDebut","required":false,"in":"query","description":"Filter by start date (ISO 8601)","schema":{"example":"2025-01-01","type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Filter by end date (ISO 8601)","schema":{"example":"2025-12-31","type":"string"}},{"name":"impactClient","required":false,"in":"query","description":"Filter by customer impact","schema":{"example":true,"type":"boolean"}},{"name":"impactValidite","required":false,"in":"query","description":"Filter by validity impact","schema":{"example":true,"type":"boolean"}},{"name":"search","required":false,"in":"query","description":"Search text across title, description, and reference","schema":{"example":"calibration","type":"string"}},{"name":"rapportAnalyseId","required":false,"in":"query","description":"Filter by linked report ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"echantillonId","required":false,"in":"query","description":"Filter by linked sample ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"analyseId","required":false,"in":"query","description":"Filter by linked analysis ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"reclamationId","required":false,"in":"query","description":"Filter by linked reclamation ID","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"format","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"List exported successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/by-rapport/{rapportId}":{"get":{"operationId":"NonConformityController_findByRapport","summary":"Get non-conformities linked to a specific report","parameters":[{"name":"rapportId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Non-conformities retrieved successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/by-echantillon/{echantillonId}":{"get":{"operationId":"NonConformityController_findByEchantillon","summary":"Get non-conformities linked to a specific sample","parameters":[{"name":"echantillonId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Non-conformities retrieved successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/by-analyse/{analyseId}":{"get":{"operationId":"NonConformityController_findByAnalyse","summary":"Get non-conformities linked to a specific analysis","parameters":[{"name":"analyseId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Non-conformities retrieved successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/by-reclamation/{reclamationId}":{"get":{"operationId":"NonConformityController_findByReclamation","summary":"Get non-conformities linked to a specific reclamation","parameters":[{"name":"reclamationId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Non-conformities retrieved successfully"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformities"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/{id}/files":{"post":{"operationId":"NonConformityFileController_uploadFile","summary":"Upload a file to a non-conformity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"description":{"type":"string","description":"Optional description of the file"}}}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformités - Fichiers"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"NonConformityFileController_getFiles","summary":"Get all files for a non-conformity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformités - Fichiers"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/files/{id}/download":{"get":{"operationId":"NonConformityFileController_getDownloadUrl","summary":"Get download URL for a file","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformités - Fichiers"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/files/{id}":{"delete":{"operationId":"NonConformityFileController_deleteFile","summary":"Delete a file","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformités - Fichiers"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/metrics/dashboard":{"get":{"operationId":"NonConformityMetricsController_getDashboard","summary":"Récupérer les métriques du tableau de bord","parameters":[{"name":"dateDebut","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}},{"name":"laboratoireId","required":false,"in":"query","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"gravite","required":false,"in":"query","description":"Gravité de la non-conformité","schema":{"enum":["MINEURE","MAJEURE","CRITIQUE"],"type":"string"}},{"name":"type","required":false,"in":"query","description":"Type de non-conformité","schema":{"enum":["TECHNIQUE","METHODOLOGIQUE","EQUIPEMENT","ECHANTILLON","PERSONNEL","ENVIRONNEMENTAL","DOCUMENTATION","SOUS_TRAITANCE","PREANALYTIQUE","POSTANALYTIQUE","ANALYTIQUE"],"type":"string"}}],"responses":{"200":{"description":"Métriques du tableau de bord récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformités - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/metrics/trends":{"get":{"operationId":"NonConformityMetricsController_getTrends","summary":"Récupérer les données de tendance","parameters":[{"name":"dateDebut","required":true,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":true,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}}],"responses":{"200":{"description":"Données de tendance récupérées avec succès"},"400":{"description":"Plage de dates requise"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformités - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/metrics/types":{"get":{"operationId":"NonConformityMetricsController_getTypeDistribution","summary":"Récupérer la distribution par type","parameters":[{"name":"dateDebut","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}}],"responses":{"200":{"description":"Distribution par type récupérée avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformités - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/metrics/phases":{"get":{"operationId":"NonConformityMetricsController_getPhaseDistribution","summary":"Récupérer la distribution par phase de détection","parameters":[{"name":"dateDebut","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}}],"responses":{"200":{"description":"Distribution par phase récupérée avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformités - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/metrics/impact":{"get":{"operationId":"NonConformityMetricsController_getImpactMetrics","summary":"Récupérer les métriques d'impact","parameters":[{"name":"dateDebut","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}}],"responses":{"200":{"description":"Métriques d'impact récupérées avec succès"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformités - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/non-conformities/metrics/export":{"get":{"operationId":"NonConformityMetricsController_exportMetrics","summary":"Exporter les métriques","parameters":[{"name":"format","required":true,"in":"query","description":"Format d'export (pdf ou excel)","schema":{"enum":["pdf","excel"],"type":"string"}},{"name":"dateDebut","required":false,"in":"query","description":"Date de début (ISO 8601)","schema":{"type":"string"}},{"name":"dateFin","required":false,"in":"query","description":"Date de fin (ISO 8601)","schema":{"type":"string"}},{"name":"laboratoireId","required":false,"in":"query","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"gravite","required":false,"in":"query","description":"Gravité de la non-conformité","schema":{"enum":["MINEURE","MAJEURE","CRITIQUE"],"type":"string"}},{"name":"type","required":false,"in":"query","description":"Type de non-conformité","schema":{"enum":["TECHNIQUE","METHODOLOGIQUE","EQUIPEMENT","ECHANTILLON","PERSONNEL","ENVIRONNEMENTAL","DOCUMENTATION","SOUS_TRAITANCE","PREANALYTIQUE","POSTANALYTIQUE","ANALYTIQUE"],"type":"string"}}],"responses":{"200":{"description":"Métriques exportées avec succès"},"400":{"description":"Format invalide"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Non-Conformités - Métriques"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies":{"post":{"operationId":"PolicyController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePolicyDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"PolicyController_findAll","parameters":[{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"scope","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/scope/{scope}":{"get":{"operationId":"PolicyController_getByScope","parameters":[{"name":"scope","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/scope/{scope}/internal":{"get":{"operationId":"PolicyController_getInternalPolicies","parameters":[{"name":"scope","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/scope/{scope}/external":{"get":{"operationId":"PolicyController_getExternalPolicies","parameters":[{"name":"scope","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/{id}":{"get":{"operationId":"PolicyController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"PolicyController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePolicyDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"PolicyController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/{id}/archive":{"put":{"operationId":"PolicyController_archive","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/{id}/duplicate":{"post":{"operationId":"PolicyController_duplicate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/validations":{"post":{"operationId":"PolicyController_validateChecklist","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatePolicyDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/validations/entity/{entityType}/{entityId}":{"get":{"operationId":"PolicyController_getEntityValidations","parameters":[{"name":"entityType","required":true,"in":"path","schema":{"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"PolicyController_deleteEntityValidations","parameters":[{"name":"entityType","required":true,"in":"path","schema":{"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/validations/entity/{entityType}/{entityId}/compliance":{"get":{"operationId":"PolicyController_checkEntityCompliance","parameters":[{"name":"entityType","required":true,"in":"path","schema":{"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"type":"string"}},{"name":"scope","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/validations/entity/{entityType}/{entityId}/missing":{"get":{"operationId":"PolicyController_getMissingPolicies","parameters":[{"name":"entityType","required":true,"in":"path","schema":{"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"type":"string"}},{"name":"scope","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/validations/user/{userId}/stats":{"get":{"operationId":"PolicyController_getUserValidationStats","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/acceptances":{"post":{"operationId":"PolicyController_recordAcceptance","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptPolicyDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/acceptances/document/{documentType}/{documentId}":{"get":{"operationId":"PolicyController_getDocumentAcceptances","parameters":[{"name":"documentType","required":true,"in":"path","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/acceptances/document/{documentType}/{documentId}/check":{"get":{"operationId":"PolicyController_checkAcceptance","parameters":[{"name":"documentType","required":true,"in":"path","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","schema":{"type":"string"}},{"name":"customerId","required":true,"in":"query","schema":{"type":"string"}},{"name":"userId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/acceptances/customer/{customerId}":{"get":{"operationId":"PolicyController_getCustomerAcceptances","parameters":[{"name":"customerId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/acceptances/user/{userId}":{"get":{"operationId":"PolicyController_getUserAcceptances","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/{id}/acceptances/stats":{"get":{"operationId":"PolicyController_getPolicyAcceptanceStats","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/policies/acceptances/missing/{documentType}":{"get":{"operationId":"PolicyController_getMissingAcceptances","parameters":[{"name":"documentType","required":true,"in":"path","schema":{"type":"string"}},{"name":"scope","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Policies"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/sup-dashboard/delays":{"get":{"operationId":"DgDashboardController_getDelaysDashboard","parameters":[{"name":"minDelayDays","required":true,"in":"query","schema":{"type":"string"}},{"name":"includeResolved","required":true,"in":"query","schema":{"type":"string"}},{"name":"customerId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DG Dashboard"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/sup-dashboard/delays/stats":{"get":{"operationId":"DgDashboardController_getDelayStatsByPeriod","parameters":[{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DG Dashboard"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/sup-dashboard/delays/demande/{demandeId}":{"get":{"operationId":"DgDashboardController_getDemandeDelayTracking","parameters":[{"name":"demandeId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DG Dashboard"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/sup-dashboard/delays/{id}":{"put":{"operationId":"DgDashboardController_updateDelayTracking","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDelayTrackingDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DG Dashboard"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/sup-dashboard/delays/{id}/resolve":{"put":{"operationId":"DgDashboardController_resolveDelay","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DG Dashboard"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/sup-dashboard/delays/update-tracking":{"post":{"operationId":"DgDashboardController_forceUpdateTracking","parameters":[],"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DG Dashboard"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/supervisor-stats/dashboard/overview":{"get":{"operationId":"SupervisorStatsController_getDashboardOverview","summary":"Dashboard overview - Vue d'ensemble pour le superviseur","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["SUPERVISOR STATISTICS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/supervisor-stats/financial":{"get":{"operationId":"SupervisorStatsController_getFinancialStats","summary":"Statistiques financières","parameters":[{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["SUPERVISOR STATISTICS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/supervisor-stats/laboratory":{"get":{"operationId":"SupervisorStatsController_getLaboratoryStats","summary":"Statistiques des laboratoires","parameters":[{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["SUPERVISOR STATISTICS"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/old-system-data/synch-for-all":{"get":{"operationId":"OldSystemDataController_synchForAll","summary":"Synchroniser les données pour tous les fournisseurs de services","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DONNÉES ANCIEN SYSTÈME"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/old-system-data/by-email":{"get":{"operationId":"OldSystemDataController_findByEmail","summary":"Rechercher les rapports par email utilisateur","parameters":[{"name":"email","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DONNÉES ANCIEN SYSTÈME"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/old-system-data/by-provider":{"get":{"operationId":"OldSystemDataController_findAllByServiceProvider","summary":"Récupérer tous les rapports d'un service provider avec pagination","parameters":[{"name":"skip","required":true,"in":"query","schema":{"type":"string"}},{"name":"take","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DONNÉES ANCIEN SYSTÈME"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/old-system-data/query":{"get":{"operationId":"OldSystemDataController_query","summary":"Recherche avancée avec filtres multiples","parameters":[{"name":"email","required":true,"in":"query","schema":{"type":"string"}},{"name":"reportNumber","required":true,"in":"query","schema":{"type":"string"}},{"name":"sentBy","required":true,"in":"query","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"skip","required":true,"in":"query","schema":{"type":"string"}},{"name":"take","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DONNÉES ANCIEN SYSTÈME"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/old-system-data/migrate":{"get":{"operationId":"OldSystemDataController_migrate","summary":"Migrer les données depuis le fichier JSON vers la base de données","parameters":[],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["DONNÉES ANCIEN SYSTÈME"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/equipment":{"get":{"operationId":"EquipmentController_findAllEquipment","parameters":[{"name":"laboratoryId","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Équipements & Pannes"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"post":{"operationId":"EquipmentController_createEquipment","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEquipmentDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Équipements & Pannes"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/equipment/{id}":{"get":{"operationId":"EquipmentController_findOneEquipment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Équipements & Pannes"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"EquipmentController_updateEquipment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEquipmentDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Équipements & Pannes"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"EquipmentController_deleteEquipment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Équipements & Pannes"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/equipment/breakdowns/report":{"post":{"operationId":"EquipmentController_reportBreakdown","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBreakdownDto"}}}},"responses":{"201":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Équipements & Pannes"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/equipment/breakdowns/list":{"get":{"operationId":"EquipmentController_findAllBreakdowns","parameters":[{"name":"limit","required":false,"in":"query","schema":{}},{"name":"page","required":false,"in":"query","schema":{}},{"name":"status","required":false,"in":"query","schema":{"enum":["REPORTED","IN_REPAIR","RESOLVED","IRREPARABLE"],"type":"string"}},{"name":"equipmentId","required":false,"in":"query","schema":{}},{"name":"laboratoryId","required":false,"in":"query","schema":{}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Équipements & Pannes"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/equipment/breakdowns/stats":{"get":{"operationId":"EquipmentController_getBreakdownStats","parameters":[{"name":"laboratoryId","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Équipements & Pannes"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/equipment/breakdowns/{id}":{"get":{"operationId":"EquipmentController_findOneBreakdown","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Équipements & Pannes"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"put":{"operationId":"EquipmentController_updateBreakdown","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBreakdownDto"}}}},"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Équipements & Pannes"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"delete":{"operationId":"EquipmentController_deleteBreakdown","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Équipements & Pannes"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contact":{"post":{"operationId":"ContactController_createContact","summary":"Créer une demande de contact","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContactDto"}}}},"responses":{"201":{"description":"Demande de contact créée avec succès"},"400":{"description":"Données invalides"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Contact"],"security":[{"bearer":[]},{"cookieAuth":[]}]},"get":{"operationId":"ContactController_getAllContacts","summary":"Récupérer toutes les demandes de contact (Admin)","parameters":[],"responses":{"200":{"description":"Liste des demandes de contact"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Contact"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/contact/{id}/process":{"patch":{"operationId":"ContactController_markAsProcessed","summary":"Marquer une demande de contact comme traitée","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Demande marquée comme traitée"},"401":{"description":"Non autorisé Échec de la vérification de la clé d'authentification"}},"tags":["Contact"],"security":[{"bearer":[]},{"cookieAuth":[]}]}},"/api/v1/gstock-access/labs":{"get":{"operationId":"GstockAccessController_getLabNames","summary":"Lister les laboratoires disponibles","description":"Retourne la liste des laboratoires actifs du LIMS. Utilisé par Gstock pour configurer le mapping labo.","parameters":[{"name":"x-gstock-apikey","in":"header","description":"Clé applicative Gstock fournie par le LIMS","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Liste des laboratoires retournée avec succès"}},"tags":["Gstock Access"]}},"/api/v1/gstock-access/sample-parameters-by-code-labo":{"get":{"operationId":"GstockAccessController_getSampleParametersByCodeLabo","summary":"Récupérer les paramètres d'un échantillon par code labo","description":"Retourne les paramètres analytiques liés à un échantillon identifié par son code labo, pour le laboratoire associé à l'API key.","parameters":[{"name":"codeLabo","required":true,"in":"query","description":"Code laboratoire de l'échantillon dans le LIMS","schema":{"type":"string"}},{"name":"x-lab-api-key","in":"header","description":"Clé API du laboratoire LIMS, permettant de résoudre automatiquement le labo cible","required":true,"schema":{"type":"string"}},{"name":"x-gstock-apikey","in":"header","description":"Clé applicative Gstock fournie par le LIMS","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Gstock Access"]}},"/api/v1/gstock-access/all-parameters":{"get":{"operationId":"GstockAccessController_getParameterByLaboratory","summary":"Récupérer les paramètres analytiques disponibles pour un labo","description":"Retourne l'ensemble des paramètres/normes disponibles pour le laboratoire associé à l'API key.","parameters":[{"name":"x-lab-api-key","in":"header","description":"Clé API du laboratoire LIMS, permettant de résoudre automatiquement le labo cible","required":true,"schema":{"type":"string"}},{"name":"x-gstock-apikey","in":"header","description":"Clé applicative Gstock fournie par le LIMS","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Gstock Access"]}},"/api/v1/gstock-access/parameters-by-demande-reference":{"get":{"operationId":"GstockAccessController_getParameterByDemandeReference","summary":"Récupérer les paramètres par référence de demande","description":"Retourne les paramètres analytiques associés à une demande donnée (référence LIMS) pour le labo résolu par API key.","parameters":[{"name":"demandeReference","required":true,"in":"query","description":"Référence de la demande dans le LIMS","schema":{"type":"string"}},{"name":"x-lab-api-key","in":"header","description":"Clé API du laboratoire LIMS, permettant de résoudre automatiquement le labo cible","required":true,"schema":{"type":"string"}},{"name":"x-gstock-apikey","in":"header","description":"Clé applicative Gstock fournie par le LIMS","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Gstock Access"]}},"/api/v1/gstock-access/link-api-key":{"post":{"operationId":"GstockAccessController_linkLabApiKey","summary":"Lier une clé API labo à un laboratoire LIMS","description":"Associe (ou met à jour) une clé API labo pour un Laboratory donné. Utilisé par le LIMS pour provisionner l'accès Gstock.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"laboratoryId":{"type":"string","description":"Identifiant du laboratoire dans le LIMS"},"apiKey":{"type":"string","description":"Clé API labo à utiliser côté Gstock"}},"required":["laboratoryId","apiKey"]}}}},"responses":{"200":{"description":"Clé API labo liée avec succès au laboratoire"}},"tags":["Gstock Access"]}},"/api/v1/gstock-access/bordereau-samples-by-reference":{"get":{"operationId":"GstockAccessController_getSampleParametersByBordereauReference","summary":"Récupérer les échantillons et paramètres liés à un bordereau d'analyse","description":"Retourne les informations d'un bordereau (client, échantillons, paramètres) pour le laboratoire associé à l'API key.","parameters":[{"name":"bordereauReference","required":true,"in":"query","description":"Référence du bordereau d'analyse (numBordereau)","schema":{"type":"string"}},{"name":"x-lab-api-key","in":"header","description":"Clé API du laboratoire LIMS, permettant de résoudre automatiquement le labo cible","required":true,"schema":{"type":"string"}},{"name":"x-gstock-apikey","in":"header","description":"Clé applicative Gstock fournie par le LIMS","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Gstock Access"]}},"/api/v1/gstock-access/get-all-samples-by-lab":{"get":{"operationId":"GstockAccessController_getAllSimpleNumbersByLaboratory","summary":"Lister les bordereaux accessibles pour un laboratoire","description":"Retourne une liste simplifiée de bordereaux (numéro, date, exigences particulières) pour le labo résolu par API key.","parameters":[{"name":"x-lab-api-key","in":"header","description":"Clé API du laboratoire LIMS, permettant de résoudre automatiquement le labo cible","required":true,"schema":{"type":"string"}},{"name":"x-gstock-apikey","in":"header","description":"Clé applicative Gstock fournie par le LIMS","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Gstock Access"]}},"/api/v1/stats-dashboard/laboratories":{"get":{"operationId":"StatsDashboardController_getLaboratories","parameters":[],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/kpis":{"get":{"operationId":"StatsDashboardController_getKpisSummary","summary":"Get KPIs summary","description":"Get KPIs summary for the dashboard","parameters":[{"name":"from","required":true,"in":"query","description":"Date de début de la période","schema":{"format":"date-time","example":"2025-01-01","type":"string"}},{"name":"to","required":true,"in":"query","description":"Date de fin de la période","schema":{"format":"date-time","example":"2025-12-31","type":"string"}},{"name":"userId","required":true,"in":"query","description":"ID de l'utilisateur","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/commercial":{"get":{"operationId":"StatsDashboardController_getStatsCommercial","summary":"Get commercial stats","description":"Get commercial stats for the dashboard","parameters":[{"name":"from","required":true,"in":"query","description":"Date de début de la période","schema":{"format":"date-time","example":"2025-01-01","type":"string"}},{"name":"to","required":true,"in":"query","description":"Date de fin de la période","schema":{"format":"date-time","example":"2025-12-31","type":"string"}},{"name":"userId","required":true,"in":"query","description":"ID de l'utilisateur","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/adv":{"get":{"operationId":"StatsDashboardController_getStatsADV","summary":"Get ADV stats","description":"Get ADV stats for the dashboard","parameters":[{"name":"from","required":true,"in":"query","description":"Date de début de la période","schema":{"format":"date-time","example":"2025-01-01","type":"string"}},{"name":"to","required":true,"in":"query","description":"Date de fin de la période","schema":{"format":"date-time","example":"2025-12-31","type":"string"}},{"name":"userId","required":true,"in":"query","description":"ID de l'utilisateur","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/facturation":{"get":{"operationId":"StatsDashboardController_getStatsFacturation","summary":"Get facturation stats","description":"Get facturation stats for the dashboard","parameters":[{"name":"from","required":true,"in":"query","description":"Date de début de la période","schema":{"format":"date-time","example":"2025-01-01","type":"string"}},{"name":"to","required":true,"in":"query","description":"Date de fin de la période","schema":{"format":"date-time","example":"2025-12-31","type":"string"}},{"name":"userId","required":true,"in":"query","description":"ID de l'utilisateur","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/reception":{"get":{"operationId":"StatsDashboardController_getStatsReception","summary":"Get reception stats","description":"Get reception stats for the dashboard","parameters":[{"name":"from","required":true,"in":"query","description":"Date de début de la période","schema":{"format":"date-time","example":"2025-01-01","type":"string"}},{"name":"to","required":true,"in":"query","description":"Date de fin de la période","schema":{"format":"date-time","example":"2025-12-31","type":"string"}},{"name":"userId","required":true,"in":"query","description":"ID de l'utilisateur","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/analyses":{"get":{"operationId":"StatsDashboardController_getStatsAnalyses","summary":"Get analyses stats","description":"Get analyses stats for the dashboard","parameters":[{"name":"from","required":true,"in":"query","description":"Date de début de la période","schema":{"format":"date-time","example":"2025-01-01","type":"string"}},{"name":"to","required":true,"in":"query","description":"Date de fin de la période","schema":{"format":"date-time","example":"2025-12-31","type":"string"}},{"name":"userId","required":true,"in":"query","description":"ID de l'utilisateur","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/rapports":{"get":{"operationId":"StatsDashboardController_getStatsRapports","summary":"Get rapports stats","description":"Get rapports stats for the dashboard","parameters":[{"name":"from","required":true,"in":"query","description":"Date de début de la période","schema":{"format":"date-time","example":"2025-01-01","type":"string"}},{"name":"to","required":true,"in":"query","description":"Date de fin de la période","schema":{"format":"date-time","example":"2025-12-31","type":"string"}},{"name":"userId","required":true,"in":"query","description":"ID de l'utilisateur","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/analyses-par-bordereau":{"get":{"operationId":"StatsDashboardController_getStatsAnalysesParBordereau","summary":"Get analyses par bordereau stats","description":"Get analyses par bordereau stats for the dashboard","parameters":[{"name":"from","required":true,"in":"query","description":"Date de début de la période","schema":{"format":"date-time","example":"2025-01-01","type":"string"}},{"name":"to","required":true,"in":"query","description":"Date de fin de la période","schema":{"format":"date-time","example":"2025-12-31","type":"string"}},{"name":"userId","required":true,"in":"query","description":"ID de l'utilisateur","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/proformas-not-factured":{"get":{"operationId":"StatsDashboardController_getProformasNotFactured","summary":"Get proformas not factured","description":"Get proformas not factured for the dashboard","parameters":[],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/proformas-not-factured-by-customer":{"get":{"operationId":"StatsDashboardController_getProformasNotFacturedByCustomer","summary":"Get proformas not factured by customer","description":"Get proformas not factured by customer for the dashboard","parameters":[],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/track-user-activity":{"get":{"operationId":"StatsDashboardController_trackUserActivity","summary":"Track user activity","description":"Track user activity for the dashboard","parameters":[{"name":"from","required":true,"in":"query","description":"Date de début de la période","schema":{"format":"date-time","example":"2025-01-01","type":"string"}},{"name":"to","required":true,"in":"query","description":"Date de fin de la période","schema":{"format":"date-time","example":"2025-12-31","type":"string"}},{"name":"userId","required":true,"in":"query","description":"ID de l'utilisateur","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/laboratory-stats/monthly":{"get":{"operationId":"StatsDashboardController_getMonthlyLaboratoryStats","summary":"Get monthly laboratory stats","description":"Get monthly laboratory stats for the dashboard","parameters":[{"name":"laboratoryId","required":true,"in":"query","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"startDate","required":false,"in":"query","description":"Date de début (ISO format)","schema":{"type":"string"}},{"name":"endDate","required":false,"in":"query","description":"Date de fin (ISO format)","schema":{"type":"string"}},{"name":"from","required":false,"in":"query","description":"Alias de startDate (ISO format)","schema":{"type":"string"}},{"name":"to","required":false,"in":"query","description":"Alias de endDate (ISO format)","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/laboratory-stats/multiple":{"get":{"operationId":"StatsDashboardController_getMultipleLaboratoryStats","summary":"Get multiple laboratory stats","description":"Get multiple laboratory stats for the dashboard","parameters":[{"name":"startDate","required":false,"in":"query","description":"Date de début (ISO format)","schema":{"type":"string"}},{"name":"endDate","required":false,"in":"query","description":"Date de fin (ISO format)","schema":{"type":"string"}},{"name":"from","required":false,"in":"query","description":"Alias de startDate (ISO format)","schema":{"type":"string"}},{"name":"to","required":false,"in":"query","description":"Alias de endDate (ISO format)","schema":{"type":"string"}},{"name":"laboratoryIds","required":true,"in":"query","description":"IDs des laboratoires séparés par des virgules","schema":{}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/laboratory-stats/aggregate":{"get":{"operationId":"StatsDashboardController_getAggregateStats","summary":"Get aggregate laboratory stats","description":"Get aggregate laboratory stats for the dashboard","parameters":[{"name":"startDate","required":false,"in":"query","description":"Date de début (ISO format)","schema":{"type":"string"}},{"name":"endDate","required":false,"in":"query","description":"Date de fin (ISO format)","schema":{"type":"string"}},{"name":"from","required":false,"in":"query","description":"Alias de startDate (ISO format)","schema":{"type":"string"}},{"name":"to","required":false,"in":"query","description":"Alias de endDate (ISO format)","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/stats-dashboard/laboratory-stats/export":{"get":{"operationId":"StatsDashboardController_exportToExcel","summary":"Export laboratory stats to Excel","description":"Export laboratory stats to Excel for the dashboard","parameters":[{"name":"startDate","required":true,"in":"query","description":"Date de début (ISO format)","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","description":"Date de fin (ISO format)","schema":{"type":"string"}},{"name":"laboratoryId","required":true,"in":"query","description":"ID du laboratoire (optionnel)","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Stats Dashboard"]}},"/api/v1/sdk/calendar/laboratories":{"get":{"operationId":"CalendarSdkController_getLaboratories","summary":"Lister les laboratoires du provider","parameters":[],"responses":{"200":{"description":""}},"tags":["SDK Calendar - Technician Workload"]}},"/api/v1/sdk/calendar/technicians/{laboratoryId}":{"get":{"operationId":"CalendarSdkController_getTechnicians","summary":"Lister les techniciens d'un laboratoire","parameters":[{"name":"laboratoryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Calendar - Technician Workload"]}},"/api/v1/sdk/calendar/events":{"get":{"operationId":"CalendarSdkController_getCalendarEvents","summary":"Récupérer les événements calendrier des analyses","description":"Retourne les analyses planifiées/en cours formatées pour FullCalendar, filtrable par labo, technicien, dates et statut.","parameters":[{"name":"from","required":false,"in":"query","description":"Date début (YYYY-MM-DD)","schema":{"format":"date-time","example":"2026-03-01","type":"string"}},{"name":"to","required":false,"in":"query","description":"Date fin (YYYY-MM-DD)","schema":{"format":"date-time","example":"2026-03-31","type":"string"}},{"name":"laboratoryId","required":false,"in":"query","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"technicianId","required":false,"in":"query","description":"userId du technicien","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","description":"Statuts séparés par virgule","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Calendar - Technician Workload"]}},"/api/v1/sdk/calendar/demande-groups/{laboratoryId}":{"get":{"operationId":"CalendarSdkController_getDemandeGroups","summary":"Récupérer les demandes groupées avec leurs analyses","description":"Retourne les labDemandeGroups d'un laboratoire avec les analyses associées, filtrable par dates et statut.","parameters":[{"name":"laboratoryId","required":true,"in":"path","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"from","required":false,"in":"query","description":"Date début (YYYY-MM-DD)","schema":{"format":"date-time","example":"2026-03-01","type":"string"}},{"name":"to","required":false,"in":"query","description":"Date fin (YYYY-MM-DD)","schema":{"format":"date-time","example":"2026-03-31","type":"string"}},{"name":"technicianId","required":false,"in":"query","description":"ID du technicien (userId)","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","description":"Statut des demandes (séparés par virgule)","schema":{"type":"string"}},{"name":"search","required":false,"in":"query","description":"Recherche textuelle","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Calendar - Technician Workload"]}},"/api/v1/sdk/calendar/workload":{"get":{"operationId":"CalendarSdkController_getWorkload","summary":"Charge de travail agrégée par technicien","description":"Retourne le nombre d'analyses par statut pour chaque technicien, filtrable par labo et période.","parameters":[{"name":"from","required":false,"in":"query","description":"Date début (YYYY-MM-DD)","schema":{"format":"date-time","example":"2026-03-01","type":"string"}},{"name":"to","required":false,"in":"query","description":"Date fin (YYYY-MM-DD)","schema":{"format":"date-time","example":"2026-03-31","type":"string"}},{"name":"laboratoryId","required":false,"in":"query","description":"ID du laboratoire","schema":{"type":"string"}},{"name":"technicianId","required":false,"in":"query","description":"ID du technicien (userId)","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","description":"Statut exécution (NOT_STARTED, IN_PROGRESS, COMPLETED)","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["SDK Calendar - Technician Workload"]}}},"info":{"title":"LIMS API","description":"Secure Laboratory Information Management System API","version":"1.0","contact":{}},"tags":[],"servers":[{"url":"https://dev.enval-laboratoire.com","description":"developpement"}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","in":"header"},"cookieAuth":{"type":"apiKey","in":"cookie","name":"accessToken"}},"schemas":{"OtpRequestDto":{"type":"object","properties":{"email":{"type":"string","example":"johndoe@example.com","description":"Email de l'utilisateur"}},"required":["email"]},"PasswordResetRequestDto":{"type":"object","properties":{"email":{"type":"string","example":"johndoe@example.com","description":"L'email de l'utilisateur pour envoyer le code de réinitialisation"},"frontendUrl":{"type":"string","example":"http://example.com/reset-password","description":"Lien de réinitialisation de mot de passe"}},"required":["email","frontendUrl"]},"PasswordResetDto":{"type":"object","properties":{"email":{"type":"string","example":"johndoe@gmail.com","description":"L'email de l'utilisateur pour réinitialiser le mot de passe"},"password":{"type":"string","example":"John@45!","description":"Le nouveau mot de passe à définir"}},"required":["email","password"]},"SignupDto":{"type":"object","properties":{"email":{"type":"string","example":"johndoe@example.com","description":"Email de l'utilisateur","default":"johndoe@example.com"},"password":{"type":"string","example":"John@45!","description":"Mot de passe de l'utilisateur","default":"John@45!"}},"required":["email","password"]},"UpdateUserDto":{"type":"object","properties":{"email":{"type":"string","example":"johndoe@example.com","description":"Le mail de l'utilisateur"},"phone":{"type":"string","example":"+225-07-07-07-07","description":"Téléphone de l'utilisateur","minLength":8},"firstname":{"type":"string","example":"John","description":"Le prénom de l'utilisateur"},"lastname":{"type":"string","example":"Doe","description":"Le nom de l'utilisateur"},"position":{"type":"string","example":"PDG","description":"Le poste occupé par l'utilisateur"},"country":{"type":"string","example":"Côte D'ivoire","description":"Le pays de l'utilisateur"},"personalAddress":{"type":"string","example":"Cocody","description":"L'adresse personnelle de l'utilisateur"},"companyName":{"type":"string","example":"Enval","description":"Le nom de la compagnie"},"companyAddress":{"type":"string","example":"Cocody","description":"L'adresse de la compagnie"},"companyWebsite":{"type":"string","example":"www.company.com","description":"Le site web de la compagnie"},"companyEmail":{"type":"string","example":"company@gmail.com","description":"L'email de la compagnie"},"companyCountry":{"type":"string","example":"CIV","description":"Le pays de la compagnie"},"companyPostalCode":{"type":"string","example":"01","description":"Le code postal de la compagnie"},"companyPhone":{"type":"string","example":"+225-07-07-07-07","description":"Le téléphone de la compagnie"},"companyCity":{"type":"string","example":"Cocody","description":"La ville de la compagnie"},"lang":{"type":"string","example":"fr","description":"La langue de l'utilisateur"},"avatar":{"type":"file","description":"L'avatar de l'utilisateur","format":"binary","maxLength":2097152}},"required":["email","firstname","lastname","position","country","companyName","companyAddress","companyEmail"]},"SignInDto":{"type":"object","properties":{"email":{"type":"string","example":"johndoe@example.com","default":"johndoe@example.com"},"password":{"type":"string","example":"John@45!","default":"John@45!"}},"required":["email","password"]},"TrackPageVisitDto":{"type":"object","properties":{"pagePath":{"type":"string","description":"Chemin de la page visitée","example":"/dashboard"},"pageTitle":{"type":"string","description":"Titre de la page","example":"Tableau de bord"},"referrer":{"type":"string","description":"URL de référence"},"sessionId":{"type":"string","description":"ID de session"},"duration":{"type":"number","description":"Durée de visite en secondes"},"metadata":{"type":"object","description":"Métadonnées additionnelles"}},"required":["pagePath"]},"TrackDownloadDto":{"type":"object","properties":{"resourceType":{"type":"string","description":"Type de ressource","enum":["RAPPORT","BORDEREAU","PROFORMA","FACTURE"]},"resourceId":{"type":"string","description":"ID de la ressource"},"resourceRef":{"type":"string","description":"Référence du document"},"fileName":{"type":"string","description":"Nom du fichier"},"fileSize":{"type":"number","description":"Taille du fichier en bytes"},"sessionId":{"type":"string","description":"ID de session"},"status":{"type":"string","description":"Statut du téléchargement","enum":["SUCCESS","FAILED","PARTIAL","CANCELLED"]},"errorMsg":{"type":"string","description":"Message d'erreur si échec"},"metadata":{"type":"object","description":"Métadonnées additionnelles"}},"required":["resourceType","resourceId"]},"UpdateProfileDto":{"type":"object","properties":{"phone":{"type":"string","description":"Le numéro de téléphone de l'utilisateur","example":"0123456789"},"email":{"type":"string","description":"L'email de l'utilisateur","example":"jdsjk@gmail.com"},"firstname":{"type":"string","description":"Le prénom de l'utilisateur","example":"Kouassi"},"lastname":{"type":"string","description":"Le nom de l'utilisateur","example":"Doe"},"position":{"type":"string","description":"La position de l'utilisateur","example":"Developpeur"},"country":{"type":"string","description":"Le pays de la compagnie","example":"Cote d'Ivoire"},"avatar":{"type":"string","description":"La photo de l'utilisateur","example":"https://example.com/photo.jpg"},"signature":{"type":"string","description":"L'adresse de l'utilisateur","example":"Cocody"},"pronouns":{"type":"string","description":"Le genre de l'utilisateur","example":"M"},"birthdate":{"format":"date-time","type":"string","description":"La date de naissance de l'utilisateur","example":"2021-09-21"},"secondaryEmail":{"type":"string","description":"Le nom de la compagnie de l'utilisateur","example":"Company"},"secondaryPhone":{"type":"string","description":"Le téléphone de la compagnie de l'utilisateur","example":"0123456789"},"lockScreenEnabled":{"type":"boolean","description":"Le verrouillage de l'écran de l'utilisateur","example":true},"lockScreenTime":{"type":"number","description":"Le temps de verrouillage de l'écran de l'utilisateur","example":600000}},"required":["phone","firstname","lastname","position","country"]},"ChangePasswordDto":{"type":"object","properties":{"oldPassword":{"type":"string","description":"Mot de passe actuel","example":"password123","title":"Mot de passe actuel"}},"required":["oldPassword"]},"ChangeEmailDto":{"type":"object","properties":{"password":{"type":"string","description":"Mot de passe actuel","example":"password123","title":"Mot de passe actuel"},"newEmail":{"type":"string","description":"Nouvel email","example":"john@gamil.com","title":"Nouvel email"}},"required":["password","newEmail"]},"CreateLaboratoryDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du laboratoire","example":"Labwlcka"},"description":{"type":"string","description":"Description du laboratoire","example":"Dolor velit sapiente ex temporibus excepturi vel hic aspernatur quam."},"status":{"type":"object","format":"string","default":"ACTIVE","description":"Statut du laboratoire","example":"ACTIVE"},"logo":{"type":"file","description":"Photo du laboratoire","format":"binary"}},"required":["name"]},"UpdateLaboratoryDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du laboratoire","example":"Labwlcka"},"description":{"type":"string","description":"Description du laboratoire","example":"Dolor velit sapiente ex temporibus excepturi vel hic aspernatur quam."},"status":{"type":"object","format":"string","default":"ACTIVE","description":"Statut du laboratoire","example":"ACTIVE"},"logo":{"type":"file","description":"Photo du laboratoire","format":"binary"},"id":{"type":"string","description":"id du laboratoire","example":"d290f1ee-6c54-4b01-90e6-d701748f0851"}},"required":["id"]},"CreateCertificateGroupDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du groupe de certificats","example":"Groupe Aflatoxines"},"description":{"type":"string","description":"Description du groupe de certificats","example":"Groupe regroupant tous les paramètres liés aux aflatoxines"},"parameterIds":{"description":"Liste des IDs des paramètres à associer","example":["param-id-1","param-id-2"],"type":"array","items":{"type":"string"}},"laboratoryId":{"type":"string","description":"ID du laboratoire (optionnel)","example":"d290f1ee-6c54-4b01-90e6-d701748f0851"}},"required":["name"]},"UpdateCertificateGroupDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du groupe de certificats","example":"Groupe Aflatoxines"},"description":{"type":"string","description":"Description du groupe de certificats","example":"Groupe regroupant tous les paramètres liés aux aflatoxines"},"parameterIds":{"description":"Liste des IDs des paramètres à associer","example":["param-id-1","param-id-2"],"type":"array","items":{"type":"string"}},"laboratoryId":{"type":"string","description":"ID du laboratoire (optionnel)","example":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"id":{"type":"string","description":"ID du groupe de certificats","example":"d290f1ee-6c54-4b01-90e6-d701748f0851"}},"required":["id"]},"CreateMatrixDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom de la matrice","example":"Matrice 1","default":"Mat-130"},"description":{"type":"string","description":"Description de la matrice","example":"Odio facilis officia illum quos tenetur optio maxime unde magni."},"laboratoryId":{"type":"string","description":"Identifiant du laboratoire","example":"r4f5d-4f5d-4f5d-4f5d"}},"required":["name","laboratoryId"]},"UpdateMatrixDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom de la matrice","example":"Matrice 1","default":"Mat-130"},"description":{"type":"string","description":"Description de la matrice","example":"Odio facilis officia illum quos tenetur optio maxime unde magni."},"laboratoryId":{"type":"string","description":"Identifiant du laboratoire","example":"r4f5d-4f5d-4f5d-4f5d"},"id":{"type":"string","description":"Identifiant de la matrice","example":"dsf4-4f5d-4f5d-4f5d"}},"required":["id"]},"BulKDeleteBody":{"type":"object","properties":{"ids":{"type":"array","example":["tss-4f5d-4f5d-4f5d","tss-4f5d-4f5d-4f5d"],"description":"Liste des ids des éléments à supprimer"}}},"MergeMatricesDto":{"type":"object","properties":{"matrixIds":{"description":"Liste des identifiants des matrices à fusionner","example":["matrix-id-1","matrix-id-2","matrix-id-3"],"type":"array","items":{"type":"string"}},"newMatrixName":{"type":"string","description":"Nom de la nouvelle matrice","example":"Aliments"},"newMatrixDescription":{"type":"string","description":"Description de la nouvelle matrice","example":"Matrice regroupant tous les types d'aliments"}},"required":["matrixIds","newMatrixName"]},"CreateParameterDto":{"type":"object","properties":{"name":{"type":"string","description":"Le nom du parametre","default":"Param1"},"description":{"type":"string","description":"La description du parametre","default":"Param1 description"},"isAccredited":{"type":"boolean","description":"Le paramètre est il accredité","default":false},"unitMeasure":{"type":"string","description":"L'unité de mesure du parametre","default":"Kg"},"price":{"type":"integer","description":"Le prix du parametre","default":5000},"laboratoryId":{"type":"string","description":"L'id du laboratoire","default":"uuiiiiiiiid-shdds"},"isNew":{"type":"boolean","description":"Est ce une nouvelle matrice","default":true},"matriceId":{"type":"string","description":"L'id  de la matrice si elle existe deja","default":"uiuid"},"newMatriceName":{"type":"string","description":"Le nom de la nouvelle matrice si elle n'existe pas","default":"New mat"},"norme":{"type":"string","description":"La norme du parametre","default":"Iso"},"displayStyle":{"type":"string","description":"Mode d'affichage du paramètre sur le rapport final","enum":["NORMAL","ITALIC","NORMAL_BOLD","ITALIC_BOLD","UNDERLINE","UNDERLINE_BOLD","UNDERLINE_ITALIC","UNDERLINE_ITALIC_BOLD"],"default":"NORMAL"}},"required":["name","isAccredited","price","laboratoryId","isNew"]},"UpdateParameterDto":{"type":"object","properties":{"name":{"type":"string","description":"Le nom du parametre","default":"Param1"},"description":{"type":"string","description":"La description du parametre","default":"Param1 description"},"isAccredited":{"type":"boolean","description":"Le paramètre est il accredité","default":false},"unitMeasure":{"type":"string","description":"L'unité de mesure du parametre","default":"Kg"},"price":{"type":"integer","description":"Le prix du parametre","default":5000},"laboratoryId":{"type":"string","description":"L'id du laboratoire","default":"uuiiiiiiiid-shdds"},"isNew":{"type":"boolean","description":"Est ce une nouvelle matrice","default":true},"matriceId":{"type":"string","description":"L'id  de la matrice si elle existe deja","default":"uiuid"},"newMatriceName":{"type":"string","description":"Le nom de la nouvelle matrice si elle n'existe pas","default":"New mat"},"norme":{"type":"string","description":"La norme du parametre","default":"Iso"},"displayStyle":{"type":"string","description":"Mode d'affichage du paramètre sur le rapport final","enum":["NORMAL","ITALIC","NORMAL_BOLD","ITALIC_BOLD","UNDERLINE","UNDERLINE_BOLD","UNDERLINE_ITALIC","UNDERLINE_ITALIC_BOLD"],"default":"NORMAL"},"id":{"type":"string","description":"Identifiant du paramètre","example":"dsf4-4f5d-4f5d-4f5d"}},"required":["id"]},"CreateAuditLogDto":{"type":"object","properties":{}},"CreateProformaDto":{"type":"object","properties":{"reference":{"type":"string","example":"PRO-2021-0001","description":"La référence de la proforma: Elle sera generée automatiquement même si elle est fournie"},"libelle":{"type":"string","example":"Facture de prestation de service","description":"Le libellé de la proforma"},"status":{"type":"string","default":"EN_ATTENTE","description":"Le status de la proforma","example":"EN_ATTENTE"},"customerType":{"type":"string","default":"INDIVIDUAL","description":"Le type de client","example":"INDIVIDUAL"},"customerId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du client","example":"lsd-4f5d-4f5d-4f5d"},"companyId":{"type":"string","default":"ds-4f5d-4f5d-4f5d","description":"L'identifiant de l'entreprise cliente","example":"ds-4f5d-4f5d-4f5d","validateIf":["customerType","COMPANY"]},"items":{"description":"Les types d'analyses de la proforma","items":{"type":"array"},"type":"array"},"additionalCosts":{"description":"Les coûts additionnels de la proforma","items":{"type":"array"},"type":"array"},"totalFraixAnnexes":{"type":"decimal","description":"Le montant total des coûts additionnels","example":100},"tvaMontant":{"type":"decimal","description":"Le montant total de la TVA","example":100},"tvaPercentage":{"type":"decimal","description":"Le pourcentage de la TVA","example":18},"isTvaApplicable":{"type":"boolean","description":"La TVA est-elle applicable?","example":true},"remise":{"type":"decimal","description":"Le pourcentage de la remise","example":100},"remiseMontant":{"type":"decimal","description":"Le montant de la remise","example":100},"netCommercial":{"type":"decimal","description":"Le montant net commercial","example":100},"montantTotal":{"type":"decimal","description":"Montant total des items de  la proforma","example":100},"totalHT":{"type":"decimal","description":"Le montant total HT","example":100},"netAPayer":{"type":"decimal","description":"Le montant total TTC","example":100},"expirationDate":{"type":"date","description":"La date d'expiration de la proforma","example":"2021-01-01 00:00:00"},"interlocuteurName":{"type":"string","description":"Le nom de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"interlocuteurPhone":{"type":"string","description":"Le téléphone de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"interlocuteurEmail":{"type":"string","description":"L'email de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"proformaDraftId":{"type":"string","description":"L'identifiant de la proforma draft du client (si la proforma provient d'un draft)","example":"lsd-4f5d-4f5d-4f5d"},"isAuthorizedToMeasureUncertainties":{"type":"boolean","description":"Est-ce que la proforma doit être validée après sa création?","example":false},"viewersIds":{"description":"Ids des utilisateurs qui peuvent voir la proforma","example":["lsd-4f5d-4f5d-4f5d","lsd-4f5d-4f5d-4f5d"],"type":"array","items":{"type":"array"}}},"required":["reference","libelle","status","customerType","companyId"]},"CreateProformaFromContractDto":{"type":"object","properties":{"libelle":{"type":"string","example":"Facture de prestation de service","description":"Le libellé de la proforma"},"contractId":{"type":"string","example":"lds-4f5d-4f5d-4f5d","description":"L'identifiant du contrat"},"items":{"description":"Les types d'analyses de la proforma","example":[{"contractItemId":"lds-4f5d-4f5d-4f5d","intitule":"Analyse A","nbrEchantillons":5}],"type":"array","items":{"type":"array"}},"additionalCosts":{"description":"Les coûts additionnels de la proforma","example":[{"libelle":"Transport","description":"Transport de marchandise","quantite":1,"unitPrice":100,"total":100}],"type":"array","items":{"type":"array"}},"totalFraixAnnexes":{"type":"decimal","description":"Le montant total des coûts additionnels","example":100},"tvaMontant":{"type":"decimal","description":"Le montant total de la TVA","example":100},"tvaPercentage":{"type":"decimal","description":"Le pourcentage de la TVA","example":18},"isTvaApplicable":{"type":"boolean","description":"La TVA est-elle applicable?","example":true},"remise":{"type":"decimal","description":"Le pourcentage de la remise","example":100},"remiseMontant":{"type":"decimal","description":"Le montant de la remise","example":100},"netCommercial":{"type":"decimal","description":"Le montant net commercial","example":100},"montantTotal":{"type":"decimal","description":"Montant total des items de  la proforma","example":100},"totalHT":{"type":"decimal","description":"Le montant total HT","example":100},"netAPayer":{"type":"decimal","description":"Le montant total TTC","example":100},"expirationDate":{"type":"date","description":"La date d'expiration de la proforma","example":"2021-01-01 00:00:00"},"interlocuteurName":{"type":"string","description":"Le nom de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"interlocuteurPhone":{"type":"string","description":"Le téléphone de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"interlocuteurEmail":{"type":"string","description":"L'email de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"validateAfterCreation":{"type":"boolean","description":"Est-ce que la proforma doit être validée après sa création?","example":false},"isAuthorizedToMeasureUncertainties":{"type":"boolean","description":"Est-ce que la proforma doit être validée après sa création?","example":false},"viewersIds":{"description":"Ids des utilisateurs qui peuvent voir la proforma","example":["lsd-4f5d-4f5d-4f5d","lsd-4f5d-4f5d-4f5d"],"type":"array","items":{"type":"array"}}},"required":["libelle","contractId"]},"CreateProformaItemsDto":{"type":"object","properties":{"intitule":{"type":"string","default":"un libellé","description":"L'intitulé du paramètre"},"nbrEchantillons":{"type":"number","example":1,"description":"La quantité d'échantillon","default":1},"proformaId":{"type":"string","description":"L'identifiant de la proforma","example":"lsd-4f5d-4f5d-4f5d"},"subTotal":{"type":"number","example":5000,"description":"Le montant total de l'analyse"},"proformaItemAnalyses":{"type":"object","description":"Les analyses de l'item de la proforma","example":[{"laboratoryId":"a094d2e5-a9e6-44e0-914e-ee8dbe8227dd","parameterId":"e1a60c2c-f112-41e0-a309-3ec8b44dc0f3","parameterNormId":"bf835b2f-f8a7-4116-b859-c19e12c87ad1"},{"laboratoryId":"c315da26-ceb7-422a-a55c-2289b3979271","parameterId":"3e55b4c5-fb70-4b20-9ae8-4a4f2c7d69bd","parameterNormId":"311c5e88-3474-450b-aadf-8736ccaa43b5"}]}},"required":["nbrEchantillons","subTotal"]},"CreateProformaItemAnalyseDto":{"type":"object","properties":{"proformaId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de la proforma","example":"lsd-4f5d-4f5d-4f5d"},"proformaItemId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de l'item de la proforma","example":"lsd-4f5d-4f5d-4f5d"},"laboratoryId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du laboratoire","example":"lsd-4f5d-4f5d-4f5d"},"parameterId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du paramètre","example":"lsd-4f5d-4f5d-4f5d"},"parameterNormId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"La norme du paramètre","example":"lsd-4f5d-4f5d-4f5d"},"normeName":{"type":"string","default":"ISO 564","description":"Le nom de la norme","example":"ISO 87"},"parameterPrice":{"type":"number","default":"ISO 564","description":"Le prix du parametere","example":"ISO 87"}},"required":["laboratoryId","parameterId","normeName","parameterPrice"]},"CreateAdditionalCostDto":{"type":"object","properties":{"libelle":{"type":"string","default":"Transport","description":"Le nom du coût additionnel","example":"Transport"},"description":{"type":"string","default":"Transport de marchandise","description":"La description du coût additionnel","example":"Transport de marchandise"},"quantite":{"type":"number","default":1,"description":"La quantité du coût additionnel","example":1},"pu":{"type":"decimal","default":100,"description":"Le prix unitaire du coût additionnel","example":100},"isValid":{"type":"boolean","default":true,"description":"La validité du coût additionnel","example":true},"total":{"type":"decimal","default":100,"description":"Le total du coût additionnel","example":100},"proformaId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de la proforma","example":"lsd-4f5d-4f5d-4f5d"}},"required":["libelle","quantite","pu","total","proformaId"]},"UpdateProformaDto":{"type":"object","properties":{"reference":{"type":"string","example":"PRO-2021-0001","description":"La référence de la proforma: Elle sera generée automatiquement même si elle est fournie"},"libelle":{"type":"string","example":"Facture de prestation de service","description":"Le libellé de la proforma"},"status":{"type":"string","default":"EN_ATTENTE","description":"Le status de la proforma","example":"EN_ATTENTE"},"customerType":{"type":"string","default":"INDIVIDUAL","description":"Le type de client","example":"INDIVIDUAL"},"customerId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du client","example":"lsd-4f5d-4f5d-4f5d"},"companyId":{"type":"string","default":"ds-4f5d-4f5d-4f5d","description":"L'identifiant de l'entreprise cliente","example":"ds-4f5d-4f5d-4f5d","validateIf":["customerType","COMPANY"]},"items":{"description":"Les types d'analyses de la proforma","items":{"type":"array"},"type":"array"},"additionalCosts":{"description":"Les coûts additionnels de la proforma","items":{"type":"array"},"type":"array"},"totalFraixAnnexes":{"type":"decimal","description":"Le montant total des coûts additionnels","example":100},"tvaMontant":{"type":"decimal","description":"Le montant total de la TVA","example":100},"tvaPercentage":{"type":"decimal","description":"Le pourcentage de la TVA","example":18},"isTvaApplicable":{"type":"boolean","description":"La TVA est-elle applicable?","example":true},"remise":{"type":"decimal","description":"Le pourcentage de la remise","example":100},"remiseMontant":{"type":"decimal","description":"Le montant de la remise","example":100},"netCommercial":{"type":"decimal","description":"Le montant net commercial","example":100},"montantTotal":{"type":"decimal","description":"Montant total des items de  la proforma","example":100},"totalHT":{"type":"decimal","description":"Le montant total HT","example":100},"netAPayer":{"type":"decimal","description":"Le montant total TTC","example":100},"expirationDate":{"type":"date","description":"La date d'expiration de la proforma","example":"2021-01-01 00:00:00"},"interlocuteurName":{"type":"string","description":"Le nom de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"interlocuteurPhone":{"type":"string","description":"Le téléphone de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"interlocuteurEmail":{"type":"string","description":"L'email de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"proformaDraftId":{"type":"string","description":"L'identifiant de la proforma draft du client (si la proforma provient d'un draft)","example":"lsd-4f5d-4f5d-4f5d"},"isAuthorizedToMeasureUncertainties":{"type":"boolean","description":"Est-ce que la proforma doit être validée après sa création?","example":false},"viewersIds":{"description":"Ids des utilisateurs qui peuvent voir la proforma","example":["lsd-4f5d-4f5d-4f5d","lsd-4f5d-4f5d-4f5d"],"type":"array","items":{"type":"array"}},"id":{"type":"string","example":"sdf4-4f5d-4f5d-4f5d","description":"L'identifiant de la proforma"}},"required":["id"]},"UpdateProformaItemAnalyseDto":{"type":"object","properties":{"proformaId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de la proforma","example":"lsd-4f5d-4f5d-4f5d"},"proformaItemId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de l'item de la proforma","example":"lsd-4f5d-4f5d-4f5d"},"laboratoryId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du laboratoire","example":"lsd-4f5d-4f5d-4f5d"},"parameterId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du paramètre","example":"lsd-4f5d-4f5d-4f5d"},"parameterNormId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"La norme du paramètre","example":"lsd-4f5d-4f5d-4f5d"},"normeName":{"type":"string","default":"ISO 564","description":"Le nom de la norme","example":"ISO 87"},"parameterPrice":{"type":"number","default":"ISO 564","description":"Le prix du parametere","example":"ISO 87"},"id":{"type":"string","example":"lds-4f5d-4f5d-4f5d","description":"L'identifiant de l'élément de la proforma"}},"required":["id"]},"UpdateItemInfoDto":{"type":"object","properties":{"id":{"type":"string","example":"lds-4f5d-4f5d-4f5d","description":"L'identifiant de l'élément de l'item"},"intitule":{"type":"string","example":"Analyse 1","description":"L'intitulé de l'analyse"},"nbEchantillons":{"type":"number","example":4,"description":"Le nombre d'echantillons"}},"required":["id","intitule","nbEchantillons"]},"StatusProformaDto":{"type":"object","properties":{"status":{"type":"string","default":"EN_ATTENTE","description":"Le status de la proforma","example":"EN_ATTENTE"}},"required":["status"]},"MarkProformaAsPaidDto":{"type":"object","properties":{"invoiceNumber":{"type":"string","description":"Numéro de facture","example":"FAC-2026-0042"},"invoiceDate":{"type":"string","description":"Date de facturation","example":"2026-04-10"},"paymentDate":{"type":"string","description":"Date de paiement","example":"2026-04-10"},"paidDate":{"type":"string","description":"Ancien champ de date de paiement (compatibilité)","example":"2026-04-10"},"paidMethod":{"type":"string","description":"La méthode de paiement","example":"CASH"},"paidAmount":{"type":"number","description":"Montant effectivement payé (snapshot de paiement)","example":125000},"note":{"type":"string","description":"La note","example":"Note de paiement"}},"required":["invoiceNumber","invoiceDate","paymentDate","paidMethod"]},"UpdateFacturationAdvDto":{"type":"object","properties":{"factureFile":{"type":"string","description":"Le fichier de l'avis de crédit"},"referenceFacture":{"type":"string","description":"La référence de la facture"},"facturationDate":{"type":"date","description":"La date de facturation"},"recouvrementDate":{"type":"date","description":"La date de recouvrement"},"delai":{"type":"date","description":"Le delai de recouvrement"}}},"CreateFactureDto":{"type":"object","properties":{"referenceFacture":{"type":"string","description":"Référence de la facture","example":"FAC-2025-0001"},"escompte":{"type":"decimal","description":"Escompte en pourcentage","example":"0"},"acompte":{"type":"decimal","description":"Acompte déjà versé","example":"0"},"dateFacturation":{"type":"date","description":"Date de facturation","example":"2025-08-05"},"dateEcheance":{"type":"date","description":"Date d'échéance","example":"2025-08-05"},"proformaId":{"type":"string","description":"ID du proforma (obligatoire pour l'extraction automatique des données)","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["proformaId"]},"CreateFactureFromProformasDto":{"type":"object","properties":{"libelle":{"type":"string","description":"Libellé de la facture","example":"Facture pour contrat XYZ"},"referenceFacture":{"type":"string","description":"Référence de la facture","example":"FAC-2025-0001"},"escompte":{"type":"decimal","description":"Escompte en pourcentage","example":"0"},"acompte":{"type":"decimal","description":"Acompte déjà versé","example":"0"},"netAPayer":{"type":"decimal","description":"Montant net à payer","example":"1000.00"},"tauxTaxe":{"type":"decimal","description":"Taux de taxe en montant","example":"20"},"dateFacturation":{"type":"date","description":"Date de facturation","example":"2025-08-05"},"dateEcheance":{"type":"date","description":"Date d'échéance","example":"2025-08-05"},"proformaIds":{"description":"IDs des proformas à inclure dans la facture","example":["123e4567-e89b-12d3-a456-426614174000"],"type":"array","items":{"type":"string"}}},"required":["netAPayer","proformaIds"]},"UpdateFactureDto":{"type":"object","properties":{"dateRecouvrement":{"format":"date-time","type":"string","description":"Date de recouvrement de la facture"},"referenceFacture":{"type":"string","description":"Référence de la facture"}},"required":["dateRecouvrement","referenceFacture"]},"CreateFacturationAddressDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du client","example":"Jean Dupont"},"telephone":{"type":"string","description":"Téléphone du client","example":"+22890123456"},"address":{"type":"string","description":"Adresse de facturation","example":"123 rue de la République, 10 BP 1234, Lomé, Togo"},"compteClient":{"type":"string","description":"Numéro de compte client","example":"CLI12345"},"email":{"type":"string","description":"Email de contact","example":"client@example.com"},"isDefault":{"type":"boolean","description":"Est-ce l'adresse par défaut?","default":false},"customerType":{"type":"string","description":"Type de client","enum":["INDIVIDUAL","COMPANY"],"default":"INDIVIDUAL"},"customerId":{"type":"string","description":"ID du client individuel","example":"123e4567-e89b-12d3-a456-426614174000"},"companyId":{"type":"string","description":"ID de l'entreprise cliente","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["name","address","isDefault","customerType"]},"UpdateFacturationAddressDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du client","example":"Jean Dupont"},"telephone":{"type":"string","description":"Téléphone du client","example":"+22890123456"},"address":{"type":"string","description":"Adresse de facturation","example":"123 rue de la République, 10 BP 1234, Lomé, Togo"},"compteClient":{"type":"string","description":"Numéro de compte client","example":"CLI12345"},"email":{"type":"string","description":"Email de contact","example":"client@example.com"},"isDefault":{"type":"boolean","description":"Est-ce l'adresse par défaut?","default":false},"customerType":{"type":"string","description":"Type de client","enum":["INDIVIDUAL","COMPANY"],"default":"INDIVIDUAL"},"customerId":{"type":"string","description":"ID du client individuel","example":"123e4567-e89b-12d3-a456-426614174000"},"companyId":{"type":"string","description":"ID de l'entreprise cliente","example":"123e4567-e89b-12d3-a456-426614174000"}}},"FinancialDashboardResponseDto":{"type":"object","properties":{"totalRevenue":{"type":"number","description":"Chiffre d'affaires total"},"revenueGrowth":{"type":"number","description":"Taux de croissance (%)"},"topClients":{"description":"Top clients","type":"array","items":{"type":"object"}},"topLabs":{"description":"Top laboratoires","type":"array","items":{"type":"object"}},"monthlyTrends":{"description":"Tendances mensuelles","type":"array","items":{"type":"object"}}},"required":["totalRevenue","revenueGrowth","topClients","topLabs","monthlyTrends"]},"UpdateServiceProviderDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du fournisseur de service","example":"Fournisseur de service 1","default":"Fournisseur de service 1"},"address":{"type":"string","description":"Adresse du fournisseur de service","example":"123 rue de la paix, 75000 Paris","default":"123 rue de la paix, 75000 Paris"},"logo":{"type":"file","description":"Logo du fournisseur de service","format":"binary"},"serviceCountry":{"type":"string","description":"Pays du fournisseur de service","example":"CIV","default":"CIV"},"serviceEmail":{"type":"string","description":"Email du fournisseur de service","example":"service@mail.com","default":"service@mail.com"},"servicePhone":{"type":"string","description":"Téléphone du fournisseur de service","example":"0123456789","default":"0123456789"},"serviceWebstie":{"type":"string","description":"Site web du fournisseur de service","example":"https://service.com","default":"https://service.com"},"nbEmployees":{"type":"string","description":"Nombre d'employés du fournisseur de service","example":"10-20"},"serviceCity":{"type":"string","description":"Ville du fournisseur de service","example":"Abidjan","default":"Abidjan"},"servicePostalCode":{"type":"string","description":"Code postal du fournisseur de service","example":"75000","default":"75000"},"serviceWebsite":{"type":"string","description":"Site web du fournisseur de service","example":"https://service.com","default":"https://service.com"},"logoPublicId":{"type":"string","description":"Public ID du logo du fournisseur de service","example":"logo-123456","default":"logo-123456"},"isoCode":{"type":"string","description":"Code ISO du fournisseur de service","example":"CIV","default":"CIV"},"id":{"type":"string","description":"L'identifiant du fournisseur de service","example":"dsui-4f5d-4f5d-4f5d"},"createdAt":{"format":"date-time","type":"string","description":"La date de création du fournisseur de service","example":"2026-04-13T10:34:46.698Z","default":"2026-04-13T10:34:46.698Z"},"updatedAt":{"format":"date-time","type":"string","description":"La date de mise à jour du fournisseur de service","example":"2026-04-13T10:34:46.698Z","default":"2026-04-13T10:34:46.698Z"}},"required":["id"]},"CreateProviderUserDto":{"type":"object","properties":{"email":{"type":"string","example":"subuser1@gmail.com","description":"Email de l'utilisateur"},"phone":{"type":"string","example":"+225-07-07-07-07","description":"Téléphone de l'utilisateur","nullable":true},"firstname":{"type":"string","example":"Tonde","description":"Nom d'utilisateur","minLength":3,"maxLength":50},"lastname":{"type":"string","example":"Souleymane","description":"Prénom d'utilisateur","minLength":3},"position":{"type":"string","example":"Dev","description":"Poste de l'utilisateur","nullable":true},"country":{"type":"string","example":"CIV","description":"Pays de l'utilisateur","nullable":true},"lang":{"type":"string","example":"fr","description":"Langue de l'utilisateur","nullable":true},"avatar":{"type":"file","description":"Avatar de l'utilisateur","format":"binary"},"role":{"type":"string","enum":["PROVIDER_ADMIN","PROVIDER_COMMERCIAL","PROVIDER_COMPTABLE"],"description":"Rôle de l'utilisateur","default":"PROVIDER_COMMERCIAL"}},"required":["email","firstname","lastname","role"]},"FileDto":{"type":"object","properties":{"file":{"type":"file","description":"Fichier contenants le/less donnée/s à importer","format":"binary"}},"required":["file"]},"CreateCustomerCompanyDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du client","example":"Fournisseur de company 1","default":"Fournisseur de company 1"},"address":{"type":"string","description":"Adresse du client","example":"123 rue de la paix, 75000 Paris","default":"123 rue de la paix, 75000 Paris"},"logo":{"type":"file","description":"Logo du client","example":"logo.png","format":"binary"},"companyEmail":{"type":"string","description":"Email du client","example":"company@mail.com","default":"company@mail.com"},"companyPhone":{"type":"string","title":"phone","description":"Le numéro de teléphone de l’entreprise","example":"+225 01 23 45 67","default":"+225 01 23 45 67","pattern":"^\\+?[0-9 ]+$"},"companyWebsite":{"type":"string","description":"Site web du client","example":"https://company.com","default":"https://company.com"},"nbEmployees":{"type":"string","description":"Nombre d'employés du fournisseur de company","example":"10-20"},"companyCountry":{"type":"string","description":"Pays du fournisseur de company","example":"CIV","default":"CIV"},"isActive":{"type":"boolean","description":"Le compte du client est-il actif ?","example":true,"default":true},"hasContract":{"type":"string","description":"Est-ce que le client a un contrat ?","example":"true","default":"false","enum":["true","false"]},"unPaidAmountLimit":{"type":"number","title":"unPaidAmountLimit","description":"Le montant maximum impayé autorisé pour les cotations de  l'entreprise","example":1000,"default":1000}},"required":["name"]},"UpdateCustomerCompanyDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du client","example":"Fournisseur de company 1","default":"Fournisseur de company 1"},"address":{"type":"string","description":"Adresse du client","example":"123 rue de la paix, 75000 Paris","default":"123 rue de la paix, 75000 Paris"},"logo":{"type":"file","description":"Logo du client","example":"logo.png","format":"binary"},"companyEmail":{"type":"string","description":"Email du client","example":"company@mail.com","default":"company@mail.com"},"companyPhone":{"type":"string","title":"phone","description":"Le numéro de teléphone de l’entreprise","example":"+225 01 23 45 67","default":"+225 01 23 45 67","pattern":"^\\+?[0-9 ]+$"},"companyWebsite":{"type":"string","description":"Site web du client","example":"https://company.com","default":"https://company.com"},"nbEmployees":{"type":"string","description":"Nombre d'employés du fournisseur de company","example":"10-20"},"companyCountry":{"type":"string","description":"Pays du fournisseur de company","example":"CIV","default":"CIV"},"isActive":{"type":"boolean","description":"Le compte du client est-il actif ?","example":true,"default":true},"hasContract":{"type":"string","description":"Est-ce que le client a un contrat ?","example":"true","default":"false","enum":["true","false"]},"unPaidAmountLimit":{"type":"number","title":"unPaidAmountLimit","description":"Le montant maximum impayé autorisé pour les cotations de  l'entreprise","example":1000,"default":1000},"id":{"type":"string","description":"L'identifiant de l'entreprise du client","example":"lsdi-4f5d-4f5d-4f5d"},"createdAt":{"format":"date-time","type":"string","description":"La date de création de l'entreprise du client","example":"2026-04-13T10:34:46.705Z","default":"2026-04-13T10:34:46.705Z"},"updatedAt":{"format":"date-time","type":"string","description":"La date de mise à jour de l entreprise du client","example":"2026-04-13T10:34:46.705Z","default":"2026-04-13T10:34:46.705Z"}},"required":["id"]},"CreateProviderCustomerDto":{"type":"object","properties":{"email":{"type":"string","example":"subuser1@gmail.com","description":"Email de client"},"phone":{"type":"string","example":"+225-07-07-07-07","description":"Téléphone de client","nullable":true},"firstname":{"type":"string","example":"Tonde","description":"Nom de client","minLength":1,"maxLength":50},"lastname":{"type":"string","example":"Souleymane","description":"Prénom de client","minLength":1},"position":{"type":"string","example":"Dev","description":"Poste de client","nullable":true},"country":{"type":"string","example":"CIV","description":"Pays de client","nullable":true},"lang":{"type":"string","example":"fr","description":"Langue de client","nullable":true},"type":{"type":"string","example":"COMPANY","enum":["INDIVIDUAL","COMPANY"],"description":"Type du client"},"companyId":{"type":"string","description":"L'identifiant de la société, au cas où elle existe déjà, on n'a plus besoin de donner name et address","example":"dsf4-4f5d-4f5d-4f5d"},"companyName":{"type":"string","description":"Nom de la société","example":"Société","minLength":3,"maxLength":100},"companyAddress":{"type":"string","description":"Adresse de la société","example":"123 rue de la paix, 75000 Paris","minLength":3,"maxLength":100},"companyEmail":{"type":"string","description":"L'email de la société","example":"compa@gmail.com"},"companyCountry":{"type":"string","description":"Pays de la société","example":"CIV"},"companyWebsite":{"type":"string","description":"Site web de la société","example":"www.company.com"},"companyPhone":{"type":"string","description":"Téléphone de la société","example":"+225-07-07-07-07"},"nbEmployees":{"type":"string","description":"Nombre d'employés de la société","example":"10-50"},"isCompanyAdmin":{"type":"boolean","description":"Est-ce que le client est un administrateur de la société","example":true},"companyHasContract":{"type":"string","description":"Est ce que l'entreprise a un contrat","default":"false","example":"true","enum":["true","false"]},"avatar":{"type":"file","description":"Avatar de client","format":"binary"},"unPaidAmountLimit":{"type":"number","title":"unPaidAmountLimit","description":"Le montant maximum impayé autorisé pour les cotations de  l'entreprise","example":1000,"default":1000}},"required":["email","firstname","lastname","type","isCompanyAdmin"]},"ConvertCustomerToCompanyDto":{"type":"object","properties":{"companyId":{"type":"string","description":"ID of the company to convert the customer to","example":"1234567890abcdef12345678","default":"1234567890abcdef12345678"},"newCompanyName":{"type":"string","description":"Le nom de la nouvelle société","example":"Nouvelle Société","default":"Nouvelle Société"},"newCompanyAddress":{"type":"string","description":"Adresse de la nouvelle société","example":"123 rue de la société, 75000 Paris","default":"123 rue de la société, 75000 Paris"},"newCompanyEmail":{"type":"string","description":"Email de la nouvelle société","example":"contact@nouvelle-societe.com","default":"contact@nouvelle-societe.com"},"newCompanyPhone":{"type":"string","description":"Téléphone de la nouvelle société","example":"+33 1 23 45 67 89","default":"+33 1 23 45 67 89"},"newCompanyWebsite":{"type":"string","description":"Site web de la nouvelle société","example":"https://www.nouvelle-societe.com","default":"https://www.nouvelle-societe.com"}},"required":["companyId"]},"UpdateProviderCustomerDto":{"type":"object","properties":{"email":{"type":"string","example":"subuser1@gmail.com","description":"Email de client"},"phone":{"type":"string","example":"+225-07-07-07-07","description":"Téléphone de client","nullable":true},"firstname":{"type":"string","example":"Tonde","description":"Nom de client","minLength":1,"maxLength":50},"lastname":{"type":"string","example":"Souleymane","description":"Prénom de client","minLength":1},"position":{"type":"string","example":"Dev","description":"Poste de client","nullable":true},"country":{"type":"string","example":"CIV","description":"Pays de client","nullable":true},"lang":{"type":"string","example":"fr","description":"Langue de client","nullable":true},"type":{"type":"string","example":"COMPANY","enum":["INDIVIDUAL","COMPANY"],"description":"Type du client"},"companyId":{"type":"string","description":"L'identifiant de la société, au cas où elle existe déjà, on n'a plus besoin de donner name et address","example":"dsf4-4f5d-4f5d-4f5d"},"companyName":{"type":"string","description":"Nom de la société","example":"Société","minLength":3,"maxLength":100},"companyAddress":{"type":"string","description":"Adresse de la société","example":"123 rue de la paix, 75000 Paris","minLength":3,"maxLength":100},"companyEmail":{"type":"string","description":"L'email de la société","example":"compa@gmail.com"},"companyCountry":{"type":"string","description":"Pays de la société","example":"CIV"},"companyWebsite":{"type":"string","description":"Site web de la société","example":"www.company.com"},"companyPhone":{"type":"string","description":"Téléphone de la société","example":"+225-07-07-07-07"},"nbEmployees":{"type":"string","description":"Nombre d'employés de la société","example":"10-50"},"isCompanyAdmin":{"type":"boolean","description":"Est-ce que le client est un administrateur de la société","example":true},"companyHasContract":{"type":"string","description":"Est ce que l'entreprise a un contrat","default":"false","example":"true","enum":["true","false"]},"avatar":{"type":"file","description":"Avatar de client","format":"binary"},"unPaidAmountLimit":{"type":"number","title":"unPaidAmountLimit","description":"Le montant maximum impayé autorisé pour les cotations de  l'entreprise","example":1000,"default":1000},"id":{"type":"string","description":"L'identifiant du client","example":"llsdi-4f5d-4f5d-4f5d"},"createdAt":{"format":"date-time","type":"string","description":"La date de création du client","example":"2026-04-13T10:34:46.714Z","default":"2026-04-13T10:34:46.714Z"},"updatedAt":{"format":"date-time","type":"string","description":"La date de mise à jour du client","example":"2026-04-13T10:34:46.714Z","default":"2026-04-13T10:34:46.714Z"}},"required":["id"]},"CreateSubscriptionDto":{"type":"object","properties":{"planId":{"type":"string","example":"se-4f5d-4f5d-4f5d","description":"L’identifiant du plan"},"serviceProviderId":{"type":"string","example":"dsui-4f5d-4f5d-4f5d","description":"L’identifiant du fournisseur de service"}},"required":["planId","serviceProviderId"]},"CreateRoleDto":{"type":"object","properties":{}},"AddRolesToUserDto":{"type":"object","properties":{"roles":{"type":"array","description":"Liste des rôles à ajouter","items":{"type":"string","enum":["SUPER_ADMIN","PROVIDER_ADMIN","PROVIDER_USER","PROVIDER_LAB_TECHNICIAN","PROVIDER_LAB_RESPONSIBLE","PROVIDER_LAB_MANAGER","PROVIDER_COMMERCIAL","PROVIDER_COMPTABLE","PROVIDER_PRELEVEUR","PROVIDER_RECEPTIONNISTE","PROVIDER_SUPERVISOR","PROVIDER_RECLAMATION_MANAGER","CUSTOMER_ADMIN","CUSTOMER_USER","INDIVIDUAL_CUSTOMER","PROVIDER","CUSTOMER","AUTH_FULL_ACCESS","AUTH_PARTIAL_ACCESS","PAID_PLAN","FREE_PLAN","CUSTOMER_INDIVIDUAL","CUSTOMER_COMPANY","RESPONSABLE_QUALITE","RESPONSABLE_PRELEVEUR","PROVIDER_TECHNICAL_SECRETARY"]}},"userId":{"type":"string","description":"Identifiant de l'utilisateur"}},"required":["roles","userId"]},"BullkAddRoleDto":{"type":"object","properties":{"file":{"type":"file","description":"Fichier contenant les rôles à ajouter","format":"binary"}},"required":["file"]},"CreateParameterNormDto":{"type":"object","properties":{"name":{"type":"string","default":"Norme - 169","description":"Le nom de la norme"},"description":{"type":"string","default":"Description de la norme","description":"La description de la norme"},"normPrice":{"type":"number","default":0,"description":"Le prix de la norme"},"parameterId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du paramètre","example":"lsd-4f5d-4f5d-4f5d"}},"required":["name","parameterId"]},"UpdateParameterNormDto":{"type":"object","properties":{"name":{"type":"string","default":"Norme - 169","description":"Le nom de la norme"},"description":{"type":"string","default":"Description de la norme","description":"La description de la norme"},"normPrice":{"type":"number","default":0,"description":"Le prix de la norme"},"parameterId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du paramètre","example":"lsd-4f5d-4f5d-4f5d"},"id":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de la norme du matrix","example":"lsd-4f5d-4f5d-4f5d"}},"required":["id"]},"CreatePrelevementDto":{"type":"object","properties":{"reference":{"type":"string","description":"La référence du prélèvement: Généré automatiquement","example":"d9217340-5902-44f3-b2ee-4780fd032a6c"},"lieuPrelevement":{"type":"string","description":"Le lieu de prélèvement","example":"Saint-Étienne"},"datePrelevement":{"type":"string","description":"La date de prélèvement","example":"2026-01-10T22:25:34.952Z"},"status":{"type":"string","description":"Le statut du prélèvement","example":"EN_ATTENTE"},"modePrelevement":{"type":"string","description":"Le mode de prélèvement","example":"SUR_PLACE"},"observation":{"type":"string","description":"L'observation","example":"Dolorum necessitatibus quaerat exercitationem ut magni quisquam beatae."},"nbEchantillon":{"type":"number","description":"Le nombre d'échantillon","example":"Nu"},"usage":{"type":"string","description":"Le type de prélèvement","example":"quo"},"delaiConservation":{"type":"string","description":"Le délai de conservation","example":"nemo"},"withProforma":{"type":"boolean","description":"Le prélèvement est-il avec proforma?","example":true},"proformaId":{"type":"string","description":"L'identifiant de la proforma","example":"5fb48d5a9acff473e4ec3b3d"},"customerId":{"type":"string","description":"L'identifiant du client","example":"5da9be03bbd2d5ced685fec8"},"customerType":{"type":"string","description":"Le type de client","example":"COMPANY"},"companyId":{"type":"string","description":"L'identifiant de l'entreprise cliente","example":"61cabce9d5eb1b9d6debf4d5"},"preleveurs":{"type":"array","description":"Les identifiants des préleveurs","example":["05b7fbc9d6ccd5e852dacf1a","bfccce2d70bab4eecdd76bfc"]},"companyPackageId":{"type":"string","description":"Le package du l entreprise client si le prélèvement est sans proforma et que le client est en contrat","example":"d96eadaf7bab6f1759e5f152"},"processMode":{"type":"string","description":"Le mode de traitement du prélèvement (PACKAGE, PROFORMA, NO_PACKAGE_NO_PROFORMA)","example":"PACKAGE"}},"required":["lieuPrelevement","status","modePrelevement"]},"UpdatePrelevementDto":{"type":"object","properties":{"reference":{"type":"string","description":"La référence du prélèvement: Généré automatiquement","example":"d9217340-5902-44f3-b2ee-4780fd032a6c"},"lieuPrelevement":{"type":"string","description":"Le lieu de prélèvement","example":"Saint-Étienne"},"datePrelevement":{"type":"string","description":"La date de prélèvement","example":"2026-01-10T22:25:34.952Z"},"status":{"type":"string","description":"Le statut du prélèvement","example":"EN_ATTENTE"},"modePrelevement":{"type":"string","description":"Le mode de prélèvement","example":"SUR_PLACE"},"observation":{"type":"string","description":"L'observation","example":"Dolorum necessitatibus quaerat exercitationem ut magni quisquam beatae."},"nbEchantillon":{"type":"number","description":"Le nombre d'échantillon","example":"Nu"},"usage":{"type":"string","description":"Le type de prélèvement","example":"quo"},"delaiConservation":{"type":"string","description":"Le délai de conservation","example":"nemo"},"withProforma":{"type":"boolean","description":"Le prélèvement est-il avec proforma?","example":true},"proformaId":{"type":"string","description":"L'identifiant de la proforma","example":"5fb48d5a9acff473e4ec3b3d"},"customerId":{"type":"string","description":"L'identifiant du client","example":"5da9be03bbd2d5ced685fec8"},"customerType":{"type":"string","description":"Le type de client","example":"COMPANY"},"companyId":{"type":"string","description":"L'identifiant de l'entreprise cliente","example":"61cabce9d5eb1b9d6debf4d5"},"preleveurs":{"type":"array","description":"Les identifiants des préleveurs","example":["05b7fbc9d6ccd5e852dacf1a","bfccce2d70bab4eecdd76bfc"]},"companyPackageId":{"type":"string","description":"Le package du l entreprise client si le prélèvement est sans proforma et que le client est en contrat","example":"d96eadaf7bab6f1759e5f152"},"processMode":{"type":"string","description":"Le mode de traitement du prélèvement (PACKAGE, PROFORMA, NO_PACKAGE_NO_PROFORMA)","example":"PACKAGE"},"id":{"type":"string","example":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du client"}},"required":["id"]},"CreateEchantillonDto":{"type":"object","properties":{"prelevementId":{"type":"string","example":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du prelevement"},"dateReception":{"format":"date-time","type":"string","example":"2022-10-10","description":"La date de réception de l'échantillon"},"modePrelevement":{"type":"string","example":"normal","description":"Le mode de prélèvement de l'échantillon"},"lieuPrestation":{"type":"string","example":"Cocody, Abidjan 01 Côte d'Ivoire","description":"Le lieu de la prestation"},"observation":{"type":"string","example":"RAS","description":"L'observation du preleveur"},"nbEchantillon":{"type":"number","example":1,"description":"Le nombre d'échantillon"},"status":{"type":"string","example":"EN_ATTENTE","description":"Le statut de l'échantillon"},"ecartMethod":{"type":"string","example":"RAS","description":"L'écart method"},"exigenceParticuliere":{"type":"string","example":"Je veux que le test soit fait en 2 jours","description":"L'exigence particulière"},"methodEssai":{"type":"string","example":"normalisee","description":"La méthode d'essaie"},"delaiConservation":{"type":"string","example":"Destruction systématique","description":"Le delai de conservation"},"nbRapport":{"type":"number","example":3,"description":"Le nombre de rapport"},"proformaId":{"type":"string","example":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de la proforma"},"customerId":{"type":"string","example":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du client"},"companyId":{"type":"string","example":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de l'entreprise"},"exigenceDelai":{"format":"date-time","type":"string","example":"2022-10-10","description":"L'exigence de délai"},"usage":{"type":"string","example":"Usage","description":"L'usage de l'échantillon"},"interlocuteurName":{"type":"string","description":"Le nom de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"interlocuteurPhone":{"type":"string","description":"Le téléphone de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"interlocuteurEmail":{"type":"string","description":"L'email de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"preleventedBy":{"type":"string","description":"Le nom du preleveur","example":"lsd-4f5d-4f5d-4f5d"},"transporteur":{"type":"string","description":"Le nom du transporteur","example":"lsd-4f5d-4f5d-4f5d"},"isReceivingByFraction":{"type":"boolean","description":"le proforma sera reçu par fraction?"},"nbEchantillonToReceive":{"type":"number","example":1,"description":"Le nombre d'échantillon à reçevoir si la reception est partielle"}},"required":["isReceivingByFraction"]},"AddEchantillonCommentDto":{"type":"object","properties":{"content":{"type":"string","description":"Contenu du commentaire"},"interpretation":{"type":"string","description":"Interprétation"},"notaBene":{"type":"string","description":"Nota Bene"},"rapportIds":{"description":"Identifiant du rapport","type":"array","items":{"type":"string"}},"laboratoryId":{"type":"string","description":"Identifiant du laboratoire"}},"required":["content","interpretation","notaBene","rapportIds","laboratoryId"]},"AddEchantillonNotaBeneDto":{"type":"object","properties":{"content":{"type":"string","description":"Contenu de la remarque"},"laboratoryId":{"type":"string","description":"Identifiant du laboratoire"}},"required":["content","laboratoryId"]},"UpdateEchantillonDto":{"type":"object","properties":{"prelevementId":{"type":"string","example":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du prelevement"},"dateReception":{"format":"date-time","type":"string","example":"2022-10-10","description":"La date de réception de l'échantillon"},"modePrelevement":{"type":"string","example":"normal","description":"Le mode de prélèvement de l'échantillon"},"lieuPrestation":{"type":"string","example":"Cocody, Abidjan 01 Côte d'Ivoire","description":"Le lieu de la prestation"},"observation":{"type":"string","example":"RAS","description":"L'observation du preleveur"},"nbEchantillon":{"type":"number","example":1,"description":"Le nombre d'échantillon"},"status":{"type":"string","example":"EN_ATTENTE","description":"Le statut de l'échantillon"},"ecartMethod":{"type":"string","example":"RAS","description":"L'écart method"},"exigenceParticuliere":{"type":"string","example":"Je veux que le test soit fait en 2 jours","description":"L'exigence particulière"},"methodEssai":{"type":"string","example":"normalisee","description":"La méthode d'essaie"},"delaiConservation":{"type":"string","example":"Destruction systématique","description":"Le delai de conservation"},"nbRapport":{"type":"number","example":3,"description":"Le nombre de rapport"},"proformaId":{"type":"string","example":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de la proforma"},"customerId":{"type":"string","example":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du client"},"companyId":{"type":"string","example":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de l'entreprise"},"exigenceDelai":{"format":"date-time","type":"string","example":"2022-10-10","description":"L'exigence de délai"},"usage":{"type":"string","example":"Usage","description":"L'usage de l'échantillon"},"interlocuteurName":{"type":"string","description":"Le nom de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"interlocuteurPhone":{"type":"string","description":"Le téléphone de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"interlocuteurEmail":{"type":"string","description":"L'email de l'interlocuteur","example":"lsd-4f5d-4f5d-4f5d"},"preleventedBy":{"type":"string","description":"Le nom du preleveur","example":"lsd-4f5d-4f5d-4f5d"},"transporteur":{"type":"string","description":"Le nom du transporteur","example":"lsd-4f5d-4f5d-4f5d"},"isReceivingByFraction":{"type":"boolean","description":"le proforma sera reçu par fraction?"},"nbEchantillonToReceive":{"type":"number","example":1,"description":"Le nombre d'échantillon à reçevoir si la reception est partielle"},"id":{"type":"string","example":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de l'échantillon"}}},"UpdateEchantillonItemDto":{"type":"object","properties":{"codeLabo":{"type":"string","description":"Le code echantillon","example":"LABO-01"},"codeClient":{"type":"string","description":"Le code client","example":"CLIENT-01"},"datePrelevement":{"type":"string","description":"La date de reception de l'echantillon","example":"2021-09-30"},"natureEchantillon":{"type":"string","description":"La nature de l'echantillon","example":"Eau"},"conditionnement":{"type":"string","description":"Le conditionnement de l'echantillon","example":"Flacon"},"temperature":{"type":"string","description":"La temperature de l'echantillon","example":"20°C"},"contenant":{"type":"string","description":"La quantite de l'echantillon","example":"5L"},"gpsCoordonnees":{"type":"string","description":"Les coordonnees gps de l'echantillon","example":"5.345, 3.456"},"proformaItemId":{"type":"string","description":"L'id du proforoma item d'analyse","example":"d5fc2b51-622a-4001-ad10-750581bac085","default":"c264f0dc-eb3b-417a-98fa-b0fe37684364"},"tafs":{"type":"array","description":"Travaux à effectuer","example":[{"parameterNormId":"a7c92835-3a67-4088-84c4-e73d9d3f39de"},{"parameterNormId":"d1bb97c2-16f4-484e-acfc-d874a8900b73"}],"default":[{"parameterNormId":"f82cb0a4-3494-4655-abb6-1b945ff45aee"},{"parameterNormId":"5820d0ea-ac27-462b-b4f8-7a4c544f42d0"}]},"id":{"type":"number","description":"Id de  l item de  l'échantillon","example":"9dd3382a-57f6-4fc6-a22f-e8e70e809a3a"}},"required":["id"]},"CreatePreleveurDto":{"type":"object","properties":{"preleveurUsersIds":{"type":"array","description":"Liste userIds des identifiants des preleveurs","example":["sqeresdaezdh-azeazd-azdazd","sqeresdadsezdh-azeazd-azdazd"]}},"required":["preleveurUsersIds"]},"RejectPrelevementDto":{"type":"object","properties":{"reason":{"type":"string","description":"Raison du rejet","example":"Le prélèvement n'est pas conforme","title":"Raison"}},"required":["reason"]},"SentRapportByBordereauDto":{"type":"object","properties":{"sendAt":{"format":"date-time","type":"string","title":"Date d'envoi","description":"La date d'envoi du rapport","example":"2021-01-01"},"files":{"title":"Fichier joint","description":"Le fichier joint du rapport","example":"https://example.com/rapport.pdf","type":"array","items":{"type":"string"}}},"required":["sendAt","files"]},"UpdateRapportDto":{"type":"object","properties":{"type":{"type":"string","title":"Type du rapport","description":"Le type du rapport","example":"Rapport Normal"},"status":{"type":"string","title":"Statut du rapport","description":"Le statut du rapport","example":"EN_ATTENTE","enum":["EN_ATTENTE","EN_COURS_DE_TRAITEMENT","EN_ATTENTE_VALIDATION","DISPONIBLE","ANNULE","NON_CONFORME"]},"contratName":{"type":"string","title":"Nom du contrat","description":"Le nom du contrat associé au rapport","example":"Contrat 123"},"id":{"type":"number","title":"Identifiant du rapport","description":"L'identifiant du rapport","example":"58ee0e8f-1f79-4fb1-8c0b-8a76374435f0"}},"required":["id"]},"SentRapportDto":{"type":"object","properties":{"sendAt":{"format":"date-time","type":"string","title":"Date d'envoi","description":"La date d'envoi du rapport","example":"2021-01-01"},"file":{"type":"object","title":"Fichier joint","description":"Le fichier joint du rapport","example":"https://example.com/rapport.pdf"}},"required":["sendAt","file"]},"UpdateRapportAssignmentToAnalysesDto":{"type":"object","properties":{"rapportId":{"type":"string","description":"ID du rapport à mettre à jour","example":"1234567890abcdef12345678"},"analyses":{"type":"array","description":"Liste des analyses à assigner au rapport","items":{"type":"object","properties":{"echantillonItemTafId":{"type":"string","description":"ID de l'échantillon TAF","example":"1234567890abcdef12345678"},"echantillonItemId":{"type":"string","description":"ID de l'échantillon","example":"abcdef1234567890abcdef12"}}}}},"required":["rapportId","analyses"]},"CertificateCommentItem":{"type":"object","properties":{"certificateIdentifier":{"type":"string","description":"Identifiant unique du certificat (pour gérer les doublons)","example":"cert-aflatoxines-001"},"certificate_name":{"type":"string","description":"Nom du certificat","example":"aflatoxines"},"comment":{"type":"string","description":"Commentaire pour ce certificat","example":"Résultats conformes aux normes en vigueur"},"rapportId":{"type":"string","description":"ID du rapport","example":"d290f1ee-6c54-4b01-90e6-d701748f0851"}},"required":["certificateIdentifier","certificate_name","comment","rapportId"]},"AddCertificateCommentDto":{"type":"object","properties":{"laboratoryId":{"type":"string","description":"ID du laboratoire","example":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"certificateComments":{"description":"Liste des commentaires de certificat à ajouter","type":"array","items":{"$ref":"#/components/schemas/CertificateCommentItem"}}},"required":["laboratoryId","certificateComments"]},"CreateDemandeAnalyseDto":{"type":"object","properties":{"rapportId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du rapport","example":"lsd-4f5d-4f5d-4f5d"},"observation":{"type":"string","default":"je suis une observation","description":"L'observation de la demande d'analyse","example":"je suis une observation"},"requiredDelai":{"type":"date","default":"2026-04-13T10:34:46.805Z","description":"exigence de délai de la demande d'analyse"},"rapportType":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"Le type de rapport","example":"standard"},"analyses":{"type":"array","description":"Les analyses de la demande - chaque analyse contient son echantillonItemId","example":[{"echantillonItemId":"lsd-4f5d-4f5d-4f5d","rapportId":"lsd-4f5d-4f5d-4f5d","parameterNormId":"lsd-4f5d-4f5d-4f5d","echantillonItemTafId":"lsd-4f5d-4f5d-4f5d","laboratoryId":"lsd-4f5d-4f5d-4f5d","normeName":"ISO 9001"}]},"contrat":{"type":"string","title":"Contrat","description":"L'identifiant du contrat associé aux rapports si le type est salmonelle separé","example":"contrat-12345"},"generateRapportByLab":{"type":"boolean","title":"Généré par le rapport de laboratoire","description":"Indique si le rapport doit être généré par le laboratoire","example":false}},"required":["rapportId","requiredDelai","analyses"]},"CreateRapportTransmissionDto":{"type":"object","properties":{"reference":{"type":"string","description":"Référence du rapport","example":"44e9aed48dc2e4cffd36ee80"},"interlocuteurs":{"type":"array","description":"Liste des interlocuteurs qui recoivent le rapport si le client est une entreprise","example":["2afeb88a3cbdb8e6cff55237","74b8794ee6c60b74fa1aaf9d"]},"libelle":{"type":"string","description":"le libelle du rapport","example":"Velociter adeptio viriliter."},"observation":{"type":"string","description":"observation","example":"Adsidue tepesco deripio tribuo suus."},"uploadType":{"type":"string","description":"Le type d'upload","example":"local","enum":["local","cloudinary"]},"url":{"type":"string","description":"le lien du rapport","example":"https://youthful-success.info/"},"type":{"type":"string","description":"le type du rapport","example":"surgo"},"originalname":{"type":"string","description":"le nom original du fichier","example":"variant_impact.elc"},"files":{"type":"array","description":"Les fichiers du rapport","items":{"type":"string","format":"binary"}}},"required":["reference","interlocuteurs","libelle","uploadType","files"]},"UpdateRapportTransmissionDto":{"type":"object","properties":{"reference":{"type":"string","description":"Référence du rapport","example":"44e9aed48dc2e4cffd36ee80"},"interlocuteurs":{"type":"array","description":"Liste des interlocuteurs qui recoivent le rapport si le client est une entreprise","example":["2afeb88a3cbdb8e6cff55237","74b8794ee6c60b74fa1aaf9d"]},"libelle":{"type":"string","description":"le libelle du rapport","example":"Velociter adeptio viriliter."},"observation":{"type":"string","description":"observation","example":"Adsidue tepesco deripio tribuo suus."},"uploadType":{"type":"string","description":"Le type d'upload","example":"local","enum":["local","cloudinary"]},"url":{"type":"string","description":"le lien du rapport","example":"https://youthful-success.info/"},"type":{"type":"string","description":"le type du rapport","example":"surgo"},"originalname":{"type":"string","description":"le nom original du fichier","example":"variant_impact.elc"},"files":{"type":"array","description":"Les fichiers du rapport","items":{"type":"string","format":"binary"}}}},"CreateQuestionDto":{"type":"object","properties":{"questionText":{"type":"string","example":"Quelle est votre satisfaction globale ?","description":"Le texte de la question."},"helpText":{"type":"string","example":"Évaluez de 1 à 5","description":"Texte d'aide pour le répondant."},"questionType":{"type":"string","example":"RATING","description":"Le type de question."},"isRequired":{"type":"boolean","example":true,"description":"Indique si la question est requise."},"order":{"type":"number","example":1,"description":"L'ordre de la question."},"options":{"example":["Option 1","Option 2"],"description":"Les options de réponse pour les questions à choix.","type":"array","items":{"type":"string"}},"minRating":{"type":"number","example":1,"description":"La note minimale pour les questions de type échelle."},"maxRating":{"type":"number","example":5,"description":"La note maximale pour les questions de type échelle."}},"required":["questionText","helpText","questionType","isRequired","order","options","minRating","maxRating"]},"CreateSurveyDto":{"type":"object","properties":{"title":{"type":"string","example":"Enquête de satisfaction client 2024","description":"Le titre de l'enquête de satisfaction."},"description":{"type":"string","example":"Description de l'enquête","description":"La description de l'enquête de satisfaction."},"surveyType":{"type":"object","example":"CLIENT","description":"Le type de l'enquête de satisfaction."},"targetAudience":{"type":"object","example":"ALL_CLIENTS","description":"Le public cible de l'enquête de satisfaction."},"triggerCondition":{"type":"object","example":"RAPPORT_DELIVERED","description":"La condition de déclenchement de l'enquête de satisfaction."},"triggerPeriod":{"type":"object","example":"WEEKLY","description":"La période de déclenchement de l'enquête de satisfaction."},"isBlockingAccess":{"type":"boolean","example":true,"description":"Indique si l'accès à l'enquête est bloquant."},"gracePeriodDays":{"type":"number","example":30,"description":"Le nombre de jours de grâce avant l'expiration de l'enquête."},"expirationDays":{"type":"number","example":7,"description":"Le nombre de jours avant l'expiration de l'enquête."},"targetRoles":{"example":["ADMIN","TECHNICIEN"],"description":"Les rôles cibles de l'enquête de satisfaction.","type":"array","items":{"type":"string"}},"targetLaboratories":{"example":["lab1","lab2"],"description":"Les laboratoires cibles de l'enquête de satisfaction.","type":"array","items":{"type":"string"}},"questions":{"description":"Les questions de l'enquête de satisfaction.","type":"array","items":{"$ref":"#/components/schemas/CreateQuestionDto"}},"isActive":{"type":"boolean","example":true,"description":"Indique si l'enquête est active."},"isAnonymous":{"type":"boolean","example":false,"description":"Indique si les réponses sont anonymes."},"startDate":{"format":"date-time","type":"string","example":"2024-01-01T00:00:00Z","description":"La date de début de l'enquête de satisfaction."},"endDate":{"format":"date-time","type":"string","example":"2024-12-31T23:59:59Z","description":"La date de fin de l'enquête de satisfaction."}},"required":["title","description","surveyType","targetAudience","triggerCondition","triggerPeriod","isBlockingAccess","gracePeriodDays","expirationDays","targetRoles","targetLaboratories","questions","isActive","isAnonymous","startDate","endDate"]},"SubmitAnswerDto":{"type":"object","properties":{"questionId":{"type":"string","example":"question123","description":"L'ID de la question."},"textValue":{"type":"string"},"numericValue":{"type":"number"},"selectedOptions":{"type":"array","items":{"type":"string"}},"booleanValue":{"type":"boolean"}},"required":["questionId"]},"SubmitResponseDto":{"type":"object","properties":{"surveyId":{"type":"string","example":"survey123","description":"L'ID de l'enquête de satisfaction."},"answers":{"description":"Les réponses à l'enquête de satisfaction.","type":"array","items":{"$ref":"#/components/schemas/SubmitAnswerDto"}},"sessionContext":{"type":"object","description":"Contexte de session (navigateur, etc.)"}},"required":["surveyId","answers"]},"UpdateDemandeGroupDto":{"type":"object","properties":{"observation":{"type":"string","description":"L'observation de la demande d'analyse"},"requiredDelai":{"format":"date-time","type":"string","description":"Exigence de délai de la demande d'analyse"},"isUrgent":{"type":"boolean","description":"L'urgence de la demande d'analyse"}},"required":["requiredDelai"]},"CreateAnalysesExectutionDto":{"type":"object","properties":{"analyseExecutionId":{"type":"string","description":"L'identifiant de l'item de la demande d'analyse","example":"0065f6bd-2166-414f-83a3-b0ba4e2be0aa"},"dateExigence":{"type":"date","description":"La date d'exigence pour les résultats de l'analyse","example":"2025-06-29T04:05:49.217Z"},"requiredTime":{"type":"number","description":"Le temps requis pour l analyse en minutes","example":"7"},"observation":{"type":"string","description":"Les observations sur l analyse","example":"Voluptas sonitus adopto considero totam carpo adsidue delibero."},"priorite":{"type":"number","description":"La priorité de l analyse","example":"9","enum":[1,2,3,4,5,6,7,8,9,10]},"techniciens":{"type":"array","description":"Les techniciens qui vont réaliser l'analyse","example":[{"id":"2c1c0ddd-8802-4cbf-9906-1917504b2a8d"},{"id":"da2be857-a238-4b9c-8367-ea22332e1d60"},{"id":"1ce6db95-b53d-418e-b464-05d807d67525"}]}},"required":["analyseExecutionId","dateExigence","techniciens"]},"UpdateAnalysesExectutionDto":{"type":"object","properties":{"analyseExecutionId":{"type":"string","description":"L'identifiant de l'item de la demande d'analyse","example":"0065f6bd-2166-414f-83a3-b0ba4e2be0aa"},"dateExigence":{"type":"date","description":"La date d'exigence pour les résultats de l'analyse","example":"2025-06-29T04:05:49.217Z"},"requiredTime":{"type":"number","description":"Le temps requis pour l analyse en minutes","example":"7"},"observation":{"type":"string","description":"Les observations sur l analyse","example":"Voluptas sonitus adopto considero totam carpo adsidue delibero."},"priorite":{"type":"number","description":"La priorité de l analyse","example":"9","enum":[1,2,3,4,5,6,7,8,9,10]},"techniciens":{"type":"array","description":"Les techniciens qui vont réaliser l'analyse","example":[{"id":"2c1c0ddd-8802-4cbf-9906-1917504b2a8d"},{"id":"da2be857-a238-4b9c-8367-ea22332e1d60"},{"id":"1ce6db95-b53d-418e-b464-05d807d67525"}]}}},"CreateRapportPrelevementDto":{"type":"object","properties":{"observation":{"type":"string","example":"Placeat quisquam aspernatur qui aut corporis. Ducimus dignissimos officiis itaque odio maiores deleniti excepturi consequatur.","description":"Une observation sur le prélèvement"},"echantillonPreleves":{"type":"number","example":"69","description":"Nombre d'échantillons prélevés"},"echantillonNonPreleves":{"type":"number","example":"42","description":"Nombre d'échantillons non prélevés"},"rapportItems":{"type":"array","example":[null],"description":"Les items du rapport"},"processMode":{"type":"string","example":"PROFORMA","description":"Le mode de traitement du prélèvement (PROFORMA, PACKAGE)"}},"required":["processMode"]},"UpdateRapportPrelevementDto":{"type":"object","properties":{"observation":{"type":"string","example":"Placeat quisquam aspernatur qui aut corporis. Ducimus dignissimos officiis itaque odio maiores deleniti excepturi consequatur.","description":"Une observation sur le prélèvement"},"echantillonPreleves":{"type":"number","example":"69","description":"Nombre d'échantillons prélevés"},"echantillonNonPreleves":{"type":"number","example":"42","description":"Nombre d'échantillons non prélevés"},"rapportItems":{"type":"array","example":[null],"description":"Les items du rapport"},"processMode":{"type":"string","example":"PROFORMA","description":"Le mode de traitement du prélèvement (PROFORMA, PACKAGE)"}}},"CreateAppsConfigurationDto":{"type":"object","properties":{}},"UpdateAppsConfigurationDto":{"type":"object","properties":{}},"CreateProviderApplicationDto":{"type":"object","properties":{}},"UpdateProviderApplicationDto":{"type":"object","properties":{}},"CreatePlanDto":{"type":"object","properties":{"label":{"type":"string","example":"Plan de base","description":"Le label du plan","minLength":3,"maxLength":100},"description":{"type":"string","example":"Plan de base","description":"La description du plan","minLength":3,"maxLength":500},"allowedAccess":{"example":["Avoir 2 utilisateurs maximum","5 laboratoire maximum"],"description":"Les avantages du plan","type":"array","items":{"type":"string"}},"price":{"type":"number","example":0,"description":"Le prix du plan"},"duration":{"type":"number","example":12,"description":"La durée du plan en mois"}},"required":["label"]},"UpdatePlanDto":{"type":"object","properties":{"label":{"type":"string","example":"Plan de base","description":"Le label du plan","minLength":3,"maxLength":100},"description":{"type":"string","example":"Plan de base","description":"La description du plan","minLength":3,"maxLength":500},"allowedAccess":{"example":["Avoir 2 utilisateurs maximum","5 laboratoire maximum"],"description":"Les avantages du plan","type":"array","items":{"type":"string"}},"price":{"type":"number","example":0,"description":"Le prix du plan"},"duration":{"type":"number","example":12,"description":"La durée du plan en mois"},"id":{"type":"string","example":"uuid-uuid-uuid-uuid","description":"L'identifiant du plan"}},"required":["id"]},"CreatePlanificationDto":{"type":"object","properties":{"analyseExecutionId":{"type":"string","description":"L'identifiant de l'item de la demande d'analyse","example":"7e05888a-df03-4a7f-98cd-273c40bd3c0f"},"dateExigence":{"type":"date","description":"La date d'exigence pour les résultats de l'analyse","example":"2026-04-02T11:03:59.877Z"},"requiredTime":{"type":"number","description":"Le temps requis pour l analyse en minutes","example":"8"},"observation":{"type":"string","description":"Les observations sur l analyse","example":"Sortitus aperiam theatrum demergo sto solvo subito strues cultura."},"priorite":{"type":"number","description":"La priorité de l analyse","example":"9","enum":[1,2,3,4,5,6,7,8,9,10]},"techniciens":{"type":"array","description":"Les techniciens qui vont réaliser l'analyse","example":[{"id":"a426d414-8b7b-4431-8864-dbc72f47b9de"},{"id":"55de1415-cace-4972-a85c-bbad862b048b"},{"id":"256ab632-9f5d-4a94-9236-33c801f1120f"}]}},"required":["analyseExecutionId","dateExigence","techniciens"]},"AppliquateCritereDto":{"type":"object","properties":{"critereId":{"type":"string","description":"Identifiant du critère d'analyse","example":"60f7c2f5d5f9d0001e000001"},"matrixId":{"type":"object","description":"Identifiant des  matrices d'analyse","example":"60f7c2f5d5f9d0001e000002"},"echantillonId":{"type":"string","description":"Identifiant de l'échantillon","example":"60f7c2f5d5f9d0001e000001"},"selectedItems":{"description":"Identifiants des échantillons à appliquer le critère","example":["60f7c2f5d5f9d0001e000001","60f7c2f5d5f9d0001e000002"],"type":"array","items":{"type":"string"}},"newParamCriterias":{"description":"Valeurs des nouveaux paramètres à appliquer","example":[{"parameterId":"60f7c2f5d5f9d0001e000003","parameterNormId":"60f7c2f5d5f9d0001e000004","seulValue":"10.5"}],"type":"array","items":{"type":"string"}},"forceApplyUnitMismatch":{"type":"boolean","description":"Forcer l'application du critère même en cas de décalage d'unité","default":false,"example":false}},"required":["critereId","matrixId","echantillonId","selectedItems","newParamCriterias"]},"EditSeuilValueDto":{"type":"object","properties":{"criteriaId":{"type":"string","description":"ID of the criteria to edit","example":"criteria123"},"resultatId":{"type":"string","description":"ID of the result to edit","example":"result123"},"newValue":{"type":"string","description":"New value for the criteria","example":"newValue123","title":"New Value"}},"required":["criteriaId","resultatId","newValue"]},"RemoveCriteriaDto":{"type":"object","properties":{"critereId":{"type":"string","description":"Identifiant du critère d'analyse","example":"60f7c2f5d5f9d0001e000001"},"echantillonId":{"type":"string","description":"Identifiant de l'échantillon","example":"60f7c2f5d5f9d0001e000001"},"selectedItems":{"description":"Identifiants des échantillons à appliquer le critère","example":["60f7c2f5d5f9d0001e000001","60f7c2f5d5f9d0001e000002"],"type":"array","items":{"type":"string"}}},"required":["critereId","echantillonId","selectedItems"]},"ValidationWithoutCriteriaDto":{"type":"object","properties":{"laboratoryId":{"type":"string","description":"Identifiant du laboratoire","example":"60f7c2f5d5f9d0001e000001"},"echantillonId":{"type":"string","description":"Identifiant de l'échantillon","example":"60f7c2f5d5f9d0001e000001"},"selectedItems":{"description":"Identifiant des échantillons à valider","example":["60f7c2f5d5f9d0001e000001","60f7c2f5d5f9d0001e000002"],"type":"array","items":{"type":"string"}}},"required":["laboratoryId","echantillonId","selectedItems"]},"ResultatStatus":{"type":"string","description":"Le status du resultat","enum":["ENREGISTRE","VALIDE","REFUSEE"]},"CreateResultatAnalyseDto":{"type":"object","properties":{"resultat":{"type":"string","example":"Resultat de l'analyse","description":"Le resultat de l'analyse"},"unitMeasure":{"type":"string","example":12,"description":"La valeur du resultat"},"observation":{"type":"string","example":"Observation sur le resultat","description":"Observation sur le resultat"},"status":{"example":"VALIDE","$ref":"#/components/schemas/ResultatStatus"},"dateDebut":{"format":"date-time","type":"string","example":"2021-01-01","description":"La date de début"},"dateFin":{"format":"date-time","type":"string","example":"2021-01-01","description":"La date de fin"}},"required":["resultat","unitMeasure","observation","status","dateDebut","dateFin"]},"UpdateResultatAnalyseDto":{"type":"object","properties":{"resultat":{"type":"string","example":"Resultat de l'analyse","description":"Le resultat de l'analyse"},"unitMeasure":{"type":"string","example":12,"description":"La valeur du resultat"},"observation":{"type":"string","example":"Observation sur le resultat","description":"Observation sur le resultat"},"status":{"example":"VALIDE","$ref":"#/components/schemas/ResultatStatus"},"dateDebut":{"format":"date-time","type":"string","example":"2021-01-01","description":"La date de début"},"dateFin":{"format":"date-time","type":"string","example":"2021-01-01","description":"La date de fin"},"id":{"type":"string","example":"ce2ff2e7-abdd-434a-8e67-016bdb0be2b0","description":"The id of the resultatAnalyse"}},"required":["id"]},"CreateParameterCriterionDto":{"type":"object","properties":{"parameterId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant du paramètre","example":"lsd-4f5d-4f5d-4f5d"},"normId":{"type":"string","default":"lsd-4f5d-4f5d-4f5d","description":"L'identifiant de la norme du paramètre","example":"lsd-4f5d-4f5d-4f5d"},"unitMeasure":{"type":"string","format":"string","default":"mg","description":"Unité de mesure du paramètre"},"intervalSeuil":{"type":"string","format":"string","default":"intervalle de référence","description":"Intervalle de référence du paramètre"}},"required":["parameterId","normId","unitMeasure","intervalSeuil"]},"CreateCriterionDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the criterion","example":"Hemoglobin","default":"Hemoglobin"},"referenceValue":{"type":"string","description":"The reference value of the criterion","example":"12","default":"12"},"laboratoryId":{"type":"string","description":"The unit of the criterion","example":"g/dl","default":"g/dl"},"parameters":{"description":"Les paramètres du critère","default":[{"parameterId":"lsd-4f5d-4f5d-4f5d","unitMeasure":"mg","intervalSeuil":"intervalle de référence"}],"type":"array","items":{"$ref":"#/components/schemas/CreateParameterCriterionDto"}}},"required":["name","referenceValue","laboratoryId","parameters"]},"UpdateCriterionDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the criterion","example":"Hemoglobin","default":"Hemoglobin"},"referenceValue":{"type":"string","description":"The reference value of the criterion","example":"12","default":"12"},"laboratoryId":{"type":"string","description":"The unit of the criterion","example":"g/dl","default":"g/dl"},"parameters":{"description":"Les paramètres du critère","default":[{"parameterId":"lsd-4f5d-4f5d-4f5d","unitMeasure":"mg","intervalSeuil":"intervalle de référence"}],"type":"array","items":{"$ref":"#/components/schemas/CreateParameterCriterionDto"}}}},"CreateInSituMeasureDto":{"type":"object","properties":{"echantillonId":{"type":"string","description":"L'identifiant de l'échantillon.","example":"123e4567-e89b-12d3-a456-426614174000"},"arrivalTime":{"type":"string","description":"L'heure d'arrivée.","example":"2023-10-01T08:30:00Z","format":"date-time"},"departureTime":{"type":"string","description":"L'heure de départ.","example":"2023-10-01T10:30:00Z","format":"date-time"},"observation":{"type":"string","description":"Les observations faites.","example":"Observation de l'échantillon sur le terrain."},"prelevementId":{"type":"string","description":"L'identifiant du prélèvement.","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["echantillonId","arrivalTime","departureTime","observation","prelevementId"]},"UpdateInSituMeasureDto":{"type":"object","properties":{"echantillonId":{"type":"string","description":"L'identifiant de l'échantillon.","example":"123e4567-e89b-12d3-a456-426614174000"},"arrivalTime":{"type":"string","description":"L'heure d'arrivée.","example":"2023-10-01T08:30:00Z","format":"date-time"},"departureTime":{"type":"string","description":"L'heure de départ.","example":"2023-10-01T10:30:00Z","format":"date-time"},"observation":{"type":"string","description":"Les observations faites.","example":"Observation de l'échantillon sur le terrain."},"prelevementId":{"type":"string","description":"L'identifiant du prélèvement.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"CreateInSituMeasureItemDto":{"type":"object","properties":{"echantillonItemId":{"type":"string","description":"l'identifiant de l'échantillon","title":"Echantillon Item Id","example":"123e4567-e89b-12d3-a456-426614174000"},"aspect":{"type":"string","description":"aspect","title":"Aspect","example":"aspect"},"odeur":{"type":"string","description":"odeur","title":"Odeur","example":"odeur"},"saveur":{"type":"string","description":"saveur","title":"Saveur","example":"saveur"},"ph":{"type":"string","description":"ph","title":"Ph","example":"ph"},"oxygeneDissous1":{"type":"string","description":"oxygeneDissous1","title":"OxygeneDissous1","example":"oxygeneDissous1"},"oxygeneDissous1Unit":{"type":"string","description":"Unité de mesure de l'oxygène dissous 1","title":"Unité de mesure de l'oxygène dissous 1","example":"mg/L"},"oxygeneDissous2":{"type":"string","description":"oxygeneDissous2","title":"OxygeneDissous2","example":"oxygeneDissous2"},"oxygeneDissous2Unit":{"type":"string","description":"Unité de mesure de l'oxygène dissous 2","title":"Unité de mesure de l'oxygène dissous 2","example":"mg/L"},"temperature":{"type":"string","description":"temperature","title":"Temperature","example":"temperature"},"temperatureUnit":{"type":"string","description":"Unité de mesure de la température","title":"Unité de mesure de la température","example":"°C"},"conductivite":{"type":"string","description":"conductivite","title":"Conductivite","example":"conductivite"},"conductiviteUnit":{"type":"string","description":"Unité de mesure de la conductivité","title":"Unité de mesure de la conductivité","example":"µS/cm"},"turbidite":{"type":"string","description":"turbidite","title":"Turbidite","example":"turbidite"},"turbiditeUnit":{"type":"string","description":"Unité de mesure de la turbidité","title":"Unité de mesure de la turbidité","example":"NTU"},"chloreLibre":{"type":"string","description":"chloreLibre","title":"ChloreLibre","example":"chloreLibre"},"chloreLibreUnit":{"type":"string","description":"Unité de mesure du chlore libre","title":"Unité de mesure du chlore libre","example":"mg/L"},"chloreTotal":{"type":"string","description":"chloreTotal","title":"ChloreTotal","example":"chloreTotal"},"chloreTotalUnit":{"type":"string","description":"Unité de mesure du chlore total","title":"Unité de mesure du chlore total","example":"mg/L"},"tds":{"type":"string","description":"tds","title":"TDS","example":"tds"},"tdsUnit":{"type":"string","description":"Unité de mesure du TDS","title":"Unité de mesure du TDS","example":"mg/L"},"gpsCoordonnees":{"type":"string","description":"coordonneesGPS","title":"CoordonneesGPS","example":"coordonneesGPS"},"observation":{"type":"string","description":"observation","title":"Observation","example":"observation"}},"required":["echantillonItemId","aspect","odeur","saveur","ph","oxygeneDissous1","oxygeneDissous1Unit","oxygeneDissous2","oxygeneDissous2Unit","temperature","temperatureUnit","conductivite","conductiviteUnit","turbidite","turbiditeUnit","chloreLibre","chloreLibreUnit","chloreTotal","chloreTotalUnit","tds","tdsUnit","gpsCoordonnees","observation"]},"UpdateInSituMeasureItemDto":{"type":"object","properties":{"echantillonItemId":{"type":"string","description":"l'identifiant de l'échantillon","title":"Echantillon Item Id","example":"123e4567-e89b-12d3-a456-426614174000"},"aspect":{"type":"string","description":"aspect","title":"Aspect","example":"aspect"},"odeur":{"type":"string","description":"odeur","title":"Odeur","example":"odeur"},"saveur":{"type":"string","description":"saveur","title":"Saveur","example":"saveur"},"ph":{"type":"string","description":"ph","title":"Ph","example":"ph"},"oxygeneDissous1":{"type":"string","description":"oxygeneDissous1","title":"OxygeneDissous1","example":"oxygeneDissous1"},"oxygeneDissous1Unit":{"type":"string","description":"Unité de mesure de l'oxygène dissous 1","title":"Unité de mesure de l'oxygène dissous 1","example":"mg/L"},"oxygeneDissous2":{"type":"string","description":"oxygeneDissous2","title":"OxygeneDissous2","example":"oxygeneDissous2"},"oxygeneDissous2Unit":{"type":"string","description":"Unité de mesure de l'oxygène dissous 2","title":"Unité de mesure de l'oxygène dissous 2","example":"mg/L"},"temperature":{"type":"string","description":"temperature","title":"Temperature","example":"temperature"},"temperatureUnit":{"type":"string","description":"Unité de mesure de la température","title":"Unité de mesure de la température","example":"°C"},"conductivite":{"type":"string","description":"conductivite","title":"Conductivite","example":"conductivite"},"conductiviteUnit":{"type":"string","description":"Unité de mesure de la conductivité","title":"Unité de mesure de la conductivité","example":"µS/cm"},"turbidite":{"type":"string","description":"turbidite","title":"Turbidite","example":"turbidite"},"turbiditeUnit":{"type":"string","description":"Unité de mesure de la turbidité","title":"Unité de mesure de la turbidité","example":"NTU"},"chloreLibre":{"type":"string","description":"chloreLibre","title":"ChloreLibre","example":"chloreLibre"},"chloreLibreUnit":{"type":"string","description":"Unité de mesure du chlore libre","title":"Unité de mesure du chlore libre","example":"mg/L"},"chloreTotal":{"type":"string","description":"chloreTotal","title":"ChloreTotal","example":"chloreTotal"},"chloreTotalUnit":{"type":"string","description":"Unité de mesure du chlore total","title":"Unité de mesure du chlore total","example":"mg/L"},"tds":{"type":"string","description":"tds","title":"TDS","example":"tds"},"tdsUnit":{"type":"string","description":"Unité de mesure du TDS","title":"Unité de mesure du TDS","example":"mg/L"},"gpsCoordonnees":{"type":"string","description":"coordonneesGPS","title":"CoordonneesGPS","example":"coordonneesGPS"},"observation":{"type":"string","description":"observation","title":"Observation","example":"observation"}}},"CreateUserLabDto":{"type":"object","properties":{"laboratoryId":{"type":"string","description":"L'identifiant du laboratoire","example":"d290f1ee-6c54-4b01-"},"userId":{"type":"string","description":"L'identifiant de l'utilisateur","example":"d290f1ee-6c54-4b01"},"role":{"type":"string","description":"Le rôle de l'utilisateur","example":"RESPONSABLE","enum":["RESPONSABLE","TECHNICIEN","MANAGER"]}},"required":["laboratoryId","userId","role"]},"CreateLabPackageParameterDto":{"type":"object","properties":{"parameterId":{"type":"string","description":"Identifiant du paramètre","example":"r4f5d-4f5d-4f5d-4f5d"},"normId":{"type":"string","description":"Identifiant de la norme","example":"r4f5d-4f5d-4f5d-4f5d"}},"required":["parameterId","normId"]},"CreateLabPackageDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du Package","example":"Package 1","default":"Mat-300"},"description":{"type":"string","description":"Description du package","example":"At velit exercitationem blanditiis itaque nobis quam."},"laboratoryId":{"type":"string","description":"Identifiant du laboratoire","example":"r4f5d-4f5d-4f5d-4f5d"},"packagePrice":{"type":"number","description":"Prix du package","example":5000},"parameters":{"description":"Les paramètres du package","example":[{"parameterId":"e5e258189e7d29e02d9ffba1","normId":"dbf363af7d7602b5476d0ebf"},{"parameterId":"344bcaac6a52e75ddc6ef9e3","normId":"2acbcba06b0a07e83f672bcd"}],"type":"array","items":{"$ref":"#/components/schemas/CreateLabPackageParameterDto"}},"matriceName":{"type":"string","description":"Nom de la matrice","example":"Matrice 1"}},"required":["name","laboratoryId","packagePrice","parameters","matriceName"]},"UpdateLabPackageDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du Package","example":"Package 1","default":"Mat-300"},"description":{"type":"string","description":"Description du package","example":"At velit exercitationem blanditiis itaque nobis quam."},"laboratoryId":{"type":"string","description":"Identifiant du laboratoire","example":"r4f5d-4f5d-4f5d-4f5d"},"packagePrice":{"type":"number","description":"Prix du package","example":5000},"parameters":{"description":"Les paramètres du package","example":[{"parameterId":"e5e258189e7d29e02d9ffba1","normId":"dbf363af7d7602b5476d0ebf"},{"parameterId":"344bcaac6a52e75ddc6ef9e3","normId":"2acbcba06b0a07e83f672bcd"}],"type":"array","items":{"$ref":"#/components/schemas/CreateLabPackageParameterDto"}},"matriceName":{"type":"string","description":"Nom de la matrice","example":"Matrice 1"},"id":{"type":"string","description":"Identifiant du package","example":"dsf4-4f5d-4f5d-4f5d"}},"required":["id"]},"SetMolecularDto":{"type":"object","properties":{"isMolecular":{"type":"boolean","description":"Indique si le package doit être marqué comme moléculaire","example":true},"molecularAnnexName":{"type":"string","description":"Nom de l'annexe moléculaire","example":"Annexe A - Pesticides"},"molecularAnnexContent":{"description":"Contenu JSON de l'annexe : tableau de { compoundName, detectionLimit, critereName?, critereLimit? }","example":[{"compoundName":"Glyphosate","detectionLimit":"0.005 µg/L","critereName":"NQ","critereLimit":"0.1 µg/L"}],"type":"array","items":{"type":"string"}}},"required":["isMolecular"]},"CreateDeviDto":{"type":"object","properties":{"totalHT":{"type":"number","description":"Le total HT du devis"},"totalTTC":{"type":"number","description":"Le total TTC du devis"},"remisePercent":{"type":"number","description":"le pourcentage de remise"},"remiseValue":{"type":"number","description":"La valeur de la remise"},"customerName":{"type":"string","description":"Le nom du client"},"customerType":{"type":"string","description":"Le type   du client"},"customerPhone":{"type":"string","description":"Le téléphone du client"},"customerEmail":{"type":"string","description":"L'email du client"},"customerAddress":{"type":"string","description":"L'adresse du client"},"isTvaIncluded":{"type":"boolean","description":"La TVA est-elle incluse","default":true}},"required":["totalTTC","remisePercent","remiseValue","customerName","customerType","customerPhone","customerEmail","customerAddress"]},"CreateDeviItemDto":{"type":"object","properties":{"nbrEchantillons":{"type":"number","description":"nombre d'echantillons"},"subTotal":{"type":"number","description":"le sous total de l'item"}},"required":["nbrEchantillons","subTotal"]},"UpdateDeviDto":{"type":"object","properties":{"totalHT":{"type":"number","description":"Le total HT du devis"},"totalTTC":{"type":"number","description":"Le total TTC du devis"},"remisePercent":{"type":"number","description":"le pourcentage de remise"},"remiseValue":{"type":"number","description":"La valeur de la remise"},"customerName":{"type":"string","description":"Le nom du client"},"customerType":{"type":"string","description":"Le type   du client"},"customerPhone":{"type":"string","description":"Le téléphone du client"},"customerEmail":{"type":"string","description":"L'email du client"},"customerAddress":{"type":"string","description":"L'adresse du client"},"isTvaIncluded":{"type":"boolean","description":"La TVA est-elle incluse","default":true}}},"CreateProformaDraftItemAnalyseDto":{"type":"object","properties":{"parameterNormId":{"type":"string","description":"L'id de la norme","example":"1","title":"Id de la norme"},"normName":{"type":"string","description":"Le nom de la norme","example":"Norme 1","title":"Nom de la norme"},"paramName":{"type":"string","description":"Le nom du paramètre","example":"Paramètre 1","title":"Nom du paramètre"},"parameterId":{"type":"string","description":"L'id du paramètre","example":"1","title":"Id du paramètre"},"paramPrice":{"type":"number","description":"Le prix du paramètre","example":1000,"title":"Prix du paramètre"}},"required":["parameterNormId","normName","paramName","parameterId","paramPrice"]},"CreateProformaDraftItemDto":{"type":"object","properties":{"intitule":{"type":"string","description":"L'intitulé de l'item","example":"Item 1","title":"Intitulé"},"nbEchantillon":{"type":"number","description":"Le nombre d'échantillons","example":10,"title":"Nombre d'échantillons"},"subTotal":{"type":"number","description":"Le sous total","example":1000,"title":"Sous total"},"analyses":{"description":"Les analyses","example":[{"parameterNormId":"1","normName":"Norme 1","paramName":"Paramètre 1","parameterId":"1","paramPrice":1000},{"parameterNormId":"2","normName":"Norme 2","paramName":"Paramètre 2","parameterId":"2","paramPrice":2000}],"type":"array","items":{"$ref":"#/components/schemas/CreateProformaDraftItemAnalyseDto"}}},"required":["intitule","nbEchantillon","subTotal","analyses"]},"CreateProformaDraftDto":{"type":"object","properties":{"libelle":{"type":"string","description":"Le libellé de la proforma","example":"Proforma pour le client ABC","title":"Libellé"},"includeTransport":{"type":"boolean","description":"Indique si la proforma inclut le transport","example":true,"title":"Inclure le transport"},"includeKit":{"type":"boolean","description":"Indique si la proforma inclut le kit","example":true,"title":"Inclure le kit"},"montantTotal":{"type":"number","description":"Le montant total de la proforma","example":1000,"title":"Montant total"},"items":{"description":"Les items de la proforma","example":[{"intitule":"Item 1","nbEchantillon":10,"subTotal":1000,"analyses":[{"parameterNormId":"1","normName":"Norme 1","paramName":"Paramètre 1","parameterId":"1","paramPrice":1000},{"parameterNormId":"2","normName":"Norme 2","paramName":"Paramètre 2","parameterId":"2","paramPrice":2000}]}],"type":"array","items":{"$ref":"#/components/schemas/CreateProformaDraftItemDto"}},"observation":{"type":"string","description":"L'observation de la proforma","example":"Observation de la proforma","title":"Observation"}},"required":["libelle","includeTransport","includeKit","montantTotal","items","observation"]},"UpdateProformaDraftDto":{"type":"object","properties":{"libelle":{"type":"string","description":"Le libellé de la proforma","example":"Proforma pour le client ABC","title":"Libellé"},"includeTransport":{"type":"boolean","description":"Indique si la proforma inclut le transport","example":true,"title":"Inclure le transport"},"includeKit":{"type":"boolean","description":"Indique si la proforma inclut le kit","example":true,"title":"Inclure le kit"},"montantTotal":{"type":"number","description":"Le montant total de la proforma","example":1000,"title":"Montant total"},"items":{"description":"Les items de la proforma","example":[{"intitule":"Item 1","nbEchantillon":10,"subTotal":1000,"analyses":[{"parameterNormId":"1","normName":"Norme 1","paramName":"Paramètre 1","parameterId":"1","paramPrice":1000},{"parameterNormId":"2","normName":"Norme 2","paramName":"Paramètre 2","parameterId":"2","paramPrice":2000}]}],"type":"array","items":{"$ref":"#/components/schemas/CreateProformaDraftItemDto"}},"observation":{"type":"string","description":"L'observation de la proforma","example":"Observation de la proforma","title":"Observation"}}},"CreateNatureConfigDto":{"type":"object","properties":{"key":{"type":"string","description":"Clé unique pour la configuration (ex: \"aliment\", \"eau\", \"sol\")"},"label":{"type":"string","description":"Nom d'affichage de la nature d'échantillon"},"description":{"type":"string","description":"Description détaillée de la nature d'échantillon"},"tags":{"description":"Liste des tags associés à cette nature pour la classification et le mapping","example":["cacao","tomate","huile","cajou"],"type":"array","items":{"type":"string"}},"color":{"type":"string","description":"Couleur en format hexadécimal pour l'affichage","example":"#4CAF50"},"icon":{"type":"string","description":"Icône pour l'affichage dans l'interface"},"sortOrder":{"type":"number","description":"Ordre de tri pour l'affichage"},"isActive":{"type":"boolean","description":"Indique si la configuration est active","default":true}},"required":["key","label","tags","isActive"]},"UpdateNatureConfigDto":{"type":"object","properties":{"label":{"type":"string","description":"Nom d'affichage de la nature d'échantillon"},"description":{"type":"string","description":"Description détaillée de la nature d'échantillon"},"tags":{"description":"Liste des tags associés à cette nature pour la classification et le mapping","example":["cacao","tomate","huile","cajou"],"type":"array","items":{"type":"string"}},"color":{"type":"string","description":"Couleur en format hexadécimal pour l'affichage","example":"#4CAF50"},"icon":{"type":"string","description":"Icône pour l'affichage dans l'interface"},"sortOrder":{"type":"number","description":"Ordre de tri pour l'affichage"},"isActive":{"type":"boolean","description":"Indique si la configuration est active"}}},"ReorderNatureConfigDto":{"type":"object","properties":{"orderedIds":{"description":"Liste ordonnée des IDs des configurations","example":["uuid-1","uuid-2","uuid-3"],"type":"array","items":{"type":"string"}}},"required":["orderedIds"]},"CreatePredictionModelDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du modèle de prédiction"},"description":{"type":"string","description":"Description du modèle"},"modelType":{"type":"string","description":"Type de prédiction","enum":["REVENUE","CUSTOMER_CHURN","SAMPLE_DEMAND","RESOURCE_NEEDS","MARKET_TRENDS","COST_PROJECTION","CUSTOM"],"example":"REVENUE"},"algorithm":{"type":"string","description":"Algorithme utilisé","example":"regression"},"parameters":{"type":"object","description":"Paramètres du modèle","example":{"learningRate":0.01,"epochs":100}}},"required":["name","modelType","algorithm","parameters"]},"UpdatePredictionModelDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom du modèle de prédiction"},"description":{"type":"string","description":"Description du modèle"},"parameters":{"type":"object","description":"Paramètres du modèle","example":{"learningRate":0.01,"epochs":100}},"status":{"type":"string","description":"Statut du modèle","enum":["DRAFT","TRAINING","ACTIVE","DEPRECATED","ARCHIVED"]},"trainingMetrics":{"type":"object","description":"Métriques d'entraînement"}}},"TrainModelDto":{"type":"object","properties":{"trainingConfig":{"type":"object","description":"Paramètres d'entraînement","example":{"startDate":"2024-01-01","endDate":"2025-01-01","splitRatio":0.8,"features":["revenue","clientsCount","samplesCount"]}}},"required":["trainingConfig"]},"CreatePredictionDto":{"type":"object","properties":{"modelId":{"type":"string","description":"ID du modèle à utiliser"},"predictionType":{"type":"string","description":"Type de prédiction","enum":["REVENUE","CUSTOMER_CHURN","SAMPLE_DEMAND","RESOURCE_NEEDS","MARKET_TRENDS","COST_PROJECTION","CUSTOM"],"example":"REVENUE"},"targetPeriod":{"type":"string","description":"Période ciblée par la prédiction","enum":["DAILY","WEEKLY","MONTHLY","QUARTERLY","YEARLY"],"example":"MONTHLY"},"targetYear":{"type":"number","description":"Année ciblée","example":2025},"targetMonth":{"type":"number","description":"Mois ciblé (1-12)","example":6},"targetQuarter":{"type":"number","description":"Trimestre ciblé (1-4)","example":2},"targetWeek":{"type":"number","description":"Semaine ciblée (1-53)","example":24},"inputFeatures":{"type":"object","description":"Caractéristiques d'entrée pour la prédiction"}},"required":["modelId","predictionType","targetPeriod","targetYear"]},"VerifyPredictionDto":{"type":"object","properties":{"actualData":{"type":"object","description":"Données réelles pour vérification","example":{"revenue":125000,"clientsCount":42}},"verificationDate":{"type":"string","description":"Date de vérification","example":"2025-07-01"}},"required":["actualData"]},"CreatePredictionAlertDto":{"type":"object","properties":{"title":{"type":"string","description":"Titre de l'alerte"},"description":{"type":"string","description":"Description de l'alerte"},"alertType":{"type":"string","description":"Type d'alerte","enum":["REVENUE_DROP","HIGH_CHURN_RISK","RESOURCE_SHORTAGE","DEMAND_SPIKE","COST_INCREASE","PERFORMANCE_ISSUE","CUSTOM"],"example":"REVENUE_DROP"},"severity":{"type":"string","description":"Sévérité de l'alerte","enum":["LOW","MEDIUM","HIGH","CRITICAL"],"example":"MEDIUM","default":"MEDIUM"},"conditions":{"type":"object","description":"Conditions qui déclenchent l'alerte","example":{"metric":"revenue","operator":"lt","value":100000}},"thresholds":{"type":"object","description":"Seuils de déclenchement","example":{"warning":110000,"critical":100000}},"predictionId":{"type":"string","description":"ID de la prédiction associée"},"notifyUsers":{"description":"Liste des utilisateurs à notifier","example":["userId1","userId2"],"type":"array","items":{"type":"string"}},"notifyRoles":{"description":"Liste des rôles à notifier","example":["ADMIN","MANAGER"],"type":"array","items":{"type":"string"}}},"required":["title","alertType","severity","conditions","thresholds"]},"UpdatePredictionAlertDto":{"type":"object","properties":{"title":{"type":"string","description":"Titre de l'alerte"},"description":{"type":"string","description":"Description de l'alerte"},"alertType":{"type":"string","description":"Type d'alerte","enum":["REVENUE_DROP","HIGH_CHURN_RISK","RESOURCE_SHORTAGE","DEMAND_SPIKE","COST_INCREASE","PERFORMANCE_ISSUE","CUSTOM"]},"severity":{"type":"string","description":"Sévérité de l'alerte","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"conditions":{"type":"object","description":"Conditions qui déclenchent l'alerte"},"thresholds":{"type":"object","description":"Seuils de déclenchement"},"isActive":{"type":"boolean","description":"État d'activation de l'alerte"},"notifyUsers":{"description":"Liste des utilisateurs à notifier","type":"array","items":{"type":"string"}},"notifyRoles":{"description":"Liste des rôles à notifier","type":"array","items":{"type":"string"}}}},"AcknowledgeAlertDto":{"type":"object","properties":{"note":{"type":"string","description":"Note d'acquittement"}}},"CreateContractDto":{"type":"object","properties":{"contractNumber":{"type":"string","description":"Numéro du contrat"},"title":{"type":"string","description":"Titre du contrat"},"description":{"type":"string","description":"Description du contrat"},"startDate":{"type":"string","description":"Date de début du contrat"},"endDate":{"type":"string","description":"Date de fin du contrat"},"companyId":{"type":"string","description":"ID de la compagnie"},"status":{"type":"string","description":"Statut du contrat","enum":["ACTIVE","INACTIVE","TERMINATED","PENDING","DRAFT"]}},"required":["title","startDate","companyId"]},"ContractItem":{"type":"object","properties":{"id":{"type":"string"},"contractId":{"type":"string"},"itemName":{"type":"string"},"description":{"type":"string"},"sourceName":{"type":"string"},"sourceEmail":{"type":"string"},"price":{"type":"number"},"serviceProviderId":{"type":"string"},"isActive":{"type":"boolean"},"isDeleted":{"type":"boolean"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"deletedAt":{"format":"date-time","type":"string"},"deletedBy":{"type":"string"},"contract":{"type":"object"},"serviceProvider":{"type":"object"},"analyses":{"type":"array","items":{"$ref":"#/components/schemas/ContractItemAnalysis"}},"proformaItems":{"type":"array","items":{"type":"string"}},"echantillonItems":{"type":"array","items":{"type":"string"}}},"required":["id","contractId","itemName","price","serviceProviderId","isActive","isDeleted","createdAt","updatedAt"]},"Contract":{"type":"object","properties":{"id":{"type":"string"},"contractNumber":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"totalItemsPrice":{"type":"number"},"sourceName":{"type":"string"},"sourceEmail":{"type":"string"},"companyId":{"type":"string"},"serviceProviderId":{"type":"string"},"status":{"type":"string","enum":["ACTIVE","INACTIVE","TERMINATED","PENDING","DRAFT"]},"isDeleted":{"type":"boolean"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"deletedAt":{"format":"date-time","type":"string"},"deletedBy":{"type":"string"},"contractItems":{"type":"array","items":{"$ref":"#/components/schemas/ContractItem"}}},"required":["id","title","totalItemsPrice","companyId","serviceProviderId","status","isDeleted","createdAt","updatedAt"]},"UpdateContractDto":{"type":"object","properties":{"contractNumber":{"type":"string","description":"Numéro du contrat"},"title":{"type":"string","description":"Titre du contrat"},"description":{"type":"string","description":"Description du contrat"},"startDate":{"type":"string","description":"Date de début du contrat"},"endDate":{"type":"string","description":"Date de fin du contrat"},"companyId":{"type":"string","description":"ID de la compagnie"},"status":{"type":"string","description":"Statut du contrat","enum":["ACTIVE","INACTIVE","TERMINATED","PENDING","DRAFT"]}}},"CreateContractItemAnalysisDto":{"type":"object","properties":{"laboratoryId":{"type":"string","description":"ID du laboratoire"},"matrixId":{"type":"string","description":"ID de la matrice"},"parameterName":{"type":"string","description":"Nom du paramètre"},"parameterId":{"type":"string","description":"ID du paramètre"},"parameterNormId":{"type":"string","description":"ID de la norme du paramètre"},"normeName":{"type":"string","description":"Nom de la norme"},"parameterPrice":{"type":"number","description":"Prix du paramètre","default":0}},"required":["laboratoryId","parameterName"]},"CreateContractItemDto":{"type":"object","properties":{"contractId":{"type":"string","description":"ID du contrat"},"itemName":{"type":"string","description":"Nom de l'élément du contrat"},"description":{"type":"string","description":"Description de l'élément"},"price":{"type":"number","description":"Prix de l'élément"},"isActive":{"type":"boolean","description":"Actif ou non","default":true},"analyses":{"description":"Analyses associées à cet élément de contrat","type":"array","items":{"$ref":"#/components/schemas/CreateContractItemAnalysisDto"}}},"required":["contractId","itemName","price"]},"ContractItemAnalysis":{"type":"object","properties":{"id":{"type":"string"},"contractId":{"type":"string"},"contractItemId":{"type":"string"},"laboratoryId":{"type":"string"},"matrixId":{"type":"string"},"parameterName":{"type":"string"},"parameterId":{"type":"string"},"parameterNormId":{"type":"string"},"normeName":{"type":"string"},"parameterPrice":{"type":"number"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"contractLabId":{"type":"string"},"laboratory":{"type":"object"},"matrix":{"type":"object"},"parameter":{"type":"object"},"parameterNorm":{"type":"object"},"contractLab":{"type":"object"}},"required":["id","contractId","contractItemId","laboratoryId","parameterName","parameterPrice","createdAt","updatedAt"]},"UpdateContractItemDto":{"type":"object","properties":{"contractId":{"type":"string","description":"ID du contrat"},"itemName":{"type":"string","description":"Nom de l'élément du contrat"},"description":{"type":"string","description":"Description de l'élément"},"price":{"type":"number","description":"Prix de l'élément"},"isActive":{"type":"boolean","description":"Actif ou non","default":true},"analyses":{"description":"Analyses associées à cet élément de contrat","type":"array","items":{"$ref":"#/components/schemas/CreateContractItemAnalysisDto"}}}},"ManageAnalysesDto":{"type":"object","properties":{"parameterNormIds":{"description":"Liste des IDs de normes de paramètres à ajouter/supprimer","example":["uuid-1","uuid-2","uuid-3"],"type":"array","items":{"type":"string"}}},"required":["parameterNormIds"]},"CreateReclamationDto":{"type":"object","properties":{"titre":{"type":"string","description":"The title of the reclamation","example":"Reclamation Title"},"description":{"type":"string","description":"The description of the reclamation","example":"Reclamation Description"},"type":{"type":"string","description":"The type of the reclamation","example":"DEMANDE_MODIFICATION","enum":["NON_CONFORMITE_RESULTAT","NON_CONFORMITE_DELAI","NON_CONFORMITE_RAPPORT","NON_CONFORMITE_PRELEVEMENT","NON_CONFORMITE_ECHANTILLON","NON_CONFORMITE_METHODE","NON_CONFORMITE_EQUIPEMENT","NON_CONFORMITE_TRAÇABILITE","DEMANDE_MODIFICATION","DEMANDE_REANALYSE","DEMANDE_ANNULATION","FACTURATION_INCORRECTE","DEVIS_INCORRECT","COMMUNICATION_INSUFFISANTE","DELAI_REPONSE_LONG","INFORMATION_MANQUANTE","INFORMATION_ERRONEE","PROBLEME_LIVRAISON","PERTE_ECHANTILLON","DETERIORATION_ECHANTILLON","CONDITIONNEMENT_INADEQUAT","ACCUEIL_CLIENT","COMPETENCE_PERSONNEL","CONSEIL_TECHNIQUE_INADEQUAT","NON_RESPECT_CONFIDENTIALITE","NON_CONFORMITE_NORME","PORTEE_ACCREDITATION","INCERTITUDE_MESURE","RECLAMATION_SOUS_TRAITANT","AUTRE"]},"priority":{"type":"string","description":"The priority of the reclamation","example":"BASSE","enum":["BASSE","NORMALE","HAUTE","CRITIQUE"]},"impact":{"type":"string","description":"The impact of the reclamation","example":"MINEUR","enum":["MINEUR","MAJEUR","CRITIQUE"]},"contactName":{"type":"string","description":"The name of the contact","example":"John Doe"},"contactEmail":{"type":"string","description":"The email of the contact","example":"john.doe@example.com"},"contactPhone":{"type":"string","description":"The phone of the contact","example":"+33 1 23 45 67 89"},"rapportIds":{"description":"The IDs of the rapports","example":["1","2","3"],"type":"array","items":{"type":"string"}},"echantillonIds":{"description":"The IDs of the echantillons","example":["1","2","3"],"type":"array","items":{"type":"string"}},"dateEcheance":{"type":"string","description":"The date of the expiration","example":"2025-01-01"},"laboratoireIds":{"description":"The IDs of the laboratoires","example":["1","2","3"],"type":"array","items":{"type":"string"}},"estFondee":{"type":"boolean","description":"Whether the claim is considered founded","example":true},"necessiteDedommagement":{"type":"boolean","description":"Whether compensation is required","example":false},"detailsDedommagement":{"type":"string","description":"Compensation details","example":"Avoir commercial de 10% sur la prochaine facture"},"problemesAssocies":{"type":"string","description":"Related issues identified during review","example":"Retard + erreur de communication client"},"causesIdentifiees":{"type":"string","description":"Root causes identified during investigation","example":"Absence de validation croisée avant envoi du rapport"},"actionsCorrectivesEnvisagees":{"type":"boolean","description":"Whether corrective actions must be considered","example":true},"descriptionActionsCorrectives":{"type":"string","description":"Description of considered corrective actions","example":"Mettre en place une check-list de validation avant diffusion"},"commentairesAmelioration":{"type":"string","description":"Improvement comments from quality review","example":"Formaliser un point hebdomadaire de suivi réclamations"}},"required":["titre","description","type","priority","impact","contactName","contactEmail","contactPhone","rapportIds","echantillonIds","dateEcheance","laboratoireIds"]},"UpdateReclamationDto":{"type":"object","properties":{"titre":{"type":"string","description":"The title of the reclamation","example":"Reclamation Title"},"description":{"type":"string","description":"The description of the reclamation","example":"Reclamation Description"},"type":{"type":"string","description":"The type of the reclamation","example":"DEMANDE_MODIFICATION","enum":["NON_CONFORMITE_RESULTAT","NON_CONFORMITE_DELAI","NON_CONFORMITE_RAPPORT","NON_CONFORMITE_PRELEVEMENT","NON_CONFORMITE_ECHANTILLON","NON_CONFORMITE_METHODE","NON_CONFORMITE_EQUIPEMENT","NON_CONFORMITE_TRAÇABILITE","DEMANDE_MODIFICATION","DEMANDE_REANALYSE","DEMANDE_ANNULATION","FACTURATION_INCORRECTE","DEVIS_INCORRECT","COMMUNICATION_INSUFFISANTE","DELAI_REPONSE_LONG","INFORMATION_MANQUANTE","INFORMATION_ERRONEE","PROBLEME_LIVRAISON","PERTE_ECHANTILLON","DETERIORATION_ECHANTILLON","CONDITIONNEMENT_INADEQUAT","ACCUEIL_CLIENT","COMPETENCE_PERSONNEL","CONSEIL_TECHNIQUE_INADEQUAT","NON_RESPECT_CONFIDENTIALITE","NON_CONFORMITE_NORME","PORTEE_ACCREDITATION","INCERTITUDE_MESURE","RECLAMATION_SOUS_TRAITANT","AUTRE"]},"priority":{"type":"string","description":"The priority of the reclamation","example":"BASSE","enum":["BASSE","NORMALE","HAUTE","CRITIQUE"]},"impact":{"type":"string","description":"The impact of the reclamation","example":"MINEUR","enum":["MINEUR","MAJEUR","CRITIQUE"]},"contactName":{"type":"string","description":"The name of the contact","example":"John Doe"},"contactEmail":{"type":"string","description":"The email of the contact","example":"john.doe@example.com"},"contactPhone":{"type":"string","description":"The phone of the contact","example":"+33 1 23 45 67 89"},"rapportIds":{"description":"The IDs of the rapports","example":["1","2","3"],"type":"array","items":{"type":"string"}},"echantillonIds":{"description":"The IDs of the echantillons","example":["1","2","3"],"type":"array","items":{"type":"string"}},"dateEcheance":{"type":"string","description":"The date of the expiration","example":"2025-01-01"},"laboratoireIds":{"description":"The IDs of the laboratoires","example":["1","2","3"],"type":"array","items":{"type":"string"}},"estFondee":{"type":"boolean","description":"Whether the claim is considered founded","example":true},"necessiteDedommagement":{"type":"boolean","description":"Whether compensation is required","example":false},"detailsDedommagement":{"type":"string","description":"Compensation details","example":"Avoir commercial de 10% sur la prochaine facture"},"problemesAssocies":{"type":"string","description":"Related issues identified during review","example":"Retard + erreur de communication client"},"causesIdentifiees":{"type":"string","description":"Root causes identified during investigation","example":"Absence de validation croisée avant envoi du rapport"},"actionsCorrectivesEnvisagees":{"type":"boolean","description":"Whether corrective actions must be considered","example":true},"descriptionActionsCorrectives":{"type":"string","description":"Description of considered corrective actions","example":"Mettre en place une check-list de validation avant diffusion"},"commentairesAmelioration":{"type":"string","description":"Improvement comments from quality review","example":"Formaliser un point hebdomadaire de suivi réclamations"},"status":{"type":"string","description":"The status of the reclamation","example":"NOUVELLE","enum":["NOUVELLE","EN_COURS_EVALUATION","EN_COURS_INVESTIGATION","EN_ATTENTE_VALIDATION","ACTIONS_CORRECTIVES","RESOLUE","FERMEE","ANNULEE"]},"evaluationInitiale":{"type":"string","description":"The date of the expiration","example":"2025-01-01"},"resolutionDescription":{"type":"string","description":"The description of the resolution","example":"Resolution Description"},"isEscalade":{"type":"boolean","description":"The is escalade of the reclamation","example":true},"isRecurrente":{"type":"boolean","description":"The is recurrente of the reclamation","example":true},"reclamationParenteId":{"type":"string","description":"The ID of the reclamation parent","example":"1"}},"required":["status","evaluationInitiale","resolutionDescription","isEscalade","isRecurrente","reclamationParenteId"]},"SatisfactionDto":{"type":"object","properties":{}},"CreateActionCorrectiveDto":{"type":"object","properties":{}},"UpdateActionCorrectiveDto":{"type":"object","properties":{}},"EvaluationEfficaciteDto":{"type":"object","properties":{}},"CreateSLADto":{"type":"object","properties":{}},"CreateTemplateDto":{"type":"object","properties":{}},"CreateFilterPresetDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the filter preset","example":"My Critical Issues"},"description":{"type":"string","description":"Optional description of the filter preset","example":"Shows all critical priority reclamations that are overdue"},"entityType":{"type":"string","description":"Entity type: reclamation or non-conformite","example":"reclamation","enum":["reclamation","non-conformite"]},"filterConfig":{"type":"object","description":"Filter configuration object","example":{"priority":"CRITIQUE","status":"EN_COURS","isEscalade":true}},"isDefault":{"type":"boolean","description":"Set as default filter for this entity type","example":false}},"required":["name","entityType","filterConfig"]},"UpdateFilterPresetDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the filter preset","example":"My Critical Issues"},"description":{"type":"string","description":"Optional description of the filter preset","example":"Shows all critical priority reclamations that are overdue"},"filterConfig":{"type":"object","description":"Filter configuration object","example":{"priority":"CRITIQUE","status":"EN_COURS","isEscalade":true}},"isDefault":{"type":"boolean","description":"Set as default filter for this entity type","example":false}}},"UpdateNotificationPreferencesDto":{"type":"object","properties":{"assignmentNotifications":{"type":"boolean","description":"Enable/disable assignment notifications","example":true},"deadlineNotifications":{"type":"boolean","description":"Enable/disable deadline approaching notifications","example":true},"escalationNotifications":{"type":"boolean","description":"Enable/disable escalation notifications","example":true},"actionCompletionNotifications":{"type":"boolean","description":"Enable/disable corrective action completion notifications","example":true},"statusChangeNotifications":{"type":"boolean","description":"Enable/disable status change notifications","example":true},"commentNotifications":{"type":"boolean","description":"Enable/disable comment notifications","example":true},"emailEnabled":{"type":"boolean","description":"Enable/disable email notifications","example":true},"inAppEnabled":{"type":"boolean","description":"Enable/disable in-app notifications","example":true}}},"CreateNonConformityDto":{"type":"object","properties":{"titre":{"type":"string","description":"The title of the non-conformity","example":"Equipment calibration out of specification"},"description":{"type":"string","description":"The description of the non-conformity","example":"pH meter calibration found to be outside acceptable range during routine check"},"type":{"type":"string","description":"The type of the non-conformity","example":"EQUIPEMENT","enum":["TECHNIQUE","METHODOLOGIQUE","EQUIPEMENT","ECHANTILLON","PERSONNEL","ENVIRONNEMENTAL","DOCUMENTATION","SOUS_TRAITANCE","PREANALYTIQUE","POSTANALYTIQUE","ANALYTIQUE"]},"gravite":{"type":"string","description":"The severity of the non-conformity","example":"MAJEURE","enum":["MINEURE","MAJEURE","CRITIQUE"]},"laboratoryId":{"type":"string","description":"The laboratory ID where the non-conformity was detected","example":"123e4567-e89b-12d3-a456-426614174000"},"phaseDetection":{"type":"string","description":"The phase of detection","example":"Analytique"},"rapportAnalyseId":{"type":"string","description":"The report ID linked to this non-conformity","example":"123e4567-e89b-12d3-a456-426614174000"},"echantillonId":{"type":"string","description":"The sample ID linked to this non-conformity","example":"123e4567-e89b-12d3-a456-426614174000"},"analyseId":{"type":"string","description":"The analysis ID linked to this non-conformity","example":"123e4567-e89b-12d3-a456-426614174000"},"equipement":{"type":"string","description":"The equipment involved","example":"pH Meter - Serial #12345"},"actionsImmediates":{"type":"string","description":"IMMEDIATE CONTAINMENT ACTIONS (distinct from corrective actions): Actions taken immediately to contain the non-conformity and prevent it from spreading. These are temporary measures taken before root cause analysis. Required before proceeding to EN_ANALYSE status.","example":"Equipment taken out of service and tagged. Samples re-analyzed with backup equipment. Affected reports flagged for review."}},"required":["titre","description","type","gravite"]},"UpdateNonConformityDto":{"type":"object","properties":{"titre":{"type":"string","description":"The title of the non-conformity","example":"Equipment calibration out of specification"},"description":{"type":"string","description":"The description of the non-conformity","example":"pH meter calibration found to be outside acceptable range during routine check"},"type":{"type":"string","description":"The type of the non-conformity","example":"EQUIPEMENT","enum":["TECHNIQUE","METHODOLOGIQUE","EQUIPEMENT","ECHANTILLON","PERSONNEL","ENVIRONNEMENTAL","DOCUMENTATION","SOUS_TRAITANCE","PREANALYTIQUE","POSTANALYTIQUE","ANALYTIQUE"]},"gravite":{"type":"string","description":"The severity of the non-conformity","example":"MAJEURE","enum":["MINEURE","MAJEURE","CRITIQUE"]},"laboratoryId":{"type":"string","description":"The laboratory ID where the non-conformity was detected","example":"123e4567-e89b-12d3-a456-426614174000"},"phaseDetection":{"type":"string","description":"The phase of detection","example":"Analytique"},"rapportAnalyseId":{"type":"string","description":"The report ID linked to this non-conformity","example":"123e4567-e89b-12d3-a456-426614174000"},"echantillonId":{"type":"string","description":"The sample ID linked to this non-conformity","example":"123e4567-e89b-12d3-a456-426614174000"},"analyseId":{"type":"string","description":"The analysis ID linked to this non-conformity","example":"123e4567-e89b-12d3-a456-426614174000"},"equipement":{"type":"string","description":"The equipment involved","example":"pH Meter - Serial #12345"},"actionsImmediates":{"type":"string","description":"IMMEDIATE CONTAINMENT ACTIONS (distinct from corrective actions): Actions taken immediately to contain the non-conformity and prevent it from spreading. These are temporary measures taken before root cause analysis. Required before proceeding to EN_ANALYSE status.","example":"Equipment taken out of service and tagged. Samples re-analyzed with backup equipment. Affected reports flagged for review."},"statut":{"type":"string","description":"The status of the non-conformity","example":"EN_ANALYSE","enum":["DETECTEE","EN_ANALYSE","ACTIONS_EN_COURS","EN_VERIFICATION","CLOTUREE","VALIDEE"]},"analyseCauses":{"type":"string","description":"Root cause analysis details","example":"5 Whys analysis performed..."},"causeRacine":{"type":"string","description":"Identified root cause","example":"Calibration procedure not followed correctly"},"impactClient":{"type":"boolean","description":"Does this impact the customer?","example":false},"impactValidite":{"type":"boolean","description":"Does this impact result validity?","example":true},"echantillonsImpactes":{"type":"number","description":"Number of samples impacted","example":5},"rapportsImpactes":{"type":"number","description":"Number of reports impacted","example":2}}},"ChangeStatusDto":{"type":"object","properties":{"newStatus":{"type":"string","description":"The new status","example":"EN_ANALYSE","enum":["DETECTEE","EN_ANALYSE","ACTIONS_EN_COURS","EN_VERIFICATION","CLOTUREE","VALIDEE"]},"comment":{"type":"string","description":"Optional comment explaining the status change","example":"Moving to analysis phase after immediate actions completed"}},"required":["newStatus"]},"LinkEntityDto":{"type":"object","properties":{"entityId":{"type":"string","description":"The entity ID to link","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["entityId"]},"AddWhyDto":{"type":"object","properties":{"question":{"type":"string","description":"The \"Why\" question","example":"Why was the calibration out of specification?"},"answer":{"type":"string","description":"The answer to the \"Why\" question","example":"The calibration procedure was not followed correctly"},"level":{"type":"number","description":"The level of the \"Why\" (1-5)","example":1,"minimum":1,"maximum":5}},"required":["question","answer","level"]},"AddIshikawaCategoryDto":{"type":"object","properties":{"category":{"type":"string","description":"The Ishikawa category","example":"MAN","enum":["MAN","MACHINE","METHOD","MATERIAL","MEASUREMENT","ENVIRONMENT"]},"causes":{"description":"Array of causes for this category","example":["Lack of training","Insufficient supervision"],"type":"array","items":{"type":"string"}}},"required":["category","causes"]},"IdentifyRootCauseDto":{"type":"object","properties":{"rootCause":{"type":"string","description":"The identified root cause","example":"Inadequate training program for new equipment calibration procedures"}},"required":["rootCause"]},"AssessImpactDto":{"type":"object","properties":{"impactClient":{"type":"boolean","description":"Does this non-conformity impact customers?","example":true},"impactValidite":{"type":"boolean","description":"Does this non-conformity impact result validity?","example":true},"echantillonsImpactes":{"type":"number","description":"Number of samples impacted","example":5,"minimum":0},"rapportsImpactes":{"type":"number","description":"Number of reports impacted","example":2,"minimum":0}},"required":["impactClient","impactValidite","echantillonsImpactes","rapportsImpactes"]},"ValidateForClosureDto":{"type":"object","properties":{"comment":{"type":"string","description":"Optional comment from quality manager on validation","example":"All requirements met. Approved for closure."}}},"RejectValidationDto":{"type":"object","properties":{"reason":{"type":"string","description":"Reason for rejecting validation (required)","example":"Effectiveness verification is incomplete. Please provide more evidence that the corrective actions have resolved the issue."}},"required":["reason"]},"CreatePolicyDto":{"type":"object","properties":{"code":{"type":"string","description":"The code of the policy","example":"POL-INT-001"},"title":{"type":"string","description":"The title of the policy","example":"Policy Title"},"description":{"type":"string","description":"The description of the policy","example":"Policy Description"},"type":{"type":"string","description":"The type of the policy","example":"INTERNAL","enum":["INTERNAL","EXTERNAL"]},"scope":{"type":"string","description":"The scope of the policy","example":"GLOBAL","enum":["PROFORMA","PRELEVEMENT","DEMANDE_ANALYSE","PLANIFICATION","SAISIE_RESULTAT","ENVOI_RAPPORT","GLOBAL"]},"status":{"type":"string","description":"The status of the policy","example":"ACTIVE","enum":["ACTIVE","DRAFT","ARCHIVED"]},"version":{"type":"number","description":"The version of the policy","example":1},"checklistItems":{"type":"object","description":"The checklist items of the policy","example":[{"id":"1","label":"Item 1","required":true,"order":1}]},"termsContent":{"type":"string","description":"The terms content of the policy","example":"<p>Terms content</p>"}},"required":["code","title","description","type","scope","status","version","checklistItems","termsContent"]},"UpdatePolicyDto":{"type":"object","properties":{"code":{"type":"string","description":"The code of the policy","example":"POL-INT-001"},"title":{"type":"string","description":"The title of the policy","example":"Policy Title"},"description":{"type":"string","description":"The description of the policy","example":"Policy Description"},"type":{"type":"string","description":"The type of the policy","example":"INTERNAL","enum":["INTERNAL","EXTERNAL"]},"scope":{"type":"string","description":"The scope of the policy","example":"GLOBAL","enum":["PROFORMA","PRELEVEMENT","DEMANDE_ANALYSE","PLANIFICATION","SAISIE_RESULTAT","ENVOI_RAPPORT","GLOBAL"]},"status":{"type":"string","description":"The status of the policy","example":"ACTIVE","enum":["ACTIVE","DRAFT","ARCHIVED"]},"version":{"type":"number","description":"The version of the policy","example":1},"checklistItems":{"type":"object","description":"The checklist items of the policy","example":[{"id":"1","label":"Item 1","required":true,"order":1}]},"termsContent":{"type":"string","description":"The terms content of the policy","example":"<p>Terms content</p>"}}},"ValidatePolicyDto":{"type":"object","properties":{"policyId":{"type":"string","description":"The ID of the policy","example":"1"},"entityType":{"type":"string","description":"The type of the entity","example":"Proforma"},"entityId":{"type":"string","description":"The ID of the entity","example":"1"},"validatedById":{"type":"string","description":"The ID of the user who validated the policy","example":"1"},"checklistData":{"type":"object","description":"The checklist data","example":[{"id":"1","label":"Item 1","required":true,"order":1}]},"notes":{"type":"string","description":"The notes of the policy","example":"Notes"}},"required":["policyId","entityType","entityId","validatedById","checklistData","notes"]},"AcceptPolicyDto":{"type":"object","properties":{"policyId":{"type":"string","description":"The ID of the policy","example":"1"},"documentType":{"type":"string","description":"The type of the document","example":"Proforma"},"documentId":{"type":"string","description":"The ID of the document","example":"1"},"customerId":{"type":"string","description":"The ID of the customer","example":"1"},"userId":{"type":"string","description":"The ID of the user","example":"1"},"ipAddress":{"type":"string","description":"The IP address of the user","example":"127.0.0.1"},"userAgent":{"type":"string","description":"The user agent of the user","example":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},"signature":{"type":"string","description":"The signature of the user","example":"base64-signature"}},"required":["policyId","documentType","documentId","customerId","userId","ipAddress","userAgent","signature"]},"UpdateDelayTrackingDto":{"type":"object","properties":{"demandeId":{"type":"string","description":"The ID of the demande","example":"1"},"expectedDate":{"type":"string","description":"The expected date of the demande","example":"2025-01-01"},"actualDate":{"type":"string","description":"The actual date of the demande","example":"2025-01-01"},"delayInDays":{"type":"number","description":"The delay in days of the demande","example":1},"isDelayed":{"type":"boolean","description":"The is delayed of the demande","example":true},"delayReason":{"type":"string","description":"The delay reason of the demande","example":"Delay reason"},"correctiveAction":{"type":"string","description":"The corrective action of the demande","example":"Corrective action"},"responsibleId":{"type":"string","description":"The responsible ID of the demande","example":"1"},"isResolved":{"type":"boolean","description":"The is resolved of the demande","example":true},"dgNotified":{"type":"boolean","description":"The dg notified of the demande","example":true},"dgNotifiedAt":{"type":"string","description":"The dg notified at of the demande","example":"2025-01-01"},"dgNotifiedBy":{"type":"string","description":"The dg notified by of the demande","example":"1"}},"required":["isResolved","dgNotified","dgNotifiedAt","dgNotifiedBy"]},"CreateEquipmentDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom de l'équipement","example":"Spectromètre UV-Vis"},"description":{"type":"string","description":"Description de l'équipement"},"brand":{"type":"string","description":"Marque","example":"Shimadzu"},"model":{"type":"string","description":"Modèle","example":"UV-1800"},"serialNumber":{"type":"string","description":"Numéro de série"},"laboratoryId":{"type":"string","description":"ID du laboratoire"}},"required":["name","laboratoryId"]},"UpdateEquipmentDto":{"type":"object","properties":{"name":{"type":"string","description":"Nom de l'équipement"},"description":{"type":"string","description":"Description"},"brand":{"type":"string","description":"Marque"},"model":{"type":"string","description":"Modèle"},"serialNumber":{"type":"string","description":"Numéro de série"}}},"AffectedParameterDto":{"type":"object","properties":{"parameterId":{"type":"string","description":"ID du paramètre"},"parameterNormId":{"type":"string","description":"ID du paramètre norme"}},"required":["parameterId","parameterNormId"]},"CreateBreakdownDto":{"type":"object","properties":{"equipmentName":{"type":"string","description":"Nom de l'équipement (auto-create si nouveau)","example":"Spectromètre UV-Vis"},"equipmentId":{"type":"string","description":"ID de l'équipement existant (optionnel)"},"description":{"type":"string","description":"Description du problème"},"resolutionDeadline":{"type":"string","description":"Délai de résolution estimé","example":"2026-03-15T00:00:00.000Z"},"laboratoryId":{"type":"string","description":"ID du laboratoire"},"affectedParameterNormIds":{"description":"Paramètres affectés","type":"array","items":{"$ref":"#/components/schemas/AffectedParameterDto"}}},"required":["equipmentName","description","laboratoryId"]},"UpdateBreakdownDto":{"type":"object","properties":{"status":{"type":"string","description":"Statut de la panne","enum":["REPORTED","IN_REPAIR","RESOLVED","IRREPARABLE"]},"resolutionComment":{"type":"string","description":"Commentaire de résolution"},"resolutionDeadline":{"type":"string","description":"Délai de résolution"},"description":{"type":"string","description":"Description du problème"},"affectedParameterNormIds":{"description":"Paramètres affectés","type":"array","items":{"$ref":"#/components/schemas/AffectedParameterDto"}}}},"CreateContactDto":{"type":"object","properties":{"nom":{"type":"string","description":"Nom complet","example":"Jean Dupont"},"email":{"type":"string","description":"Adresse email","example":"jean.dupont@example.com"},"telephone":{"type":"string","description":"Numéro de téléphone","example":"+225 07 09 09 09 09"},"sujet":{"type":"string","description":"Sujet du message","enum":["information","devis","suivi","support","reclamation","partenariat","autre"],"example":"information"},"message":{"type":"string","description":"Message","example":"Je souhaite obtenir des informations sur vos services..."},"rgpd":{"type":"boolean","description":"Acceptation RGPD","example":true}},"required":["nom","email","sujet","message","rgpd"]}}}}