administration
Module ADMIN de l'institution. Chaque operation exige ses permissions.
Les descriptions viennent du contrat, rédigé en français. Elles sont reproduites telles quelles pour rester la source de vérité.
GET /api/v1/admin/api-credentials
Identifiants machine
Identifiants machine, sans secret.
adminListApiCredentials
Paramètres
Aucun paramètre.
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | array<ApiCredentialOut> |
POST /api/v1/admin/api-credentials
Emettre un identifiant machine
Le secret n'est rendu qu'une fois. Exige une authentification renforcee.
adminIssueApiCredential
Paramètres
Aucun paramètre.
Corps de la requête
- Type de contenu
application/json- Type
ApiCredentialIn- Requis
- oui
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
201 | Successful Response | application/json | ApiCredentialIssuedOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/api-credentials/{credential_id}/revoke
Revoquer un identifiant machine
Revoque un identifiant machine, avec effet immediat.
adminRevokeApiCredential
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
credential_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
204 | Successful Response | — | |
422 | Validation Error | application/json | HTTPValidationError |
GET /api/v1/admin/audit-events
Chaine d'audit de l'institution
Du plus recent au plus ancien. Exige `audit.read`.
adminListAuditEvents
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
before | query | integer | null | non | minimum: 1 |
limit | query | integer | non | minimum: 1 ; maximum: 200 ; default: 50 |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | array<AuditEventOut> |
422 | Validation Error | application/json | HTTPValidationError |
GET /api/v1/admin/credit-products
Produits de credit
Produits de credit de l'institution.
adminListCreditProducts
Paramètres
Aucun paramètre.
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | array<CreditProductOut> |
POST /api/v1/admin/credit-products
Creer un produit de credit
Cree un produit, a l'etat de brouillon.
adminCreateCreditProduct
Paramètres
Aucun paramètre.
Corps de la requête
- Type de contenu
application/json- Type
CreditProductIn- Requis
- oui
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
201 | Successful Response | application/json | CreditProductOut |
422 | Validation Error | application/json | HTTPValidationError |
PUT /api/v1/admin/credit-products/{product_id}
Modifier un produit de credit
Modifie un produit ; sa structure est figee apres activation.
adminUpdateCreditProduct
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
product_id | path | string (uuid) | oui |
Corps de la requête
- Type de contenu
application/json- Type
CreditProductIn- Requis
- oui
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | CreditProductOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/credit-products/{product_id}/activate
Activer un produit de credit
Active un produit complet.
adminActivateCreditProduct
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
product_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | CreditProductOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/credit-products/{product_id}/archive
Archiver un produit de credit
Archive un produit ; il ne reviendra pas.
adminArchiveCreditProduct
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
product_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | CreditProductOut |
422 | Validation Error | application/json | HTTPValidationError |
GET /api/v1/admin/custom-fields
Champs personnalises
Champs personnalises de l'institution.
adminListCustomFields
Paramètres
Aucun paramètre.
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | array<CustomFieldOut> |
POST /api/v1/admin/custom-fields
Definir un champ personnalise
Definit un champ propre a l'institution.
adminCreateCustomField
Paramètres
Aucun paramètre.
Corps de la requête
- Type de contenu
application/json- Type
CustomFieldIn- Requis
- oui
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
201 | Successful Response | application/json | CustomFieldOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/custom-fields/{field_id}/retire
Retirer un champ personnalise
Retire un champ ; sa definition demeure.
adminRetireCustomField
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
field_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
204 | Successful Response | — | |
422 | Validation Error | application/json | HTTPValidationError |
GET /api/v1/admin/exceptional-access
Acces exceptionnels de NEXCLARA
Autorisations recues de CONTROL : motif, perimetre, dates, etat effectif et consultations. Exige `exceptional_access.decide`.
adminListExceptionalAccess
Paramètres
Aucun paramètre.
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | array<ExceptionalAccessOut> |
POST /api/v1/admin/exceptional-access/{grant_id}/consent
Consentir a un acces exceptionnel
Exige `exceptional_access.decide` et une authentification renforcee recente. L'identite de support est invitee ; le lien n'est rendu que si le courriel n'est pas parti.
adminConsentExceptionalAccess
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
grant_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | ExceptionalAccessDecisionOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/exceptional-access/{grant_id}/opposition
S'opposer a un acces exceptionnel
Pendant le delai d'opposition seulement ; definitif.
adminOpposeExceptionalAccess
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
grant_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | ExceptionalAccessDecisionOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/exceptional-access/{grant_id}/refusal
Refuser un acces exceptionnel
Refuse le consentement ; rien ne s'ouvrira.
adminRefuseExceptionalAccess
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
grant_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | ExceptionalAccessDecisionOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/exceptional-access/{grant_id}/revocation
Mettre fin a un acces exceptionnel
Immediat : sessions et invitation de support revoquees.
adminRevokeExceptionalAccess
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
grant_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | ExceptionalAccessDecisionOut |
422 | Validation Error | application/json | HTTPValidationError |
GET /api/v1/admin/invitations
Invitations
Invitations de l'institution, sans jeton.
adminListInvitations
Paramètres
Aucun paramètre.
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | array<InvitationOut> |
POST /api/v1/admin/invitations
Inviter un utilisateur
Emet une invitation ; le lien n'est rendu que si le courriel n'est pas parti.
adminIssueInvitation
Paramètres
Aucun paramètre.
Corps de la requête
- Type de contenu
application/json- Type
InvitationIn- Requis
- oui
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
201 | Successful Response | application/json | InvitationIssuedOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/invitations/{invitation_id}/reissue
Reemettre une invitation en attente ou echue
Memes roles, revalides ; l'ancienne invitation est revoquee.
adminReissueInvitation
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
invitation_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
201 | Successful Response | application/json | InvitationIssuedOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/invitations/{invitation_id}/revoke
Revoquer une invitation
Revoque une invitation en attente.
adminRevokeInvitation
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
invitation_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
204 | Successful Response | — | |
422 | Validation Error | application/json | HTTPValidationError |
GET /api/v1/admin/roles
Roles et permissions
Matrice des roles attribuables : lisible par qui peut lire les comptes (`users.read`). Le role de l'identite de support n'y figure pas : aucun administrateur ne l'attribue (ADR-0046).
adminListRoles
Paramètres
Aucun paramètre.
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | array<RoleDescriptionOut> |
GET /api/v1/admin/usage
Usage facturable de l'institution, par mois
Mois `from` a `to` inclus (AAAA-MM, temps universel, 24 mois au plus), zeros compris. Exige `usage.read`.
adminReadUsage
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
from | query | string | oui | pattern: "^\\d{4}-\\d{2}$" |
to | query | string | oui | pattern: "^\\d{4}-\\d{2}$" |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | array<MonthlyUsageOut> |
422 | Validation Error | application/json | HTTPValidationError |
GET /api/v1/admin/users
Comptes
Comptes de l'institution (`users.read`).
adminListUsers
Paramètres
Aucun paramètre.
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | array<UserOut> |
GET /api/v1/admin/users/{user_id}
Compte
Un compte de l'institution (`users.read`).
adminGetUser
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
user_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | UserOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/users/{user_id}/disable
Desactiver un compte
Definitif. Le compte et ses traces restent dans l'histoire.
adminDisableUser
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
user_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | UserOut |
422 | Validation Error | application/json | HTTPValidationError |
PUT /api/v1/admin/users/{user_id}/profile
Corriger la fiche d'un compte
Nom affiche et fonction d'un collegue. Exige `users.manage` et une authentification renforcee recente ; refuse sur son propre compte. L'interesse est avise.
adminUpdateUserProfile
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
user_id | path | string (uuid) | oui |
Corps de la requête
- Type de contenu
application/json- Type
AdminProfileIn- Requis
- oui
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | UserOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/users/{user_id}/reactivate
Reactiver un compte
Reactive un compte suspendu.
adminReactivateUser
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
user_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | UserOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/users/{user_id}/recovery
Emettre un lien de retablissement d'UN facteur
Remplace le mot de passe OU le second facteur ; l'interesse prouve toujours l'autre. Exige `users.manage` et une authentification renforcee recente. Le lien part par courriel ; sinon il est rendu une seule fois.
adminIssueAccountRecovery
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
user_id | path | string (uuid) | oui |
Corps de la requête
- Type de contenu
application/json- Type
RecoveryIn- Requis
- oui
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
201 | Successful Response | application/json | RecoveryIssuedOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/users/{user_id}/recovery/revoke
Revoquer le lien de retablissement en attente
Revoque le lien en attente d'un compte.
adminRevokeAccountRecovery
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
user_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
204 | Successful Response | — | |
422 | Validation Error | application/json | HTTPValidationError |
PUT /api/v1/admin/users/{user_id}/roles
Roles d'un compte
Exige `roles.assign` et une authentification renforcee recente.
adminSetUserRoles
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
user_id | path | string (uuid) | oui |
Corps de la requête
- Type de contenu
application/json- Type
RolesIn- Requis
- oui
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | UserOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/users/{user_id}/sessions/revoke
Forcer la deconnexion d'un compte
Ferme toutes ses sessions ; ni mot de passe ni second facteur ne changent.
adminRevokeUserSessions
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
user_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | SessionsRevokedOut |
422 | Validation Error | application/json | HTTPValidationError |
POST /api/v1/admin/users/{user_id}/suspend
Suspendre un compte
Suspend un compte et revoque ses sessions.
adminSuspendUser
Paramètres
| Paramètre | Emplacement | Type | Requis | Contraintes |
|---|---|---|---|---|
user_id | path | string (uuid) | oui |
Corps de la requête
Aucun corps de requête.
Réponses
| Statut | Description | Type de contenu | Type |
|---|---|---|---|
200 | Successful Response | application/json | UserOut |
422 | Validation Error | application/json | HTTPValidationError |