administration-des-comptes
Interface synchrone (OpenAPI) — version 0.2.0, proposition. Producteur : tenue-de-compte. Consommateurs déclarés : aucun déclaré à ce jour.
La première tranche du paramétrage administré : le cycle de vie du compte — ouvert, puis clos (définitivement, la liquidation totale des avoirs exigée). Toute interface de la plateforme est authentifiée (401) et autorisée par famille d’accès (403) — l’administration exige la famille tenue-de-compte:parametrage.
La spécification
Section intitulée « La spécification »openapi: 3.1.0info: title: tenue-de-compte — administration des comptes version: 0.2.0 summary: Ouvrir un compte au plan du tenant, le clore quand ses avoirs sont liquidés. description: >- La première tranche du paramétrage administré : le cycle de vie du compte — ouvert, puis clos (définitivement, la liquidation totale des avoirs exigée). Toute interface de la plateforme est authentifiée (401) et autorisée par famille d'accès (403) — l'administration exige la famille tenue-de-compte:parametrage. x-producteurs: - tenue-de-compte x-consommateurs: []paths: /tenants/{tenant}/comptes: post: operationId: ouvrirUnCompte summary: Ouvrir un compte — un numéro ne s'ouvre qu'une fois. description: >- Le compte ouvert participe aussitôt au paramétrage. Un numéro déjà connu — ouvert ou clos — est refusé : un compte clos ne se rouvre pas, on en ouvre un autre. L'ouverture publie le fait « compte ouvert ». security: - authentification: [tenue-de-compte:parametrage] parameters: - $ref: '#/components/parameters/tenant' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DemandeDOuverture' responses: '201': description: Le compte est ouvert. content: application/json: schema: $ref: '#/components/schemas/FicheDeCompteAdministre' '400': description: La demande est irrecevable — le motif nomme le champ. content: application/json: schema: $ref: '#/components/schemas/Erreur' '401': description: Aucune identité présentée. '403': description: L'identité présentée n'a pas la famille d'accès tenue-de-compte:parametrage. '404': description: Le tenant est inconnu. '409': description: Le numéro est déjà connu (ouvert ou clos) — motivé. content: application/json: schema: $ref: '#/components/schemas/Erreur' /tenants/{tenant}/comptes/{numero}/cloture: post: operationId: cloreUnCompte summary: Clore un compte — définitivement, ses avoirs liquidés. description: >- La clôture exige que la position de chaque instrument soit à zéro ; refusée sinon, motif à l'appui. Elle est définitive. Elle publie le fait « compte clos ». security: - authentification: [tenue-de-compte:parametrage] parameters: - $ref: '#/components/parameters/tenant' - name: numero in: path required: true description: L'identifiant public du compte chez ce tenant. schema: type: string minLength: 1 responses: '200': description: Le compte est clos. content: application/json: schema: $ref: '#/components/schemas/FicheDeCompteAdministre' '401': description: Aucune identité présentée. '403': description: L'identité présentée n'a pas la famille d'accès tenue-de-compte:parametrage. '404': description: Le compte (ou le tenant) est inconnu. '409': description: Des avoirs restent (le motif nomme ce qui reste), ou le compte est déjà clos. content: application/json: schema: $ref: '#/components/schemas/Erreur'components: securitySchemes: authentification: type: http scheme: bearer description: >- L'exigence : tout appel est authentifié (401) et autorisé par famille d'accès (403 hors famille) — chaque opération déclare sa famille en portée, sous la forme tenue-de-compte:famille. Le mécanisme est OIDC ; sa déclinaison relève de l'assemblage. parameters: tenant: name: tenant in: path required: true description: Le teneur de compte — la muraille de Chine. schema: type: string minLength: 1 schemas: DemandeDOuverture: type: object required: [numero, categorie] properties: numero: type: string minLength: 1 description: L'identifiant public du compte à ouvrir. categorie: type: string enum: [avoirs, passage] description: >- Un compte d'avoirs n'est jamais négatif ; un compte de passage est structurellement à zéro, le négatif de transit est toléré. historise: type: boolean default: false description: La position sera photographiée à chaque variation. FicheDeCompteAdministre: type: object required: [tenant, compte, categorie, historise, statut] properties: tenant: type: string compte: type: string categorie: type: string enum: [avoirs, passage] historise: type: boolean statut: type: string enum: [ouvert, clos] description: Le cycle de vie — ouvert, puis clos (définitif). Erreur: type: object required: [motif] properties: motif: type: string description: Le motif, qui nomme le champ ou l'identifiant en cause.