Aller au contenu principal
NEXCLARADocumentation

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

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonarray<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

StatutDescriptionType de contenuType
201Successful Responseapplication/jsonApiCredentialIssuedOut
422Validation Errorapplication/jsonHTTPValidationError

POST /api/v1/admin/api-credentials/{credential_id}/revoke

Revoquer un identifiant machine

Revoque un identifiant machine, avec effet immediat.

adminRevokeApiCredential

Paramètres

ParamètreEmplacementTypeRequisContraintes
credential_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
204Successful Response—
422Validation Errorapplication/jsonHTTPValidationError

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ètreEmplacementTypeRequisContraintes
beforequeryinteger | nullnonminimum: 1
limitqueryintegernonminimum: 1 ; maximum: 200 ; default: 50

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonarray<AuditEventOut>
422Validation Errorapplication/jsonHTTPValidationError

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

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonarray<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

StatutDescriptionType de contenuType
201Successful Responseapplication/jsonCreditProductOut
422Validation Errorapplication/jsonHTTPValidationError

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ètreEmplacementTypeRequisContraintes
product_idpathstring (uuid)oui

Corps de la requête

Type de contenu
application/json
Type
CreditProductIn
Requis
oui

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonCreditProductOut
422Validation Errorapplication/jsonHTTPValidationError

POST /api/v1/admin/credit-products/{product_id}/activate

Activer un produit de credit

Active un produit complet.

adminActivateCreditProduct

Paramètres

ParamètreEmplacementTypeRequisContraintes
product_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonCreditProductOut
422Validation Errorapplication/jsonHTTPValidationError

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ètreEmplacementTypeRequisContraintes
product_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonCreditProductOut
422Validation Errorapplication/jsonHTTPValidationError

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

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonarray<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

StatutDescriptionType de contenuType
201Successful Responseapplication/jsonCustomFieldOut
422Validation Errorapplication/jsonHTTPValidationError

POST /api/v1/admin/custom-fields/{field_id}/retire

Retirer un champ personnalise

Retire un champ ; sa definition demeure.

adminRetireCustomField

Paramètres

ParamètreEmplacementTypeRequisContraintes
field_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
204Successful Response—
422Validation Errorapplication/jsonHTTPValidationError

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

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonarray<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ètreEmplacementTypeRequisContraintes
grant_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonExceptionalAccessDecisionOut
422Validation Errorapplication/jsonHTTPValidationError

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ètreEmplacementTypeRequisContraintes
grant_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonExceptionalAccessDecisionOut
422Validation Errorapplication/jsonHTTPValidationError

POST /api/v1/admin/exceptional-access/{grant_id}/refusal

Refuser un acces exceptionnel

Refuse le consentement ; rien ne s'ouvrira.

adminRefuseExceptionalAccess

Paramètres

ParamètreEmplacementTypeRequisContraintes
grant_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonExceptionalAccessDecisionOut
422Validation Errorapplication/jsonHTTPValidationError

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ètreEmplacementTypeRequisContraintes
grant_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonExceptionalAccessDecisionOut
422Validation Errorapplication/jsonHTTPValidationError

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

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonarray<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

StatutDescriptionType de contenuType
201Successful Responseapplication/jsonInvitationIssuedOut
422Validation Errorapplication/jsonHTTPValidationError

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ètreEmplacementTypeRequisContraintes
invitation_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
201Successful Responseapplication/jsonInvitationIssuedOut
422Validation Errorapplication/jsonHTTPValidationError

POST /api/v1/admin/invitations/{invitation_id}/revoke

Revoquer une invitation

Revoque une invitation en attente.

adminRevokeInvitation

Paramètres

ParamètreEmplacementTypeRequisContraintes
invitation_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
204Successful Response—
422Validation Errorapplication/jsonHTTPValidationError

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

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonarray<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ètreEmplacementTypeRequisContraintes
fromquerystringouipattern: "^\\d{4}-\\d{2}$"
toquerystringouipattern: "^\\d{4}-\\d{2}$"

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonarray<MonthlyUsageOut>
422Validation Errorapplication/jsonHTTPValidationError

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

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonarray<UserOut>

GET /api/v1/admin/users/{user_id}

Compte

Un compte de l'institution (`users.read`).

adminGetUser

Paramètres

ParamètreEmplacementTypeRequisContraintes
user_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonUserOut
422Validation Errorapplication/jsonHTTPValidationError

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ètreEmplacementTypeRequisContraintes
user_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonUserOut
422Validation Errorapplication/jsonHTTPValidationError

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ètreEmplacementTypeRequisContraintes
user_idpathstring (uuid)oui

Corps de la requête

Type de contenu
application/json
Type
AdminProfileIn
Requis
oui

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonUserOut
422Validation Errorapplication/jsonHTTPValidationError

POST /api/v1/admin/users/{user_id}/reactivate

Reactiver un compte

Reactive un compte suspendu.

adminReactivateUser

Paramètres

ParamètreEmplacementTypeRequisContraintes
user_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonUserOut
422Validation Errorapplication/jsonHTTPValidationError

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ètreEmplacementTypeRequisContraintes
user_idpathstring (uuid)oui

Corps de la requête

Type de contenu
application/json
Type
RecoveryIn
Requis
oui

Réponses

StatutDescriptionType de contenuType
201Successful Responseapplication/jsonRecoveryIssuedOut
422Validation Errorapplication/jsonHTTPValidationError

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ètreEmplacementTypeRequisContraintes
user_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
204Successful Response—
422Validation Errorapplication/jsonHTTPValidationError

PUT /api/v1/admin/users/{user_id}/roles

Roles d'un compte

Exige `roles.assign` et une authentification renforcee recente.

adminSetUserRoles

Paramètres

ParamètreEmplacementTypeRequisContraintes
user_idpathstring (uuid)oui

Corps de la requête

Type de contenu
application/json
Type
RolesIn
Requis
oui

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonUserOut
422Validation Errorapplication/jsonHTTPValidationError

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ètreEmplacementTypeRequisContraintes
user_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonSessionsRevokedOut
422Validation Errorapplication/jsonHTTPValidationError

POST /api/v1/admin/users/{user_id}/suspend

Suspendre un compte

Suspend un compte et revoque ses sessions.

adminSuspendUser

Paramètres

ParamètreEmplacementTypeRequisContraintes
user_idpathstring (uuid)oui

Corps de la requête

Aucun corps de requête.

Réponses

StatutDescriptionType de contenuType
200Successful Responseapplication/jsonUserOut
422Validation Errorapplication/jsonHTTPValidationError