Aller au contenu principal

resources/identity.ts

Source : sdks/typescript/packages/sdk/src/resources/identity.ts. Retour à l'index de la référence du SDK TypeScript.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Classe MetaResource​

Système. Points techniques du Control Plane : sondes de vie et de disponibilité, description de l'instance, identité de l'appelant, catalogue des briques de la plateforme et feuille de route du produit.

Resource

MetaResource.get​

get(opts?: CallOptions)

Décrire l'instance du Control Plane. Nom, version et version d'API de l'instance, langues prises en charge et langue par défaut, domaines chargés, et fonctions activées par la configuration : authentification OIDC, par clé d'API, SPIFFE et de développement, OpenBao, OpenFGA, OPA et LiteLLM (vrai quand leur adresse est renseignée). Sans authentification.

Route : /v1/meta (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MetaResource.health​

health(opts?: CallOptions)

Vérifier que le processus est vivant. Sonde de vie : répond toujours 200 avec status: ok et la version du Control Plane tant que le processus sert des requêtes. Elle ne vérifie aucune dépendance. Sans authentification ni limitation de débit.

Route : /healthz (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MetaResource.metrics​

metrics(opts?: CallOptions)

GET /metrics : format texte Prometheus (ne fait pas partie du schéma OpenAPI).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

MetaResource.ready​

ready(opts?: CallOptions)

Vérifier que l'instance est prête. Sonde de disponibilité : vérifie que la base de données répond et que les migrations du schéma ont été appliquées. Répond 200 ready quand chaque contrôle réussit, sinon 503 not_ready, avec le résultat de chaque contrôle et un message dans la langue de la requête. L'état du cache Redis est indiqué mais ne rend jamais l'instance indisponible. Sans authentification ni limitation de débit.

Route : /readyz (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Interface Me​

Réponse de GET /v1/me : principal, tenant, rôles et portées de l'appelant.

Doc

Champs :

NomTypeRequisDescription
principalDocnonCompte Unix du certificat. navin-breakglass par défaut.
tenantDocnonIdentifiant court du locataire.
rolesstring[]nonRôles de l'appelant.
scopesstring[]nonPortées demandées ; doivent comprendre openid. Par défaut openid, profile, email.

Classe MeResource​

L'appelant connecté : /v1/me, whoami, connexion d'un compte local, changement de mot de passe et déconnexion.

Resource

MeResource.changePassword​

changePassword(body: { current_password: string; new_password: string }, opts?: CallOptions)

Changer le mot de passe. Change le mot de passe du compte local connecté. Uniquement pour une session du portail (403 password_session_required).

Route : /v1/auth/password (POST).

NomTypeDéfautRequisDescription
body{ current_password: string; new_password: string }ouiMot de passe actuel et nouveau mot de passe.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MeResource.get​

get(opts?: CallOptions)

Lire le principal courant. Qui est l'appelant : identifiant du principal, type, tenant, habilitation, projet, environnement, méthode d'authentification et nom affiché, avec ses rôles et ses scopes. Si le principal appartient à un tenant, le tenant (identifiant, slug, nom, statut, résidence des données) est aussi renvoyé. Demande une authentification (401 sinon).

Route : /v1/me (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MeResource.login​

login(body: { username: string; password: string }, opts?: CallOptions)

Se connecter avec un identifiant et un mot de passe. Ouvre une session du portail pour un compte local. Aucun identifiant n'est nécessaire. L'identifiant de connexion est comparé sans tenir compte de la casse.

Route : /v1/auth/login (POST).

NomTypeDéfautRequisDescription
body{ username: string; password: string }ouiIdentifiant et mot de passe du compte local.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MeResource.logout​

logout(opts?: CallOptions)

Se déconnecter. Révoque la session du portail en cours : son jeton est refusé dès maintenant (401 session_revoked). Uniquement pour une session du portail (403 password_session_required avec un autre identifiant). Écrit l'événement d'audit auth.logout. Répond 204.

Route : /v1/auth/logout (POST).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MeResource.whoami​

whoami(opts?: CallOptions)

Afficher l'identité appelante. Renvoie l'identité résolue par la plateforme pour cette requête, quel que soit l'identifiant (jeton OIDC, session du portail, clé d'API, SPIFFE) : id, kind (user, service, agent, system), tenant_id, tenant_slug, roles, scopes, clearance, auth_method et display. En lecture seule, ouvert à tout appelant authentifié, y compris quand un compte local doit encore changer son mot de passe. Utilisez-la pour vérifier un nouveau jeton ou une nouvelle clé.

Route : /v1/identity/whoami (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe CatalogResource​

Système. Points techniques du Control Plane : sondes de vie et de disponibilité, description de l'instance, identité de l'appelant, catalogue des briques de la plateforme et feuille de route du produit.

Resource

CatalogResource.getBrick​

getBrick(id: string, opts?: CallOptions)

Lire une brique de la plateforme. Une brique du catalogue, retrouvée par son id sans tenir compte de la casse. Répond 404 not_found si aucune brique ne porte cet identifiant. Sans authentification.

Route : /v1/catalog/bricks/{brick_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant de la brique dans le catalogue, insensible à la casse.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

CatalogResource.listBricks​

listBricks(opts?: CallOptions)

Lister les briques de la plateforme. Catalogue des briques de la plateforme lu dans bricks.yaml du dossier de catalogue, en une seule page (next_cursor vaut toujours null). Le fichier est chargé en YAML sûr (sans ancres ni alias, 2 Mo au plus). Sans authentification.

Route : /v1/catalog/bricks (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe RoadmapResource​

Système. Points techniques du Control Plane : sondes de vie et de disponibilité, description de l'instance, identité de l'appelant, catalogue des briques de la plateforme et feuille de route du produit.

Resource

RoadmapResource.get​

get(opts?: CallOptions)

Lire la feuille de route du produit. Feuille de route lue dans roadmap.yaml du dossier de catalogue, toujours avec une liste phases (vide si le fichier est absent). Chargée en YAML sûr. Sans authentification.

Route : /v1/roadmap (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe OperationsResource​

Opérations. Opérations longues : un operation_id durable pour chaque création longue, pour la suivre et la relancer sans risque.

Resource

OperationsResource.get​

get(operationId: string, opts?: CallOptions)

Suivre une opération longue. L'opération (type, état pending ou accepted, méthode, chemin, statut HTTP, clé d'idempotence, ressource suivie, créateur et dates), sa réponse acceptée et l'état en direct de la ressource suivie. La ressource est lue avec les identifiants de l'appelant par la route de la ressource, donc l'autorisation de la ressource s'applique : si cette lecture échoue, result reste null et result_error.http_status donne le statut. status vaut pending pendant l'exécution de la requête, puis le status ou le state de la ressource. Demande un principal de tenant (403 tenant_required) ; une opération créée par quelqu'un d'autre répond 404 not_found sauf si l'appelant détient tenant_admin, platform_admin, auditor ou security_officer.

Route : /v1/operations/{operation_id} (GET).

NomTypeDéfautRequisDescription
operationIdstringouiIdentifiant de l'opération, tel que renvoyé dans l'en-tête Operation-Id.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe ContractsResource​

Contrats et manifestes. Schémas JSON publiés (contrats) des documents de la plateforme, et manifestes déclaratifs qui créent ou mettent à jour des objets à partir d'un document, dans l'esprit de l'infrastructure as code.

Resource

ContractsResource.get​

get(name: ContractName | string, opts?: CallOptions)

Lire un contrat. Renvoie le schéma JSON du contrat tel qu'il est publié. Ouvert à tout appelant authentifié. Un nom inconnu répond 404 unknown_contract.

Route : /v1/contracts/{name} (GET).

NomTypeDéfautRequisDescription
nameContractName | stringouiNom du contrat, par exemple agent-manifest.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ContractsResource.list​

list(opts?: CallOptions)

Lister les contrats. Liste les contrats publiés avec leur name, title, kind, type, file, l'id du schéma et sa description. Ouvert à tout appelant authentifié. next_cursor vaut toujours null.

Route : /v1/contracts (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ContractsResource.validate​

validate(name: ContractName | string, document: unknown, opts?: CallOptions)

Valider un document avec un contrat. Valide le corps avec le contrat, formats compris, sans rien enregistrer. La réponse donne contract, valid et errors, chacune avec le path JSON de la valeur fautive et un message. Ouvert à tout appelant authentifié. Un contrat inconnu répond 404 unknown_contract.

Route : /v1/contracts/{name}/validate (POST).

NomTypeDéfautRequisDescription
nameContractName | stringouiNom du contrat, par exemple agent-manifest.
documentunknownouiDocument à valider selon le contrat.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ContractsResource.validateLocal​

validateLocal(name: ContractName | string, document: unknown): ContractValidationResult

Validation côté client avec les schémas embarqués (aucun appel réseau).

NomTypeDéfautRequisDescription
nameContractName | stringouiNom du contrat, par exemple agent-manifest.
documentunknownouiDocument à valider selon le contrat.

Retour : ContractValidationResult. Résultat de la validation avec les erreurs trouvées.

Interface ApplyResult​

Réponse de ManifestsResource.apply : type, nom, version et statut du manifeste appliqué.

Doc

Champs :

NomTypeRequisDescription
kindManifestKindouiType du manifeste.
namestringouiNom du manifeste.
versionstringouiVersion du manifeste.
statusstringouiRésultat de l'application.

Classe ManifestsResource​

Contrats et manifestes. Schémas JSON publiés (contrats) des documents de la plateforme, et manifestes déclaratifs qui créent ou mettent à jour des objets à partir d'un document, dans l'esprit de l'infrastructure as code.

Resource

ManifestsResource.apply​

async apply(manifest: Manifest | Doc, opts?: CallOptions & { validate?: boolean }): Promise<ApplyResult>

Appliquer un manifeste. Crée ou met à jour l'objet décrit par un manifeste, en une transaction. Exige tenant_admin ou developer.

Route : /v1/manifests/apply (POST).

NomTypeDéfautRequisDescription
manifestManifest | DocouiManifeste à appliquer ; il est d'abord validé selon le contrat de son kind, sauf si validate vaut false.
optsCallOptions & { validate?: boolean }nonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : Promise<ApplyResult>. Réponse JSON décodée de l'opération « Appliquer un manifeste ».

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe TenantsResource​

Tenants et organisation. Les tenants, leur hiérarchie, les projets, les environnements et les membres.

Resource

TenantsResource.create​

create(body: Doc, opts?: CallOptions)

Créer un tenant. Crée un tenant et fait de chaque sujet de admins son tenant_admin. Exige platform_admin. Un identifiant court déjà utilisé répond 409 conflict. Écrit l'événement d'audit tenant.create dans la chaîne du nouveau tenant.

Route : /v1/tenants (POST).

NomTypeDéfautRequisDescription
bodyDocouiIdentifiant court, nom, résidence, paramètres et premiers administrateurs du tenant.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

TenantsResource.get​

get(id: string, opts?: CallOptions)

Lire un tenant. Renvoie un tenant : identifiant court, nom, statut, résidence des données et paramètres. Un tenant que l'appelant ne peut pas voir répond 404 not_found.

Route : /v1/tenants/{tenant_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du tenant.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

TenantsResource.iterate​

iterate(params?: ListParams, opts?: CallOptions)

Lister les tenants. Liste les tenants visibles par l'appelant, triés par identifiant court, paginés : son propre tenant pour un identifiant de tenant, tous les tenants pour un administrateur de plateforme.

Route : /v1/tenants (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

TenantsResource.list​

list(params?: ListParams, opts?: CallOptions): Promise<Page<Doc>>

Lister les tenants. Liste les tenants visibles par l'appelant, triés par identifiant court, paginés : son propre tenant pour un identifiant de tenant, tous les tenants pour un administrateur de plateforme.

Route : /v1/tenants (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : Promise<Page<Doc>>. Réponse JSON décodée de l'opération « Lister les tenants ».

Erreurs levées : les erreurs typées du transport (Erreurs).

TenantsResource.update​

update(id: string, body: Doc, opts?: CallOptions)

Modifier un tenant. Modifie le nom, la résidence des données, les paramètres ou le statut d'un tenant. Exige tenant_admin ; changer status (active ou suspended) exige un administrateur de plateforme (403 forbidden). Un tenant suspendu répond 403 tenant_suspended à tout identifiant. Écrit l'événement d'audit tenant.update.

Route : /v1/tenants/{tenant_id} (PATCH).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du tenant.
bodyDocouiChamps à modifier ; les champs omis gardent leur valeur.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe ProjectsResource​

Tenants et organisation. Les tenants, leur hiérarchie, les projets, les environnements et les membres.

Resource

ProjectsResource.create​

create(body: Doc, opts?: CallOptions)

Créer un projet. Crée un projet dans le tenant de l'appelant. Exige tenant_admin.

Route : /v1/projects (POST).

NomTypeDéfautRequisDescription
bodyDocouiIdentifiant court, nom, paramètres, environnements et rattachement du projet.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsResource.createEnvironment​

createEnvironment(id: string, body: Doc, opts?: CallOptions)

Créer un environnement. Ajoute un environnement (dev, test, staging ou prod) au projet. Exige tenant_admin et la relation editor sur le projet. Un environnement qui existe déjà répond 409 conflict. Écrit l'événement d'audit environment.create.

Route : /v1/projects/{project_id}/environments (POST).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du projet.
bodyDocouiNom et paramètres de l'environnement.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsResource.delete​

delete(id: string, opts?: CallOptions)

Supprimer un projet. Supprime le projet et ses environnements. Exige tenant_admin et la relation owner sur le projet (403 relation_required). Des objets qui référencent encore le projet peuvent bloquer la suppression (409 conflict). Écrit l'événement d'audit project.delete. Répond 204.

Route : /v1/projects/{project_id} (DELETE).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du projet.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsResource.get​

get(id: string, opts?: CallOptions)

Lire un projet. Renvoie le projet avec ses environnements. Exige la relation viewer sur le projet (403 relation_required, audité). Répond 404 not_found pour un projet inconnu.

Route : /v1/projects/{project_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du projet.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsResource.iterate​

iterate(params?: ListParams, opts?: CallOptions)

Lister les projets. Liste les projets du tenant triés par identifiant court, paginés, éventuellement filtrés par organisation ou unité métier. Ouvert à tout membre du tenant.

Route : /v1/projects (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsResource.list​

list(params?: ListParams, opts?: CallOptions)

Lister les projets. Liste les projets du tenant triés par identifiant court, paginés, éventuellement filtrés par organisation ou unité métier. Ouvert à tout membre du tenant.

Route : /v1/projects (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsResource.listEnvironments​

listEnvironments(id: string, opts?: CallOptions)

Lister les environnements d'un projet. Liste les environnements du projet, triés par nom. Exige la relation viewer sur le projet. Non paginé : next_cursor vaut toujours null.

Route : /v1/projects/{project_id}/environments (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du projet.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsResource.update​

update(id: string, body: Doc, opts?: CallOptions)

Modifier un projet. Modifie le nom, la description, les paramètres, les métadonnées ou le rattachement d'un projet. Envoyer organization_id ou business_unit_id à null détache le projet. L'unité doit appartenir à l'organisation (422 invalid_hierarchy). Exige tenant_admin et la relation editor sur le projet. Envoyez expected_version pour détecter une modification concurrente (409 version_conflict). Écrit l'événement d'audit project.update.

Route : /v1/projects/{project_id} (PATCH).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du projet.
bodyDocouiChamps à modifier ; les champs omis gardent leur valeur.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe OrganizationsResource​

Tenants et organisation. Les tenants, leur hiérarchie, les projets, les environnements et les membres.

Resource

OrganizationsResource.create​

create(body: { slug: string; name: string; description?: string; metadata?: Doc }, opts?: CallOptions)

Créer une organisation. Crée une organisation dans le tenant. Exige tenant_admin. Un identifiant court déjà utilisé répond 409 conflict. Écrit l'événement d'audit organization.create.

Route : /v1/organizations (POST).

NomTypeDéfautRequisDescription
body{ slug: string; name: string; description?: string; metadata?: Doc }ouiIdentifiant court, nom, description et métadonnées de l'organisation.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

OrganizationsResource.iterate​

iterate(params?: ListParams, opts?: CallOptions)

Lister les organisations. Liste les organisations du tenant, paginées. Ouvert à tout membre du tenant.

Route : /v1/organizations (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

OrganizationsResource.list​

list(params?: ListParams, opts?: CallOptions)

Lister les organisations. Liste les organisations du tenant, paginées. Ouvert à tout membre du tenant.

Route : /v1/organizations (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

OrganizationsResource.update​

update(organizationId: string, body: Doc & { expected_version?: number }, opts?: CallOptions)

Modifier une organisation. Modifie le nom, la description, le statut (active ou archived) ou les métadonnées d'une organisation. Exige tenant_admin. Envoyez expected_version pour détecter une modification concurrente (409 version_conflict). Écrit l'événement d'audit organization.update.

Route : /v1/organizations/{organization_id} (PATCH).

NomTypeDéfautRequisDescription
organizationIdstringouiIdentifiant (UUID) de l'organisation.
bodyDoc & { expected_version?: number }ouiChamps à modifier ; les champs omis gardent leur valeur.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe BusinessUnitsResource​

Tenants et organisation. Les tenants, leur hiérarchie, les projets, les environnements et les membres.

Resource

BusinessUnitsResource.create​

create(body: { organization_id: string; parent_id?: string; slug: string; name: string; description?: string; metadata?: Doc }, opts?: CallOptions)

Créer une unité métier. Crée une unité métier dans une organisation, éventuellement sous une unité parente de la même organisation (422 invalid_hierarchy sinon). Exige tenant_admin. Un identifiant court déjà utilisé répond 409 conflict. Écrit l'événement d'audit business_unit.create.

Route : /v1/business-units (POST).

NomTypeDéfautRequisDescription
body{ organization_id: string; parent_id?: string; slug: string; name: string; description?: string; metadata?: Doc }ouiOrganisation, parent, identifiant court, nom et description de l'unité.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

BusinessUnitsResource.list​

list(params?: ListParams & { organization_id?: string; parent_id?: string }, opts?: CallOptions)

Lister les unités métier. Liste les unités métier du tenant, paginées, éventuellement filtrées par organisation ou par unité parente. Ouvert à tout membre du tenant.

Route : /v1/business-units (GET).

NomTypeDéfautRequisDescription
paramsListParams & { organization_id?: string; parent_id?: string }nonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

BusinessUnitsResource.update​

update(businessUnitId: string, body: Doc & { expected_version?: number }, opts?: CallOptions)

Modifier une unité métier. Modifie le nom, la description, le statut (active ou archived) ou les métadonnées d'une unité métier. Son organisation et son parent ne peuvent pas changer. Exige tenant_admin. Envoyez expected_version pour détecter une modification concurrente (409 version_conflict). Écrit l'événement d'audit business_unit.update.

Route : /v1/business-units/{business_unit_id} (PATCH).

NomTypeDéfautRequisDescription
businessUnitIdstringouiIdentifiant (UUID) de l'unité métier.
bodyDoc & { expected_version?: number }ouiChamps à modifier ; les champs omis gardent leur valeur.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe MembersResource​

Membres du tenant (/v1/members), profils de quota et correspondances de groupes d'annuaire (/v1/identity).

Resource

MembersResource.create​

create(body: Doc, opts?: CallOptions)

Ajouter un membre. Donne à un utilisateur (sujet OIDC) un rôle et une habilitation dans le tenant, ou dans un projet avec project_id. La fiche utilisateur est créée si elle est inconnue ; une appartenance existante pour le même utilisateur et le même projet est mise à jour. Exige tenant_admin ; accorder platform_admin exige un administrateur de plateforme (403 forbidden). Écrit l'événement d'audit member.assign.

Route : /v1/members (POST).

NomTypeDéfautRequisDescription
bodyDocouiUtilisateur, rôle, habilitation et projet facultatif de l'appartenance.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.createGroupMapping​

createGroupMapping(body: { group: string } & Doc, opts?: CallOptions)

Créer une correspondance de groupe. Associe un groupe de l'annuaire à un rôle dans un projet et, en option, à un profil de quota. Exige tenant_admin.

Route : /v1/identity/group-mappings (POST).

NomTypeDéfautRequisDescription
body{ group: string } & DocouiGroupe, projet, rôle et profil de quota facultatif de la correspondance.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.createQuotaProfile​

createQuotaProfile(body: { name: string } & Doc, opts?: CallOptions)

Créer un profil de quota. Crée un profil de quota réutilisable par les correspondances de groupes. Exige tenant_admin. Au moins un des champs limit_cost et limit_tokens est obligatoire (422 validation_error). Un nom déjà utilisé répond 409 conflict. Écrit l'événement d'audit identity.quota_profile.create.

Route : /v1/identity/quota-profiles (POST).

NomTypeDéfautRequisDescription
body{ name: string } & DocouiNom, période, mode d'application et plafonds du profil.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.delete​

delete(id: string, opts?: CallOptions)

Retirer un membre. Supprime l'appartenance : l'utilisateur perd le rôle qu'elle donnait dès la requête suivante. Exige tenant_admin. Écrit l'événement d'audit member.remove. Répond 204, ou 404 not_found.

Route : /v1/members/{member_id} (DELETE).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de l'appartenance.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.deleteGroupMapping​

deleteGroupMapping(id: string, opts?: CallOptions)

Supprimer une correspondance de groupe. Supprime la correspondance et retire ce qu'elle avait accordé (appartenances aux projets et quotas enregistrés comme accordés par elle) ; les appartenances accordées à la main restent. Exige tenant_admin. Écrit l'événement d'audit identity.group_mapping.delete. Répond 204, ou 404 not_found pour une correspondance inconnue.

Route : /v1/identity/group-mappings/{mapping_id} (DELETE).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la correspondance de groupe.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.deleteQuotaProfile​

deleteQuotaProfile(id: string, opts?: CallOptions)

Supprimer un profil de quota. Supprime un profil de quota. Exige tenant_admin. Un profil encore utilisé par une correspondance de groupe ne peut pas être supprimé (409 conflict) : détachez-le d'abord des correspondances. Écrit l'événement d'audit identity.quota_profile.delete. Répond 204, ou 404 not_found.

Route : /v1/identity/quota-profiles/{profile_id} (DELETE).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du profil de quota.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.getGroupMapping​

getGroupMapping(id: string, opts?: CallOptions)

Lire une correspondance de groupe. Renvoie une correspondance de groupe. Exige tenant_admin, security_officer ou auditor. Répond 404 not_found pour une correspondance inconnue.

Route : /v1/identity/group-mappings/{mapping_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la correspondance de groupe.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.iterate​

iterate(params?: ListParams, opts?: CallOptions)

Lister les membres. Liste les appartenances du tenant, paginées : sujet de l'utilisateur, e-mail, nom affiché, rôle, habilitation, projet et date de création. Ouvert à tout membre du tenant.

Route : /v1/members (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.list​

list(params?: ListParams, opts?: CallOptions)

Lister les membres. Liste les appartenances du tenant, paginées : sujet de l'utilisateur, e-mail, nom affiché, rôle, habilitation, projet et date de création. Ouvert à tout membre du tenant.

Route : /v1/members (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.listGroupMappings​

listGroupMappings(opts?: CallOptions)

Lister les correspondances de groupes. Liste toutes les correspondances de groupes de l'annuaire du tenant avec leur groupe, projet, rôle et profil de quota. Exige tenant_admin, security_officer ou auditor (403 forbidden sinon). Non paginé : next_cursor vaut toujours null.

Route : /v1/identity/group-mappings (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.listQuotaProfiles​

listQuotaProfiles(opts?: CallOptions)

Lister les profils de quota. Liste les profils de quota du tenant (nom, période, mode d'application, plafonds de coût et de jetons, devise). Exige tenant_admin, security_officer ou auditor.

Route : /v1/identity/quota-profiles (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.update​

update(id: string, body: Doc, opts?: CallOptions)

Modifier un membre. Modifie le rôle ou l'habilitation d'une appartenance. Exige tenant_admin ; accorder platform_admin exige un administrateur de plateforme (403 forbidden). Écrit l'événement d'audit member.update. Répond 404 not_found pour une appartenance inconnue.

Route : /v1/members/{member_id} (PATCH).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de l'appartenance.
bodyDocouiNouveau rôle et/ou nouvelle habilitation.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.updateGroupMapping​

updateGroupMapping(id: string, body: Doc, opts?: CallOptions)

Modifier une correspondance de groupe. Modifie le groupe, le projet, le rôle ou le profil de quota d'une correspondance ; seuls les champs envoyés changent. clear_quota_profile: true détache le profil. Les nouvelles valeurs s'appliquent à la prochaine connexion de chaque membre. Exige tenant_admin. Une modification qui dupliquerait une autre correspondance répond 409 conflict ; un projet ou un profil inconnu répond 404. Écrit l'événement d'audit identity.group_mapping.update.

Route : /v1/identity/group-mappings/{mapping_id} (PATCH).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la correspondance de groupe.
bodyDocouiChamps à modifier ; les champs omis gardent leur valeur.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MembersResource.updateQuotaProfile​

updateQuotaProfile(id: string, body: Doc, opts?: CallOptions)

Modifier un profil de quota. Modifie la période, le mode d'application ou les plafonds d'un profil, ainsi que les quotas d'utilisateurs déjà créés à partir de lui par les correspondances de groupes, dans la même transaction. Exige tenant_admin. Écrit l'événement d'audit identity.quota_profile.update avec le nombre de quotas modifiés. Répond 404 not_found pour un profil inconnu.

Route : /v1/identity/quota-profiles/{profile_id} (PATCH).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du profil de quota.
bodyDocouiChamps à modifier ; les champs omis gardent leur valeur.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe ApiKeysResource​

Identité. Qui appelle l'API et avec quels droits. Ce tag couvre l'identité de l'appelant (whoami), les clés d'API des scripts et des services, les identités de service (charges de travail SPIFFE) qu'un utilisateur peut endosser temporairement, et les correspondances de groupes de l'annuaire qui transforment les groupes Keycloak en appartenances à des projets et en quotas.

Resource

ApiKeysResource.create​

create(body: { name: string; scopes?: string[]; expires_at?: string } & Doc, opts?: CallOptions)

Créer une clé d'API. Crée une clé d'API pour les scripts et les services. Exige tenant_admin ou developer. La réponse (201) porte le secret complet dans key, montré une seule fois : rangez-le aussitôt dans un magasin de secrets.

Route : /v1/api-keys (POST).

NomTypeDéfautRequisDescription
body{ name: string; scopes?: string[]; expires_at?: string } & DocouiNom, droits, rattachement et expiration de la nouvelle clé.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ApiKeysResource.delete​

delete(id: string, opts?: CallOptions)

Révoquer une clé d'API. Révoque la clé immédiatement : toute requête ultérieure faite avec elle répond 401 api_key_revoked. Révoquer une clé déjà révoquée réussit sans changement. Autorisé à tenant_admin, security_officer et developer ; un développeur ne révoque que les clés qu'il a créées, toute autre clé répond 404 not_found. Écrit l'événement d'audit api_key.revoke. Répond 204 sans corps.

Route : /v1/api-keys/{key_id} (DELETE).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la clé d'API.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ApiKeysResource.list​

list(params?: ListParams, opts?: CallOptions)

Lister les clés d'API. Liste les clés d'API du tenant, paginées par limit et cursor, triées par identifiant. Chaque élément donne le nom, le préfixe public, les rôles, les portées, l'habilitation, le projet, l'environnement, le créateur, l'expiration et l'état de révocation ; jamais le secret ni son empreinte. tenant_admin et security_officer voient toutes les clés, un developer uniquement celles qu'il a créées.

Route : /v1/api-keys (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ApiKeysResource.rotate​

rotate(id: string, opts?: CallOptions)

Faire tourner une clé d'API. Émet une clé de remplacement avec le même nom, les mêmes rôles, portées, habilitation, projet et environnement, et retire l'ancienne. Le nouveau secret figure dans key de la réponse 201, montré une seule fois.

Route : /v1/api-keys/{key_id}/rotate (POST).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la clé d'API.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Interface ServiceIdentityAssume​

Corps de POST /v1/service-identities/{identity_id}/assume (B9.3 identity.assumeService).

Champs :

NomTypeRequisDescription
purposestringouiUsage de la cible. backup par défaut.
audiencestring[]nonAudiences en aval autorisées à vérifier le contexte (par défaut : les audiences de l'autorité).
ttl_secondsnumbernonDurée de vie en secondes. Une fois écoulée, l'élément expire et n'est plus accepté.
scopesstring[]nonPortées demandées ; doivent comprendre openid. Par défaut openid, profile, email.

Interface AssumedServiceContext​

ExecutionContext signé renvoyé par une prise d'identité : pas un identifiant d'API, il est vérifié en aval.

Champs :

NomTypeRequisDescription
tokenstringouiJeton d'accès au Hub. En écriture seule, scellé ; nul conserve le jeton enregistré.
context_idstringouiIdentifiant du contexte, utilisé pour le révoquer.
kidstringouiIdentifiant de la clé de signature.
algstringouiAlgorithme de signature du jeton.
issued_atstringouiDate d'émission du contexte.
expires_atstringouiDate et heure (ISO 8601, UTC) après lesquelles l'élément n'est plus valide.
audiencestring[]ouiAudiences en aval autorisées à vérifier le contexte.
digeststringouiSHA-256 de la preuve (commandes, enregistrement), 100 caractères au plus.
contextDocouiContenu décodé du contexte signé.
service_identity{ id: string; name: string; spiffe_id: string }ouiIdentifiant, nom et identifiant SPIFFE de l'identité de service prise.
effective{ roles: string[]; scopes: string[]; clearance: string }ouiRôles, portées et habilitation en vigueur sous le contexte.
assumed_bystringouiPrincipal qui a pris l'identité de service.
on_behalf_ofstringouiPrincipal pour le compte duquel agit le service.
decision_idstring | nullouiIdentifiant de la décision de politique qui a autorisé la prise d'identité, ou null.

Classe ServiceIdentitiesResource​

Identité. Qui appelle l'API et avec quels droits. Ce tag couvre l'identité de l'appelant (whoami), les clés d'API des scripts et des services, les identités de service (charges de travail SPIFFE) qu'un utilisateur peut endosser temporairement, et les correspondances de groupes de l'annuaire qui transforment les groupes Keycloak en appartenances à des projets et en quotas.

Resource

ServiceIdentitiesResource.assume​

async assume(identityId: string, body: ServiceIdentityAssume, opts?: CallOptions): Promise<AssumedServiceContext>

Endosser une identité de service. Renvoie un ExecutionContext signé et de courte durée dont le sujet est l'identité de service, pour l'appelant. Ce n'est pas un identifiant d'API : les services en aval le vérifient (POST /v1/context/verify ou le JWKS) et l'appelant le révoque avec POST /v1/context/{context_id}/revoke.

Route : /v1/service-identities/{identity_id}/assume (POST).

NomTypeDéfautRequisDescription
identityIdstringouiIdentifiant (UUID) de l'identité de service.
bodyServiceIdentityAssumeouiFinalité, audiences, durée de vie et portées du contexte demandé.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : Promise<AssumedServiceContext>. Réponse JSON décodée de l'opération « Endosser une identité de service ».

Erreurs levées : AuthzUnconfirmedError, les erreurs typées du transport (Erreurs).

ServiceIdentitiesResource.create​

create(body: Doc, opts?: CallOptions)

Créer une identité de service. Enregistre une identité de charge de travail du tenant avec son identifiant SPIFFE, ses rôles, ses portées et son habilitation. Exige tenant_admin ou security_officer ; les rôles et portées accordés suivent les mêmes règles que les clés d'API (uniquement ce que l'appelant détient). Un identifiant SPIFFE déjà enregistré répond 409 conflict. Écrit l'événement d'audit service_identity.create. Endosser l'identité exige en plus la relation explicite can_assume (voir la route d'endossement).

Route : /v1/service-identities (POST).

NomTypeDéfautRequisDescription
bodyDocouiNom, identifiant SPIFFE et droits de l'identité.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ServiceIdentitiesResource.delete​

delete(id: string, opts?: CallOptions)

Supprimer une identité de service. Supprime l'identité de service ; elle ne peut plus être endossée ni s'authentifier avec son identifiant SPIFFE. Exige tenant_admin ou security_officer. Écrit l'événement d'audit service_identity.delete. Répond 204, ou 404 not_found.

Route : /v1/service-identities/{identity_id} (DELETE).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de l'identité de service.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ServiceIdentitiesResource.list​

list(params?: ListParams, opts?: CallOptions)

Lister les identités de service. Liste les identités de service du tenant, triées par nom, avec leur identifiant SPIFFE, leurs rôles, leurs portées et leur habilitation. Ouvert à tout membre du tenant. Non paginé : next_cursor vaut toujours null.

Route : /v1/service-identities (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Interface AuthzTuple​

Tuple de relation OpenFGA : sujet, relation et objet.

Champs :

NomTypeRequisDescription
subjectstringouiSujet de la relation.
relationstringouiRelation entre le sujet et l'objet.
objectstringouiObjet vérifié, <type>:<id>, par exemple project:42.

Classe AuthzResource​

Vérifications et tuples OpenFGA (/v1/authz) et décisions OPA expliquées (/v1/policies/evaluate).

Resource

AuthzResource.check​

async check(body: AuthzTuple & { contextual_tuples?: AuthzTuple[] }, opts?: CallOptions)

Vérifier une relation. Indique si subject détient relation sur object, en suivant l'héritage. Jusqu'à 20 contextual_tuples sont tenus pour vrais pour cette seule vérification et jamais enregistrés (un tuple invalide répond 422 validation_error). Ouvert à tout membre du tenant. La réponse donne allowed, engine, subject, relation et object. Écrit l'événement d'audit authz.check avec la décision. Quand le moteur ne peut pas répondre, la décision est un refus, elle est auditée et l'API répond 502 authz_backend_error.

Route : /v1/authz/check (POST).

NomTypeDéfautRequisDescription
bodyAuthzTuple & { contextual_tuples?: AuthzTuple[] }ouiSujet, relation, objet et tuples contextuels facultatifs.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

AuthzResource.checkBatch​

async checkBatch(checks: Array<AuthzTuple & { contextual_tuples?: AuthzTuple[] }>, opts?: CallOptions)

Un POST /v1/authz/check par tuple, dans l'ordre ; allowed n'est vrai que si chaque vérification a été confirmée autorisée.

NomTypeDéfautRequisDescription
checksArray<AuthzTuple & { contextual_tuples?: AuthzTuple[] }>ouiTuples à vérifier, chacun avec des tuples contextuels facultatifs ; une liste vide donne allowed faux.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

AuthzResource.deleteTuples​

deleteTuples(body: { tuples: AuthzTuple[] } | AuthzTuple, opts?: CallOptions)

Supprimer des tuples d'autorisation. Supprime un tuple ({subject, relation, object}) ou jusqu'à 100 ({"tuples": [...]}). Exige tenant_admin ou security_officer. Les tuples inexistants sont ignorés ; la réponse donne deleted (nombre supprimé) et engine. Écrit l'événement d'audit authz.delete. 502 authz_backend_error quand le moteur ne peut pas répondre.

Route : /v1/authz/tuples (DELETE).

NomTypeDéfautRequisDescription
body{ tuples: AuthzTuple[] } | AuthzTupleouiUn tuple, ou un objet tuples avec 1 à 100 tuples.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

AuthzResource.explain​

async explain(body: { action: string; resource: Doc; context?: Doc; subject?: Doc }, opts?: CallOptions)

Évaluer une demande de politique. Renvoie la décision pour une demande du Policy Contract. Le corps est un Policy Contract ({schema_version, request}) ou seulement son objet request (subject, action, resource, context) ; il est validé avec le contrat policy-contract (422 validation_error).

Route : /v1/policies/evaluate (POST).

NomTypeDéfautRequisDescription
body{ action: string; resource: Doc; context?: Doc; subject?: Doc }ouiDocument Policy Contract, ou son seul objet request.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

AuthzResource.listTuples​

listTuples(query?: { subject?: string; object?: string }, opts?: CallOptions)

Lister les tuples d'autorisation. Liste les tuples enregistrés du tenant, triés par objet, relation et sujet, 1000 au plus, éventuellement filtrés par objet et par sujet (égalité exacte). Ouvert à tout membre du tenant. next_cursor vaut toujours null.

Route : /v1/authz/tuples (GET).

NomTypeDéfautRequisDescription
query{ subject?: string; object?: string }nonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

AuthzResource.writeTuples​

writeTuples(body: { tuples: AuthzTuple[] } | AuthzTuple, opts?: CallOptions)

Écrire des tuples d'autorisation. Accorde un tuple ({subject, relation, object}) ou jusqu'à 100 ({"tuples": [...]}) en une transaction. Exige tenant_admin ou security_officer. Un sujet générique (user:*) sur une relation réservée aux sujets nommés, comme can_assume, répond 422 authz_wildcard_not_allowed. La réponse (201) donne written et engine. Écrit l'événement d'audit authz.write. 502 authz_backend_error quand le moteur ne peut pas répondre.

Route : /v1/authz/tuples (POST).

NomTypeDéfautRequisDescription
body{ tuples: AuthzTuple[] } | AuthzTupleouiUn tuple, ou un objet tuples avec 1 à 100 tuples.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Alias de type OPA_BUNDLE_STATUS_PATH​

Point d'accès de statut OPA que lit le Control Plane pour indiquer la révision de bundle exécutée par un moteur (API OPA, pas Control Plane).

Classe PoliciesResource​

Politiques. Politiques fondées sur les attributs (ABAC) qui décident de chaque action sensible de la plateforme, avec le Policy Contract v1, le journal des décisions, la simulation, les révisions et les bundles OPA signés.

Resource

PoliciesResource.create​

create(body: Doc, opts?: CallOptions)

Créer une politique. Crée une politique du tenant et ajoute sa première révision. Une politique opa exige rego (422 validation_error) et, sauf si OPA charge des bundles signés, est poussée immédiatement dans OPA (503 policy_engine_unavailable quand OPA est injoignable). Un nom déjà utilisé répond 409 conflict. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.create.

Route : /v1/policies (POST).

NomTypeDéfautRequisDescription
bodyDocouiNom, moteur, règles ou Rego, priorité et statut de la politique.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.createBundle​

createBundle(body: { revision?: string; data?: Doc } = {}, opts?: CallOptions)

Publier un bundle OPA. Emballe les politiques opa du tenant dans un bundle OPA signé et l'enregistre comme nouvelle révision current. Les politiques actives sont décidées par OPA ; les brouillons sont livrés comme bibliothèques ; les désactivées sont exclues. Aucune politique opa répond 409 policy_bundle_empty ; aucune clé de signature en production 503 policy_bundle_signing_unavailable. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.bundle_publish. Répond 201 avec l'enregistrement du bundle.

Route : /v1/policies/bundles (POST).

NomTypeDéfautRequisDescription
body{ revision?: string; data?: Doc }{}nonNom de révision et contenu de data.json facultatifs. Un corps vide génère la révision.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.decisions​

decisions(params?: ListParams, opts?: CallOptions)

Lister les décisions de politique. Liste les décisions du tenant, les plus récentes d'abord, paginées : sujet, action, ressource, contexte, autorisation, politique et version, raisons, obligations, moteur et date. Exige tenant_admin, security_officer ou auditor.

Route : /v1/policies/decisions (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.delete​

delete(id: string, opts?: CallOptions)

Supprimer une politique. Supprime la politique et ajoute une révision delete. Une politique OPA poussée directement dans OPA en est aussi retirée (503 policy_engine_unavailable quand OPA est injoignable). Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.delete. Répond 204, ou 404 not_found.

Route : /v1/policies/{policy_id} (DELETE).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la politique.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.diffRevisions​

diffRevisions(id: string, query: { from_revision?: number; to_revision?: number } = {}, opts?: CallOptions)

Comparer deux révisions d'une politique. Renvoie les différences entre deux révisions de la politique. Par défaut : la révision précédente face à la dernière. La politique est d'abord recherchée (404 not_found), puis les révisions (404 not_found). Exige tenant_admin, security_officer, auditor ou developer.

Route : /v1/policies/{policy_id}/revisions/diff (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la politique.
query{ from_revision?: number; to_revision?: number }{}nonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.downloadBundle​

downloadBundle(revision: string = "current", opts?: CallOptions)

Télécharger un bundle OPA. Renvoie le bundle qu'OPA interroge, en application/gzip : modules Rego, data.json facultatif, .manifest et .signatures.json (JWT RS256 sur le SHA-256 de chaque fichier). L'en-tête ETag est son SHA-256 et X-Bundle-Revision sa révision. Exige tenant_admin, security_officer ou auditor. Répond 404 not_found pour une révision inconnue.

Route : /v1/policies/bundles/{revision}/bundle.tar.gz (GET).

NomTypeDéfautRequisDescription
revisionstring"current"nonRévision du bundle, ou current pour la dernière publiée.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.engines​

engines(opts?: CallOptions)

Lire l'état des moteurs de politique. Renvoie les services de politique (moteur intégré, OPA, OpenFGA) et la version de politique ou la révision de bundle que chacun exécute réellement, lue auprès du moteur lui-même. Exige tenant_admin, security_officer ou auditor.

Route : /v1/policies/engines (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.evaluate​

evaluate(body: PolicyContract | { request: PolicyRequest } | Doc, opts?: CallOptions)

Évaluer une demande de politique. Renvoie la décision pour une demande du Policy Contract. Le corps est un Policy Contract ({schema_version, request}) ou seulement son objet request (subject, action, resource, context) ; il est validé avec le contrat policy-contract (422 validation_error).

Route : /v1/policies/evaluate (POST).

NomTypeDéfautRequisDescription
bodyPolicyContract | { request: PolicyRequest } | DocouiDocument Policy Contract, ou son seul objet request.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.get​

get(id: string, opts?: CallOptions)

Lire une politique. Renvoie une politique. Ouvert à tout membre du tenant. Répond 404 not_found.

Route : /v1/policies/{policy_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la politique.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.list​

list(params?: ListParams, opts?: CallOptions)

Lister les politiques. Liste les politiques du tenant dans l'ordre d'évaluation (priorité, puis nom), avec leurs règles ou leur Rego. Ouvert à tout membre du tenant. next_cursor vaut toujours null.

Route : /v1/policies (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.listBundles​

listBundles(opts?: CallOptions)

Lister les bundles OPA. Liste les bundles OPA publiés pour le tenant : révision, SHA-256, état de signature, politiques incluses et date. Exige tenant_admin, security_officer ou auditor.

Route : /v1/policies/bundles (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.replace​

replace(id: string, body: Doc, opts?: CallOptions)

Remplacer une politique. Remplace tous les champs de la politique et ajoute une révision update. Même validation qu'à la création (rego pour opa, nom unique). Une politique opa est poussée dans OPA sauf si OPA charge des bundles. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.update. Répond 404 not_found pour une politique inconnue.

Route : /v1/policies/{policy_id} (PUT).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la politique.
bodyDocouiNouveau contenu complet de la politique.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.revisions​

revisions(id: string, opts?: CallOptions)

Lister les révisions d'une politique. Liste les révisions immuables de la politique (une par création, modification et suppression, écrite dans la même transaction), avec leur numéro, opération, auteur, date et contenu. Exige tenant_admin, security_officer, auditor ou developer. Répond 404 not_found.

Route : /v1/policies/{policy_id}/revisions (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la politique.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesResource.simulate​

simulate(body: { candidate: Doc; inputs?: Doc[]; policy_id?: string; recorded?: Doc }, opts?: CallOptions)

Simuler une politique candidate. Compare, entrée par entrée, les décisions des politiques actives avec celles du même ensemble où la candidate remplace policy_id (ou est ajoutée). Rien n'est modifié.

Route : /v1/policies/simulate (POST).

NomTypeDéfautRequisDescription
body{ candidate: Doc; inputs?: Doc[]; policy_id?: string; recorded?: Doc }ouiPolitique candidate, politique remplacée, entrées et nombre de décisions enregistrées à rejouer.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe ApprovalsResource​

Validations. Humain dans la boucle : demandes de validation des actions sensibles, avec séparation des tâches, quorum et expiration. Les exécutions d'agents qui atteignent un outil soumis à validation, les promotions de modèles, d'agents, d'outils, de compétences, de serveurs MCP ou de plugins, les accès d'urgence et les mandats créent tous leurs demandes de validation ici.

Resource

ApprovalsResource.cancel​

async cancel(id: string, body: ApprovalCancel, opts?: CallOptions)

Annuler une demande de validation. Retire une demande en attente. Autorisé à son demandeur, à un tenant_admin ou à un security_officer (403 forbidden sinon, le refus étant audité). La demande finit cancelled et son sujet réagit comme à un refus : une exécution en attente échoue (approval_cancelled), un accès d'urgence ou un mandat en attente est refusé. Une demande qui n'est plus en attente répond 409 approval_closed. Écrit l'événement d'audit approval.cancel avec la raison. La réponse porte run_state quand une exécution est rattachée.

Route : /v1/approvals/{approval_id}/cancel (POST).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la demande de validation.
bodyApprovalCancelouiRaison de l'annulation.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : EaiError, les erreurs typées du transport (Erreurs).

ApprovalsResource.check​

async check(id: string, opts?: CallOptions)

Lire une demande de validation. Renvoie une demande de validation avec ses décisions (valideur, décision, commentaire, date) et approvals_count. Une demande en attente dont l'expiration est passée est marquée expired et son exécution en attente échoue. Ouvert à tout membre du tenant. Répond 404 approval_not_found.

Route : /v1/approvals/{approval_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la demande de validation.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ApprovalsResource.create​

create(body: Doc, opts?: CallOptions)

Demander une validation. Crée une demande de validation en attente. Exige tenant_admin, developer, agent, security_officer ou finops.

Route : /v1/approvals (POST).

NomTypeDéfautRequisDescription
bodyDocouiAction, ressource, quorum, valideurs et expiration de la demande.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ApprovalsResource.decide​

decide(id: string, body: { decision: "approve" | "reject"; comment?: string }, opts?: CallOptions)

Approuver ou refuser une demande. Enregistre la décision de l'appelant sur une demande en attente.

Route : /v1/approvals/{approval_id}/decide (POST).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la demande de validation.
body{ decision: "approve" | "reject"; comment?: string }ouiDécision et commentaire facultatif.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ApprovalsResource.get​

get(id: string, opts?: CallOptions)

Lire une demande de validation. Renvoie une demande de validation avec ses décisions (valideur, décision, commentaire, date) et approvals_count. Une demande en attente dont l'expiration est passée est marquée expired et son exécution en attente échoue. Ouvert à tout membre du tenant. Répond 404 approval_not_found.

Route : /v1/approvals/{approval_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la demande de validation.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ApprovalsResource.iterate​

iterate(params?: ListParams, opts?: CallOptions)

Lister les demandes de validation. Liste les demandes de validation du tenant, les plus récentes d'abord, paginées, éventuellement filtrées par statut. Les demandes en attente dont l'expiration est passée sont d'abord marquées expired. Chaque élément porte ses decisions et approvals_count. Ouvert à tout membre du tenant.

Route : /v1/approvals (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

ApprovalsResource.list​

list(params?: ListParams, opts?: CallOptions)

Lister les demandes de validation. Liste les demandes de validation du tenant, les plus récentes d'abord, paginées, éventuellement filtrées par statut. Les demandes en attente dont l'expiration est passée sont d'abord marquées expired. Chaque élément porte ses decisions et approvals_count. Ouvert à tout membre du tenant.

Route : /v1/approvals (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Interface ApprovalCancel​

Corps de POST /v1/approvals/{id}/cancel.

Champs :

NomTypeRequisDescription
reasonstringouiRaison de l'action. Inscrite dans le journal d'audit avec l'acteur et l'heure.

Classe RiskResource​

Risques et conformité. Gestion des risques des systèmes d'IA du tenant : évaluations au titre de l'AI Act européen, contrôles rattachés à l'ISO/IEC 42001, au NIST AI RMF, au RGPD et à l'AI Act, preuves et dérogations limitées dans le temps.

Resource

RiskResource.createAssessment​

createAssessment(body: Doc, opts?: CallOptions)

Évaluer le risque d'un système d'IA. Classe la cible au titre de l'AI Act européen et enregistre l'évaluation. Exige tenant_admin, security_officer, developer ou ai_governance_officer ; le statut approved exige tenant_admin, security_officer ou ai_governance_officer (403 forbidden).

Route : /v1/risk/assessments (POST).

NomTypeDéfautRequisDescription
bodyDocouiCible, cas d'usage, réponses, responsable, statut et preuves de l'évaluation.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RiskResource.createControl​

createControl(body: Doc, opts?: CallOptions)

Adopter ou modifier un contrôle. Crée ou modifie le contrôle du code donné. Pour un code du catalogue, le titre et les référentiels valent par défaut ceux du catalogue. Exige tenant_admin ou security_officer. Erreurs 400 invalid_request : statut autre que planned, implemented, partially_implemented ou not_applicable ; absence de titre pour un code personnalisé ; référentiel autre que iso_42001, nist_ai_rmf, gdpr ou eu_ai_act. Les preuves fournies sont ajoutées. Écrit l'événement d'audit risk.control.upsert.

Route : /v1/risk/controls (POST).

NomTypeDéfautRequisDescription
bodyDocouiCode, titre, référentiels, statut, responsable et preuves du contrôle.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RiskResource.createException​

createException(body: Doc, opts?: CallOptions)

Demander une dérogation à un contrôle. Enregistre une dérogation limitée dans le temps sur un contrôle (control_id ou control_code) ou sur une cible (target_ref). Exige tenant_admin, security_officer ou developer.

Route : /v1/risk/exceptions (POST).

NomTypeDéfautRequisDescription
bodyDocouiContrôle ou cible, raison, contrôles compensatoires, approbateur et expiration.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RiskResource.evidence​

evidence(query?: Query, opts?: CallOptions)

Lire les preuves de conformité. Renvoie les preuves enregistrées sur les contrôles et les évaluations, les plus récentes d'abord, plus les preuves collectées automatiquement sur la plateforme et rattachées aux contrôles du catalogue : nombres d'agents, d'outils, de modèles, d'évaluations, de règles DLP et de politiques de conservation actives, de clés, d'événements et d'exports d'audit avec l'état de la chaîne d'audit, d'évaluations, de campagnes de red team, d'incidents et de validations. Ouvert à tout membre du tenant.

Route : /v1/risk/evidence (GET).

NomTypeDéfautRequisDescription
queryQuerynonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RiskResource.listAssessments​

listAssessments(params?: ListParams, opts?: CallOptions)

Lister les évaluations de risques. Liste les évaluations du tenant, les plus récentes d'abord, 500 au plus, éventuellement pour une seule cible. Chaque élément donne la cible, eu_ai_act_category (aussi en risk_level), les cas d'usage, les réponses, la justification, les obligations, le statut et le responsable. Ouvert à tout membre du tenant. next_cursor vaut toujours null.

Route : /v1/risk/assessments (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RiskResource.listControls​

listControls(params?: ListParams, opts?: CallOptions)

Lister les contrôles. Liste les contrôles adoptés par le tenant, triés par code, chacun avec evidence_count, ses exceptions et active_exceptions, ainsi que le catalog intégré où adopted indique ceux que le tenant utilise. Ouvert à tout membre du tenant.

Route : /v1/risk/controls (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RiskResource.listExceptions​

listExceptions(query?: { status?: string } & Query, opts?: CallOptions)

Lister les dérogations. Liste les dérogations du tenant triées par expiration, chacune avec son status calculé : active, expired ou revoked. Ouvert à tout membre du tenant. next_cursor vaut toujours null.

Route : /v1/risk/exceptions (GET).

NomTypeDéfautRequisDescription
query{ status?: string } & QuerynonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe IncidentsResource​

Incidents. Incidents de sécurité et d'exploitation du tenant : gravité, statut, chronologie, actions de confinement, alertes Alertmanager et transmission au SIEM.

Resource

IncidentsResource.action​

action(id: string, body: { action: string; target: string; reason?: string } & Doc, opts?: CallOptions)

Lancer une action de confinement. Lance une action de confinement par le domaine propriétaire de la cible et l'enregistre sur l'incident. Exige tenant_admin ou security_officer.

Route : /v1/incidents/{incident_id}/actions (POST).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de l'incident.
body{ action: string; target: string; reason?: string } & DocouiAction, cible et raison.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

IncidentsResource.create​

create(body: Doc, opts?: CallOptions)

Ouvrir un incident. Ouvre un incident au statut open, ajoute l'entrée created à la chronologie et le transmet au SIEM. Exige tenant_admin, security_officer, developer ou agent. Une gravité inconnue répond 400 invalid_request. Écrit l'événement d'audit incident.create. La réponse (201) porte l'incident avec sa chronologie.

Route : /v1/incidents (POST).

NomTypeDéfautRequisDescription
bodyDocouiTitre, gravité, description, catégorie, ressources et responsable.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

IncidentsResource.get​

get(id: string, opts?: CallOptions)

Lire un incident. Renvoie l'incident avec sa timeline (type, message, données, acteur, date) et ses actions de confinement (action, cible, statut, résultat). Ouvert à tout membre du tenant. Répond 404 not_found.

Route : /v1/incidents/{incident_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de l'incident.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

IncidentsResource.list​

list(params?: ListParams, opts?: CallOptions)

Lister les incidents. Liste les incidents du tenant, identifiant le plus récent d'abord, paginés, éventuellement filtrés par statut et gravité. Les éléments ne portent ni la chronologie ni les actions (lisez un incident pour les obtenir). Ouvert à tout membre du tenant.

Route : /v1/incidents (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

IncidentsResource.receiveAlerts​

receiveAlerts(body: Doc, opts?: CallOptions)

Recevoir des alertes Alertmanager. Récepteur webhook de Prometheus Alertmanager (charge utile en version 4). Chaque alerte est identifiée par son fingerprint :

Route : /v1/incidents/alerts (POST).

NomTypeDéfautRequisDescription
bodyDocouiCharge utile du webhook Alertmanager, 500 alertes au plus.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

IncidentsResource.update​

update(id: string, body: Doc, opts?: CallOptions)

Modifier un incident. Modifie le statut, la gravité ou le responsable et ajoute éventuellement une note. Chaque changement est ajouté à la chronologie et transmis au SIEM ; passer à resolved ou closed renseigne resolved_at. Exige tenant_admin ou security_officer. Un statut ou une gravité inconnus répondent 400 invalid_request. Écrit l'événement d'audit incident.update.

Route : /v1/incidents/{incident_id} (PATCH).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de l'incident.
bodyDocouiChamps à modifier et note facultative.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe GovernanceResource​

Gouvernance. Registre de gouvernance : une vue agrégée des actifs d'IA du tenant, pour savoir ce qui existe, qui en est responsable et quel est son niveau de risque.

Resource

GovernanceResource.registry​

registry(query?: Query, opts?: CallOptions)

Lire le registre de gouvernance. Inventaire des agents, modèles, fournisseurs, outils, skills, plugins et connecteurs (5000 éléments par type au plus, par nom), une liste par type (agents, models, ...), avec un summary par type : total, nombre par statut, nombre par niveau de risque (unassessed à défaut) et nombre d'éléments sans responsable. missing_sources liste les tables non installées sur cette instance ; leur liste est vide. Demande un principal de tenant (403 tenant_required). Un type inconnu répond 400 invalid_request avec les types autorisés.

Route : /v1/governance/registry (GET).

NomTypeDéfautRequisDescription
queryQuerynonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe SecretsResource​

Secrets. Magasin en écriture seule des secrets du tenant : clés de fournisseurs, mots de passe de connecteurs, jetons de serveurs MCP. Les valeurs sont chiffrées (dans OpenBao quand il est configuré, sinon en AES-GCM dans la base) et ne sont jamais renvoyées par l'API. Les autres objets désignent un secret par son chemin ; la plateforme ne lit la valeur côté serveur que lorsqu'elle en a besoin.

Resource

SecretsResource.delete​

delete(path: string, opts?: CallOptions)

Supprimer un secret. Supprime le secret et, avec OpenBao, sa valeur dans le coffre. Exige tenant_admin, security_officer ou developer ; un développeur ne supprime que les secrets qu'il a écrits (403 forbidden). Les objets qui désignent encore ce chemin cessent de fonctionner. Écrit l'événement d'audit secret.delete. Répond 204, 404 not_found, ou 502 secret_backend_error quand le coffre est injoignable.

Route : /v1/secrets/{path} (DELETE).

NomTypeDéfautRequisDescription
pathstringouiChemin du secret, barres obliques comprises, par exemple connectors/crm/password.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

SecretsResource.list​

list(params?: ListParams, opts?: CallOptions)

Lister les secrets. Liste les métadonnées des secrets du tenant triées par chemin : id, path, backend (openbao ou local), version, created_by, created_at, updated_at. Jamais la valeur. Ouvert à tout membre du tenant. next_cursor vaut toujours null.

Route : /v1/secrets (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

SecretsResource.write​

write(body: { path: string; value: string } & Doc, opts?: CallOptions)

Écrire un secret. Crée le secret, ou remplace sa valeur quand le chemin existe (la version augmente de un). Exige tenant_admin, security_officer ou developer ; un développeur ne remplace que les secrets qu'il a écrits (403 forbidden). Un chemin contenant un segment .. répond 400 invalid_request. La réponse (201) donne les métadonnées, jamais la valeur. Écrit l'événement d'audit secret.write. 502 secret_backend_error quand le coffre est injoignable.

Route : /v1/secrets (POST).

NomTypeDéfautRequisDescription
body{ path: string; value: string } & DocouiChemin et valeur du secret.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Interface SecuritySettings​

Réglages de sécurité du tenant, lus et mis à jour partiellement via /v1/security/settings.

Champs :

NomTypeRequisDescription
prompt_injection_mode"off" | "detect" | "block"nonFiltre d'injection de prompt : off, detect ou block.
untrusted_content_wrappingbooleannonIndique si le contenu non fiable est encadré avant d'atteindre le modèle.
output_links"allow" | "strip_untrusted"nonTraitement des liens dans la sortie du modèle : allow ou strip_untrusted.
output_link_allowliststring[]nonCibles de liens conservées dans la sortie du modèle.
egress_allowed_hostsstring[]nonHôtes que les appels sortants peuvent joindre.

Classe SecurityResource​

Posture et réglages de sécurité (/v1/security), signalement d'incident et confinement d'un run.

Resource

SecurityResource.cancelRun​

cancelRun(runId: string, body: { reason?: string } = {}, opts?: CallOptions)

Annuler un run. Fait passer le run à cancelled avec l'erreur cancelled ; ses runs de sous-agents actifs sont aussi annulés. Demande tenant_admin, developer, agent ou security_officer. Un run déjà terminé répond 409 invalid_transition. Audité sous run.transition.

Route : /v1/runs/{run_id}/cancel (POST).

NomTypeDéfautRequisDescription
runIdstringouiIdentifiant (UUID) du run.
body{ reason?: string }{}nonRaison facultative de l'annulation.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

SecurityResource.checkState​

checkState(opts?: CallOptions)

Lire la posture de sécurité. Renvoie environment, generated_at, protections (méthodes d'authentification et autres protections en vigueur), checks (chacun avec son statut pass, warn ou fail, sa gravité et son message) et summary (nombre de contrôles par statut). Pour un appelant rattaché à un tenant, renvoie aussi tenant avec les réglages de sécurité du tenant, dont certains contrôles tiennent compte. Exige security_officer ou tenant_admin. En lecture seule.

Route : /v1/security/posture (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

SecurityResource.getSettings​

getSettings(opts?: CallOptions)

Lire les réglages de sécurité. Renvoie tenant_id et settings : les réglages de sécurité du tenant, valeurs par défaut comprises. Exige tenant_admin ou security_officer et un tenant (403 tenant_required).

Route : /v1/security/settings (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

SecurityResource.posture​

posture(opts?: CallOptions)

Lire la posture de sécurité. Renvoie environment, generated_at, protections (méthodes d'authentification et autres protections en vigueur), checks (chacun avec son statut pass, warn ou fail, sa gravité et son message) et summary (nombre de contrôles par statut). Pour un appelant rattaché à un tenant, renvoie aussi tenant avec les réglages de sécurité du tenant, dont certains contrôles tiennent compte. Exige security_officer ou tenant_admin. En lecture seule.

Route : /v1/security/posture (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

SecurityResource.reportIncident​

reportIncident(body: { title: string; severity?: string } & Doc, opts?: CallOptions)

Ouvrir un incident. Ouvre un incident au statut open, ajoute l'entrée created à la chronologie et le transmet au SIEM. Exige tenant_admin, security_officer, developer ou agent. Une gravité inconnue répond 400 invalid_request. Écrit l'événement d'audit incident.create. La réponse (201) porte l'incident avec sa chronologie.

Route : /v1/incidents (POST).

NomTypeDéfautRequisDescription
body{ title: string; severity?: string } & DocouiTitre, gravité, description, catégorie, ressources et responsable.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

SecurityResource.updateSettings​

updateSettings(body: SecuritySettings, opts?: CallOptions)

Modifier les réglages de sécurité. Mise à jour partielle : seuls les réglages envoyés changent, les autres gardent leur valeur. Exige tenant_admin ou security_officer et un tenant.

Route : /v1/security/settings (PUT).

NomTypeDéfautRequisDescription
bodySecuritySettingsouiObjet JSON avec les réglages à modifier, par exemple {"prompt_injection_mode": "block"}.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Fonctions​

confirmCheck​

confirmCheck(answer: T): T &

Renvoie une réponse de vérification d'autorisation seulement quand OpenFGA a donné une décision booléenne explicite.

NomTypeDéfautRequisDescription
answerTouiRéponse de POST /v1/authz/check.

Retour : T &. La même réponse, typée avec un allowed booléen ; lève AuthzUnconfirmedError sinon.

confirmDecision​

confirmDecision(answer: Doc): PolicyDecision

Évaluer une demande de politique. Renvoie la décision pour une demande du Policy Contract. Le corps est un Policy Contract ({schema_version, request}) ou seulement son objet request (subject, action, resource, context) ; il est validé avec le contrat policy-contract (422 validation_error).

Route : /v1/policies/evaluate (POST).

NomTypeDéfautRequisDescription
answerDocouiRéponse de POST /v1/policies/evaluate ; son decision.allow doit être un booléen.

Retour : PolicyDecision. Réponse JSON décodée de l'opération « Évaluer une demande de politique ».

Erreurs levées : AuthzUnconfirmedError, les erreurs typées du transport (Erreurs).