> For the complete documentation index, see [llms.txt](https://documentation.efalia.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.efalia.com/api-reference/efalia-doc-api/securite.md).

# Sécurité

## GET /api/roles

> Liste des rôles

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"Role":{"type":"object","required":["id","nom","armoires"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"nom":{"type":"string"},"armoires":{"type":"array","items":{"$ref":"#/components/schemas/ArmoireId"}}}},"RoleId":{"type":"string","format":"uuid"},"ArmoireId":{"type":"string","format":"uuid"}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles":{"get":{"operationId":"roles","summary":"Liste des rôles","tags":["Sécurité","Admin"],"responses":{"200":{"description":"Tableau JSON de tous les rôles","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Role"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## POST /api/roles

> Créer un rôle

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"Role":{"type":"object","required":["id","nom","armoires"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"nom":{"type":"string"},"armoires":{"type":"array","items":{"$ref":"#/components/schemas/ArmoireId"}}}},"RoleId":{"type":"string","format":"uuid"},"ArmoireId":{"type":"string","format":"uuid"}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles":{"post":{"operationId":"creerRole","summary":"Créer un rôle","tags":["Sécurité","Admin"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["nom"],"properties":{"nom":{"type":"string"}}}}}},"responses":{"201":{"description":"Le rôle a été créé","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"400":{"description":"Le nom est invalide","content":{"application/json":{"schema":{"title":"Requete invalide","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["nom_obligatoire","format_payload_invalide"]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## PUT /api/roles/{id}

> Modification d'un rôle

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"},"Role":{"type":"object","required":["id","nom","armoires"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"nom":{"type":"string"},"armoires":{"type":"array","items":{"$ref":"#/components/schemas/ArmoireId"}}}},"ArmoireId":{"type":"string","format":"uuid"}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{id}":{"put":{"operationId":"modifierRole","summary":"Modification d'un rôle","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"id","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["nom"],"properties":{"nom":{"type":"string"}}}}}},"responses":{"200":{"description":"Le rôle a été modifié","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"400":{"description":"Le nom est invalide","content":{"application/json":{"schema":{"title":"Requete invalide","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["nom_obligatoire","format_payload_invalide"]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle n'existe pas","content":{"application/json":{"schema":{"title":"Role inexistant","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## DELETE /api/roles/{id}

> Suppression d'un rôle

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{id}":{"delete":{"operationId":"supprimerRole","summary":"Suppression d'un rôle","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"id","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"204":{"description":"Le rôle a été supprimé"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle n'existe pas","content":{"application/json":{"schema":{"title":"Role inexistant","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## POST /api/roles/{id}/armoires

> Associer des armoires à un rôle

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"},"ArmoireId":{"type":"string","format":"uuid"},"Role":{"type":"object","required":["id","nom","armoires"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"nom":{"type":"string"},"armoires":{"type":"array","items":{"$ref":"#/components/schemas/ArmoireId"}}}}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{id}/armoires":{"post":{"operationId":"associerArmoiresRole","summary":"Associer des armoires à un rôle","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"id","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["armoires"],"properties":{"armoires":{"type":"array","items":{"$ref":"#/components/schemas/ArmoireId"}}}}}}},"responses":{"200":{"description":"Les armoires ont été associées","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle ou une armoire n'existe pas","content":{"application/json":{"schema":{"title":"Ressource inexistante","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant","armoire_inexistante"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## DELETE /api/roles/{id}/armoires

> Dissocier des armoires d'un rôle

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"},"ArmoireId":{"type":"string","format":"uuid"},"Role":{"type":"object","required":["id","nom","armoires"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"nom":{"type":"string"},"armoires":{"type":"array","items":{"$ref":"#/components/schemas/ArmoireId"}}}}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{id}/armoires":{"delete":{"operationId":"dissocierArmoiresRole","summary":"Dissocier des armoires d'un rôle","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"id","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["armoires"],"properties":{"armoires":{"type":"array","items":{"$ref":"#/components/schemas/ArmoireId"}}}}}}},"responses":{"200":{"description":"Les armoires ont été dissociées","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle ou une armoire n'existe pas","content":{"application/json":{"schema":{"title":"Ressource inexistante","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant","armoire_inexistante"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## POST /api/roles/{id}/utilisateurs

> Associer des utilisateurs à un rôle

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"},"UtilisateurId":{"type":"string","format":"uuid"},"Utilisateur":{"type":"object","required":["id","identifiant","nomComplet","email","estAdministrateur","estActif","roles","vientDuLdap","vientDeMgLogin","filtresAcces","doitChangerMotDePasse","licencePcuAttribuee"],"properties":{"id":{"$ref":"#/components/schemas/UtilisateurId"},"identifiant":{"type":"string"},"nomComplet":{"type":"string"},"email":{"type":"string"},"estAdministrateur":{"type":"boolean"},"estActif":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"vientDuLdap":{"type":"boolean"},"vientDeMgLogin":{"type":"boolean"},"filtresAcces":{"type":"array","items":{"type":"object","required":["filtre","valeurs"],"properties":{"filtre":{"$ref":"#/components/schemas/FiltreAccesId"},"valeurs":{"type":"array","items":{"$ref":"#/components/schemas/FiltreAccesValeurId"}}}},"description":"Les filtres sans valeur n'apparaissent pas"},"doitChangerMotDePasse":{"type":"boolean"},"licencePcuAttribuee":{"type":"boolean"}}},"FiltreAccesId":{"type":"string","format":"uuid"},"FiltreAccesValeurId":{"type":"string","format":"uuid"}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{id}/utilisateurs":{"post":{"operationId":"associerUtilisateursRole","summary":"Associer des utilisateurs à un rôle","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"id","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["utilisateurs"],"properties":{"utilisateurs":{"type":"array","items":{"$ref":"#/components/schemas/UtilisateurId"}}}}}}},"responses":{"200":{"description":"Les utilisateurs ont été associés","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Utilisateur"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle ou un utilisateur n'existe pas","content":{"application/json":{"schema":{"title":"Ressource inexistante","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant","utilisateur_inexistant"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## DELETE /api/roles/{id}/utilisateurs

> Dissocier des utilisateurs d'un rôle

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"},"UtilisateurId":{"type":"string","format":"uuid"},"Utilisateur":{"type":"object","required":["id","identifiant","nomComplet","email","estAdministrateur","estActif","roles","vientDuLdap","vientDeMgLogin","filtresAcces","doitChangerMotDePasse","licencePcuAttribuee"],"properties":{"id":{"$ref":"#/components/schemas/UtilisateurId"},"identifiant":{"type":"string"},"nomComplet":{"type":"string"},"email":{"type":"string"},"estAdministrateur":{"type":"boolean"},"estActif":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"vientDuLdap":{"type":"boolean"},"vientDeMgLogin":{"type":"boolean"},"filtresAcces":{"type":"array","items":{"type":"object","required":["filtre","valeurs"],"properties":{"filtre":{"$ref":"#/components/schemas/FiltreAccesId"},"valeurs":{"type":"array","items":{"$ref":"#/components/schemas/FiltreAccesValeurId"}}}},"description":"Les filtres sans valeur n'apparaissent pas"},"doitChangerMotDePasse":{"type":"boolean"},"licencePcuAttribuee":{"type":"boolean"}}},"FiltreAccesId":{"type":"string","format":"uuid"},"FiltreAccesValeurId":{"type":"string","format":"uuid"}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{id}/utilisateurs":{"delete":{"operationId":"dissocierUtilisateursRole","summary":"Dissocier des utilisateurs d'un rôle","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"id","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["utilisateurs"],"properties":{"utilisateurs":{"type":"array","items":{"$ref":"#/components/schemas/UtilisateurId"}}}}}}},"responses":{"200":{"description":"Les utilisateurs ont été dissociés","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Utilisateur"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle ou un utilisateur n'existe pas","content":{"application/json":{"schema":{"title":"Ressource inexistante","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant","utilisateur_inexistant"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## GET /api/roles/{role}/armoires/{armoire}/habilitations

> Lister les habilitations d'une armoire

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"},"ArmoireId":{"type":"string","format":"uuid"},"HabilitationsArmoire":{"type":"object","required":["gabaritsDeDossier","gabaritsDeDocument"],"properties":{"gabaritsDeDossier":{"type":"array","items":{"type":"object","required":["gabarit","droits","filtresAcces"],"properties":{"gabarit":{"$ref":"#/components/schemas/GabaritDeDossierId"},"droits":{"type":"array","items":{"$ref":"#/components/schemas/Droit"}},"filtresAcces":{"type":"array","items":{"$ref":"#/components/schemas/FiltreAccesId"}}}}},"gabaritsDeDocument":{"type":"array","items":{"type":"object","required":["gabarit","droits"],"properties":{"gabarit":{"$ref":"#/components/schemas/GabaritDeDocumentId"},"droits":{"type":"array","items":{"$ref":"#/components/schemas/Droit"}}}}}}},"GabaritDeDossierId":{"type":"string","format":"uuid"},"Droit":{"type":"string","enum":["consulter","supprimer","modifier","diffuser","ajouter"]},"FiltreAccesId":{"type":"string","format":"uuid"},"GabaritDeDocumentId":{"type":"string","format":"uuid"}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{role}/armoires/{armoire}/habilitations":{"get":{"operationId":"habilitationsArmoire","summary":"Lister les habilitations d'une armoire","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"role","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}},{"in":"path","name":"armoire","description":"L'id de l'armoire","required":true,"schema":{"$ref":"#/components/schemas/ArmoireId"}}],"responses":{"200":{"description":"La liste des habilitations pour les gabarits de l'armoire","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilitationsArmoire"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle ou l'armoire n'existe pas","content":{"application/json":{"schema":{"title":"Ressource inexistante","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant","armoire_inexistante"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## PUT /api/roles/{role}/armoires/{armoire}/habilitations

> Application des habilitations d'une armoire

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"},"ArmoireId":{"type":"string","format":"uuid"},"HabilitationsArmoireRequest":{"type":"object","required":["gabaritsDeDossier","gabaritsDeDocument"],"properties":{"gabaritsDeDossier":{"type":"array","items":{"type":"object","required":["gabarit","droits"],"properties":{"gabarit":{"$ref":"#/components/schemas/GabaritDeDossierId"},"droits":{"type":"array","items":{"$ref":"#/components/schemas/Droit"}}}}},"gabaritsDeDocument":{"type":"array","items":{"type":"object","required":["gabarit","droits"],"properties":{"gabarit":{"$ref":"#/components/schemas/GabaritDeDocumentId"},"droits":{"type":"array","items":{"$ref":"#/components/schemas/Droit"}}}}}}},"GabaritDeDossierId":{"type":"string","format":"uuid"},"Droit":{"type":"string","enum":["consulter","supprimer","modifier","diffuser","ajouter"]},"GabaritDeDocumentId":{"type":"string","format":"uuid"},"HabilitationsArmoire":{"type":"object","required":["gabaritsDeDossier","gabaritsDeDocument"],"properties":{"gabaritsDeDossier":{"type":"array","items":{"type":"object","required":["gabarit","droits","filtresAcces"],"properties":{"gabarit":{"$ref":"#/components/schemas/GabaritDeDossierId"},"droits":{"type":"array","items":{"$ref":"#/components/schemas/Droit"}},"filtresAcces":{"type":"array","items":{"$ref":"#/components/schemas/FiltreAccesId"}}}}},"gabaritsDeDocument":{"type":"array","items":{"type":"object","required":["gabarit","droits"],"properties":{"gabarit":{"$ref":"#/components/schemas/GabaritDeDocumentId"},"droits":{"type":"array","items":{"$ref":"#/components/schemas/Droit"}}}}}}},"FiltreAccesId":{"type":"string","format":"uuid"}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{role}/armoires/{armoire}/habilitations":{"put":{"operationId":"appliquerHabilitationsArmoire","summary":"Application des habilitations d'une armoire","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"role","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}},{"in":"path","name":"armoire","description":"L'id de l'armoire","required":true,"schema":{"$ref":"#/components/schemas/ArmoireId"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilitationsArmoireRequest"}}}},"responses":{"200":{"description":"Les droits ont été appliqués","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilitationsArmoire"}}}},"400":{"description":"L'armoire n'est pas associée au rôle","content":{"application/json":{"schema":{"title":"Requete invalide","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["armoire_non_associee_au_role","format_payload_invalide"]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle ou un gabarit n'existe pas","content":{"application/json":{"schema":{"title":"Ressource invalide","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant","gabarit_de_document_inexistant","gabarit_de_dossier_inexistant"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## POST /api/roles/{role}/armoires/{armoire}/habilitations/gabarits-de-dossier/{gabarit}/filtres-acces

> Application d'un filtre d'accès sur l'habilitation d'un gabarit de dossier

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"},"ArmoireId":{"type":"string","format":"uuid"},"GabaritDeDossierId":{"type":"string","format":"uuid"},"FiltreAccesId":{"type":"string","format":"uuid"}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{role}/armoires/{armoire}/habilitations/gabarits-de-dossier/{gabarit}/filtres-acces":{"post":{"operationId":"appliquerFiltreAccesHabilitationGabaritDeDossier","summary":"Application d'un filtre d'accès sur l'habilitation d'un gabarit de dossier","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"role","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}},{"in":"path","name":"armoire","description":"L'id de l'armoire","required":true,"schema":{"$ref":"#/components/schemas/ArmoireId"}},{"in":"path","name":"gabarit","description":"L'id du gabarit de dossier","required":true,"schema":{"$ref":"#/components/schemas/GabaritDeDossierId"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["filtre"],"properties":{"filtre":{"$ref":"#/components/schemas/FiltreAccesId"}}}}}},"responses":{"204":{"description":"Le filtre d'accès a été appliqué sur l'habilitation"},"400":{"description":"Requête invalide","content":{"application/json":{"schema":{"title":"Requete invalide","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["armoire_non_associee_au_role","filtre_acces_non_defini_sur_gabarit_de_dossier","format_payload_invalide"]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle ou le gabarit n'existe pas","content":{"application/json":{"schema":{"title":"Ressource invalide","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant","gabarit_de_dossier_inexistant"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## DELETE /api/roles/{role}/armoires/{armoire}/habilitations/gabarits-de-dossier/{gabarit}/filtres-acces/{filtre}

> Supprimer le filtre d'accès sur l'habilitation d'un gabarit de dossier

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"},"ArmoireId":{"type":"string","format":"uuid"},"GabaritDeDossierId":{"type":"string","format":"uuid"},"FiltreAccesId":{"type":"string","format":"uuid"}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{role}/armoires/{armoire}/habilitations/gabarits-de-dossier/{gabarit}/filtres-acces/{filtre}":{"delete":{"operationId":"supprimerFiltreAccesHabilitationGabaritDeDossier","summary":"Supprimer le filtre d'accès sur l'habilitation d'un gabarit de dossier","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"role","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}},{"in":"path","name":"armoire","description":"L'id de l'armoire","required":true,"schema":{"$ref":"#/components/schemas/ArmoireId"}},{"in":"path","name":"gabarit","description":"L'id du gabarit de dossier","required":true,"schema":{"$ref":"#/components/schemas/GabaritDeDossierId"}},{"in":"path","name":"filtre","description":"L'id du filtre d'accès","required":true,"schema":{"$ref":"#/components/schemas/FiltreAccesId"}}],"responses":{"204":{"description":"Le filtre d'accès a été supprimé de l'habilitation"},"400":{"description":"Requête invalide","content":{"application/json":{"schema":{"title":"Requete invalide","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["armoire_non_associee_au_role","filtre_acces_non_defini_sur_gabarit_de_dossier","format_payload_invalide"]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle ou le gabarit n'existe pas","content":{"application/json":{"schema":{"title":"Ressource invalide","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant","gabarit_de_dossier_inexistant"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## GET /api/roles/{role}/bannettes/habilitations

> Lister les habilitations des bannettes

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"},"HabilitationsBannettes":{"type":"array","items":{"type":"object","required":["bannette","droits"],"properties":{"bannette":{"$ref":"#/components/schemas/BannetteId"},"droits":{"type":"array","items":{"$ref":"#/components/schemas/Droit"}}}}},"BannetteId":{"type":"string","format":"uuid"},"Droit":{"type":"string","enum":["consulter","supprimer","modifier","diffuser","ajouter"]}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{role}/bannettes/habilitations":{"get":{"operationId":"habilitationsBannettes","summary":"Lister les habilitations des bannettes","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"role","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"La liste des habilitations pour les bannettes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilitationsBannettes"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle n'existe pas","content":{"application/json":{"schema":{"title":"Role inexistant","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## PUT /api/roles/{role}/bannettes/habilitations

> Application des habilitations sur les bannettes

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"},{"name":"Admin"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"schemas":{"RoleId":{"type":"string","format":"uuid"},"HabilitationsBannettes":{"type":"array","items":{"type":"object","required":["bannette","droits"],"properties":{"bannette":{"$ref":"#/components/schemas/BannetteId"},"droits":{"type":"array","items":{"$ref":"#/components/schemas/Droit"}}}}},"BannetteId":{"type":"string","format":"uuid"},"Droit":{"type":"string","enum":["consulter","supprimer","modifier","diffuser","ajouter"]}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/api/roles/{role}/bannettes/habilitations":{"put":{"operationId":"appliquerHabilitationsBannettes","summary":"Application des habilitations sur les bannettes","tags":["Sécurité","Admin"],"parameters":[{"in":"path","name":"role","description":"L'id du rôle","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilitationsBannettes"}}}},"responses":{"200":{"description":"Les droits ont été appliqués","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilitationsBannettes"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"404":{"description":"Le rôle ou une bannette n'existe pas","content":{"application/json":{"schema":{"title":"Ressource inexistante","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["role_inexistant","bannette_inexistante"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```

## Créer un JWT

> Cet endpoint crée un JWT à partir d'un couple login/password qui devra ensuite être utilisé dans tous les appels à l'API via le header \`Authorization: Bearer {jwt}\`

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[],"paths":{"/login":{"post":{"operationId":"creerJWT","summary":"Créer un JWT","description":"Cet endpoint crée un JWT à partir d'un couple login/password qui devra ensuite être utilisé dans tous les appels à l'API via le header `Authorization: Bearer {jwt}`","tags":["Sécurité"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"title":"Requete login avec login / mot de passe","type":"object","required":["login","password"],"properties":{"login":{"type":"string"},"password":{"type":"string","format":"password"}}},{"title":"Requete login avec code MGLogin","type":"object","required":["code"],"properties":{"code":{"type":"string"}}}]}}}},"responses":{"200":{"description":"Login valide","content":{"application/json":{"schema":{"title":"Login valide","type":"object","required":["token"],"properties":{"token":{"type":"string","description":"Le JWT"}}}}}},"401":{"description":"Le couple login/password ou le code d`autorisation Efalia Connect est invalide","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"503":{"description":"L'api, le serveur LDAP ou Efalia Connect n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours","ldap_indisponible","efalia_connect_indisponible"]}}}}}}}}}},"components":{"responses":{"UnsupportedMediaType":{"description":"Le format de la requête n'est pas supporté","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}}}}}
```

## POST /logout

> Déconnecter l'utilisateur

```json
{"openapi":"3.1.0","info":{"title":"Efalia Doc","version":"1.0.0"},"tags":[{"name":"Sécurité"}],"servers":[{"url":"https://interne.efalia.cloud:1202/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","description":"Value: Bearer {jwt}"}},"responses":{"Unauthorized":{"description":"Le JWT a expiré","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"NonHabilite":{"description":"L'utilisateur n'est pas habilité à faire l'action","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["non_habilite","changement_mot_de_passe_requis"]}}}}}},"ApiUnavailable":{"description":"L'api n'est actuellement pas disponible","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["mise_a_jour_api_en_cours"]}}}}}}}},"paths":{"/logout":{"post":{"operationId":"deconnecter","summary":"Déconnecter l'utilisateur","tags":["Sécurité"],"responses":{"204":{"description":"L'utilisateur connecté a été déconnecté"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NonHabilite"},"500":{"description":"La déconnexion de l'utilisateur n'est pas disponible","content":{"application/json":{"schema":{"title":"Déconnexion utilisateur indisponible","type":"object","required":["message","code"],"properties":{"message":{"type":"string"},"code":{"type":"string","enum":["deconnexion_indisponible"]}}}}}},"503":{"$ref":"#/components/responses/ApiUnavailable"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://documentation.efalia.com/api-reference/efalia-doc-api/securite.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
