# Référence de l'API

> Engendrée depuis le registre. Ne pas modifier à la main.

Version 0.3.0 du registre. Une seule version dans le chemin, « /v1 », pour toute l'API ; chaque route renvoie à la page de son opération.

| Route | Opération | Résumé |
| --- | --- | --- |
| `POST /v1/account/devices` | [`account.device.create`](operations/account.device.create.md) | Déclarer un appareil (jeton APNs ou FCM) pour recevoir les notifications du compte. |
| `DELETE /v1/account/devices/{deviceId}` | [`account.device.revoke`](operations/account.device.revoke.md) | Retirer un appareil déclaré : plus aucune notification ne lui est adressée. |
| `GET /v1/account/mcp-clients` | [`mcp_client.list`](operations/mcp_client.list.md) | Lister les clients MCP qu'on a autorisés : leur nom, leurs portées, leur dernier usage. |
| `DELETE /v1/account/mcp-clients/{authorizationId}` | [`mcp_client.revoke`](operations/mcp_client.revoke.md) | Retirer l'autorisation d'un client MCP : ses jetons d'agent sont refusés au premier appel qui suit. |
| `GET /v1/account/mcp-consents/{requestId}` | [`mcp_client.consent.read`](operations/mcp_client.consent.read.md) | Relire une demande d'autorisation d'un client MCP en attente : son nom, son adresse, les portées qu'il demande. |
| `POST /v1/account/mcp-consents/{requestId}` | [`mcp_client.consent.create`](operations/mcp_client.consent.create.md) | Consentir à une demande d'autorisation d'un client MCP, ou la refuser. Rend l'adresse où renvoyer le navigateur. |
| `GET /v1/account/notices` | [`account.notice.list`](operations/account.notice.list.md) | Lire les avis que la plateforme a adressés à son compte, et ce qu'ils sont devenus. |
| `GET /v1/account/notifications` | [`account.notification.read`](operations/account.notification.read.md) | Lire, pour une organisation, les canaux qui préviennent le compte de chaque genre de fait, et ses appareils déclarés. |
| `PUT /v1/account/notifications` | [`account.notification.write`](operations/account.notification.write.md) | Choisir les canaux qui préviennent le compte d'un genre de fait, dans une organisation. |
| `GET /v1/account/organizations` | [`account.organization.list`](operations/account.organization.list.md) | Lister les organisations où l'on tient un rôle : identifiant, slug, nom et rôles — de quoi choisir où entrer. |
| `POST /v1/account/passkeys` | [`account.passkey.create`](operations/account.passkey.create.md) | Commencer l'enrôlement d'une clé d'accès : rend les options que le navigateur passe à « navigator.credentials.create », avec un défi à signer dans les quinze minutes. |
| `POST /v1/account/passkeys/{secondFactorId}/accept` | [`account.passkey.accept`](operations/account.passkey.accept.md) | Confirmer une clé d'accès en attente par ce que rend « navigator.credentials.create » : elle devient active, les autres sessions se ferment, et le premier facteur rend dix codes, une fois. |
| `PUT /v1/account/password` | [`account.password.write`](operations/account.password.write.md) | Changer son mot de passe, sous une session de console : l'actuel est demandé, et les autres sessions du compte se ferment. |
| `GET /v1/account/personal-access-tokens` | [`personal_access_token.list`](operations/personal_access_token.list.md) | Lister ses jetons personnels : portées, échéance, dernier usage et son adresse, et quand un jeton inutilisé sera désactivé. |
| `POST /v1/account/personal-access-tokens` | [`personal_access_token.create`](operations/personal_access_token.create.md) | Frapper un jeton personnel : des portées nommées, une échéance d'au plus 365 jours. Rendu une seule fois. |
| `DELETE /v1/account/personal-access-tokens/{tokenId}` | [`personal_access_token.revoke`](operations/personal_access_token.revoke.md) | Révoquer l'un de ses jetons personnels : il est refusé au premier appel qui suit. |
| `POST /v1/account/personal-access-tokens/{tokenId}/reactivate` | [`personal_access_token.reactivation.create`](operations/personal_access_token.reactivation.create.md) | Réactiver l'un de ses jetons personnels désactivé pour inactivité, sous une session de console. |
| `POST /v1/account/recovery-codes` | [`account.recovery_codes.replace`](operations/account.recovery_codes.replace.md) | Émettre dix nouveaux codes de récupération, le mot de passe actuel présenté : les anciens cessent de valoir, et les neufs sont rendus une fois. |
| `GET /v1/account/second-factors` | [`account.second_factor.list`](operations/account.second_factor.list.md) | Lister ses seconds facteurs et le nombre de codes de récupération qui restent — jamais un secret. |
| `POST /v1/account/second-factors` | [`account.second_factor.create`](operations/account.second_factor.create.md) | Commencer l'enrôlement d'une application d'authentification : son secret est rendu une fois, et le facteur ne compte qu'une fois confirmé par un premier code. |
| `POST /v1/account/second-factors/{secondFactorId}/accept` | [`account.second_factor.accept`](operations/account.second_factor.accept.md) | Confirmer un facteur en attente par un premier code juste : il devient actif, les autres sessions se ferment, et le premier facteur rend dix codes de récupération, une fois. |
| `POST /v1/account/second-factors/{secondFactorId}/revoke` | [`account.second_factor.revoke`](operations/account.second_factor.revoke.md) | Retirer un second facteur, le mot de passe actuel présenté : les autres sessions se ferment, et le dernier facteur emporte les codes de récupération. |
| `GET /v1/account/sessions` | [`account.session.list`](operations/account.session.list.md) | Lister ses sessions de console actives : d'où elles ont été ouvertes, et jusqu'à quand. |
| `DELETE /v1/account/sessions/{sessionId}` | [`account.session.revoke`](operations/account.session.revoke.md) | Fermer l'une de ses sessions de console : elle est refusée au premier appel qui suit. |
| `PATCH /v1/billing-entities/{billingEntityId}` | [`billing.manage`](operations/billing.manage.md) | Gérer la facturation, les moyens de paiement et le plafond de dépense. |
| `GET /v1/billing-entities/{billingEntityId}/usage` | [`usage.read`](operations/usage.read.md) | Lire la consommation et les compteurs d'usage d'une entité contractante. |
| `DELETE /v1/organizations/{organizationId}` | [`organization.delete`](operations/organization.delete.md) | Supprimer une organisation et tout ce qu'elle contient. |
| `GET /v1/organizations/{organizationId}/agent-projects` | [`organization.agent_projects.read`](operations/organization.agent_projects.read.md) | Lire si les projets que les agents de l'organisation créent sont revendiqués d'office. |
| `PUT /v1/organizations/{organizationId}/agent-projects` | [`organization.agent_projects.configure`](operations/organization.agent_projects.configure.md) | Décider si les projets que les agents de l'organisation créent sont revendiqués d'office par le compte au nom duquel ils agissent. |
| `GET /v1/organizations/{organizationId}/audit` | [`organization.audit.read`](operations/organization.audit.read.md) | Lire le journal d'audit d'une organisation hors de ses projets, du plus récent au plus ancien. |
| `GET /v1/organizations/{organizationId}/github` | [`organization.github_connection.list`](operations/organization.github_connection.list.md) | Lire les raccordements GitHub d'une organisation, et l'adresse où installer l'application. |
| `POST /v1/organizations/{organizationId}/github` | [`organization.github_connection.create`](operations/organization.github_connection.create.md) | Raccorder à l'organisation une installation de l'application GitHub, au retour de GitHub. |
| `GET /v1/organizations/{organizationId}/github/repositories` | [`organization.github_repository.list`](operations/organization.github_repository.list.md) | Lire les dépôts GitHub que les raccordements de l'organisation ouvrent. |
| `POST /v1/organizations/{organizationId}/github/{connectionId}/revoke` | [`organization.github_connection.revoke`](operations/organization.github_connection.revoke.md) | Retirer un raccordement GitHub de l'organisation. |
| `GET /v1/organizations/{organizationId}/invitations` | [`organization.invitation.list`](operations/organization.invitation.list.md) | Lire les invitations en attente d'une organisation. |
| `POST /v1/organizations/{organizationId}/invitations` | [`organization.invitation.create`](operations/organization.invitation.create.md) | Inviter une personne, par son adresse, à une organisation ou à l'un de ses projets. |
| `POST /v1/organizations/{organizationId}/invitations/{invitationId}/revoke` | [`organization.invitation.revoke`](operations/organization.invitation.revoke.md) | Révoquer une invitation d'organisation avant son acceptation. |
| `GET /v1/organizations/{organizationId}/members` | [`member.list`](operations/member.list.md) | Lister les membres d'une organisation et leurs habilitations actives. |
| `POST /v1/organizations/{organizationId}/members` | [`member.manage`](operations/member.manage.md) | Attribuer, modifier ou retirer le rôle d'un membre d'une organisation. |
| `GET /v1/organizations/{organizationId}/projects` | [`project.list`](operations/project.list.md) | Lister les projets d'une organisation, page par page. |
| `POST /v1/organizations/{organizationId}/projects` | [`project.create`](operations/project.create.md) | Créer un projet dans une organisation, sans son backend. |
| `POST /v1/organizations/{organizationId}/projects/with-backend` | [`project.create_with_backend`](operations/project.create_with_backend.md) | Créer un projet, sa base et son premier déploiement de production, en un appel. |
| `GET /v1/organizations/{organizationId}/second-factor` | [`organization.second_factor.read`](operations/organization.second_factor.read.md) | Lire l'obligation du second facteur d'une organisation, et combien de comptes concernés n'en tiennent pas. |
| `PUT /v1/organizations/{organizationId}/second-factor` | [`organization.second_factor.configure`](operations/organization.second_factor.configure.md) | Exiger, ou ne plus exiger, un second facteur des Propriétaires, Administrateurs et membres Sécurité d'une organisation. |
| `GET /v1/organizations/{organizationId}/second-factor/exemptions` | [`organization.second_factor_exemption.list`](operations/organization.second_factor_exemption.list.md) | Lister les exemptions du second facteur d'une organisation : quel compte de service, pourquoi, par qui, jusqu'à quand. |
| `POST /v1/organizations/{organizationId}/second-factor/exemptions` | [`organization.second_factor_exemption.create`](operations/organization.second_factor_exemption.create.md) | Exempter du second facteur un compte de service, nommément et avec un motif, pour trois mois au plus. |
| `POST /v1/organizations/{organizationId}/second-factor/exemptions/{exemptionId}/revoke` | [`organization.second_factor_exemption.revoke`](operations/organization.second_factor_exemption.revoke.md) | Retirer l'exemption du second facteur d'un compte de service. |
| `GET /v1/organizations/{organizationId}/service-tokens` | [`service_token.list`](operations/service_token.list.md) | Lister les jetons de compte de service d'une organisation : portées, projets, qui en répond, échéance, dernier usage et son adresse. |
| `POST /v1/organizations/{organizationId}/service-tokens` | [`service_token.create`](operations/service_token.create.md) | Frapper un jeton de compte de service : des portées nommées, une liste de projets, quatre-vingt-dix jours au plus. Rendu une seule fois. |
| `DELETE /v1/organizations/{organizationId}/service-tokens/{serviceTokenId}` | [`service_token.revoke`](operations/service_token.revoke.md) | Révoquer un jeton de compte de service : il est refusé au premier appel qui suit. |
| `PUT /v1/organizations/{organizationId}/sso` | [`sso.configure`](operations/sso.configure.md) | Configurer l'authentification unique et l'annuaire d'une organisation. |
| `DELETE /v1/projects/{projectId}` | [`project.delete`](operations/project.delete.md) | Demander la suppression d'un projet, de ses environnements et de ses données. |
| `GET /v1/projects/{projectId}` | [`project.read`](operations/project.read.md) | Lire les métadonnées d'un projet et l'état de ses déploiements. |
| `PATCH /v1/projects/{projectId}` | [`project.settings.write`](operations/project.settings.write.md) | Modifier les réglages d'un projet. |
| `GET /v1/projects/{projectId}/access-requests` | [`access.request.list`](operations/access.request.list.md) | Lister les demandes d'accès de Glowsoft aux données d'un projet, les plus récentes d'abord. |
| `POST /v1/projects/{projectId}/access-requests/{accessId}/acceptance` | [`access.request.accept`](operations/access.request.accept.md) | Accepter une demande d'accès de Glowsoft aux données d'un projet. |
| `POST /v1/projects/{projectId}/access-requests/{accessId}/revocation` | [`access.request.revoke`](operations/access.request.revoke.md) | Révoquer un accès de Glowsoft ouvert, ou refuser une demande en attente. |
| `GET /v1/projects/{projectId}/audit` | [`audit.read`](operations/audit.read.md) | Lire le journal d'audit de son périmètre, du plus récent au plus ancien. |
| `GET /v1/projects/{projectId}/auth-emails` | [`auth_email.list`](operations/auth_email.list.md) | Lire le journal d'envoi des courriels d'authentification d'un projet. |
| `GET /v1/projects/{projectId}/backend` | [`backend.read`](operations/backend.read.md) | Lire le backend d'un projet : ses points d'entrée, sa clé publiable et ses clés. |
| `GET /v1/projects/{projectId}/backend/auth` | [`backend.auth.read`](operations/backend.auth.read.md) | Lire les réglages d'authentification du backend d'un projet. |
| `PATCH /v1/projects/{projectId}/backend/auth` | [`backend.auth.configure`](operations/backend.auth.configure.md) | Régler l'authentification du backend d'un projet. |
| `PUT /v1/projects/{projectId}/backend/auth/providers` | [`backend.auth_provider.configure`](operations/backend.auth_provider.configure.md) | Configurer un fournisseur d'identité tiers du backend d'un projet. |
| `POST /v1/projects/{projectId}/backend/keys` | [`backend.key.create`](operations/backend.key.create.md) | Frapper une clé secrète pour le backend d'un projet. Elle n'est rendue qu'une fois. |
| `DELETE /v1/projects/{projectId}/backend/keys/{keyId}` | [`backend.key.revoke`](operations/backend.key.revoke.md) | Révoquer une clé secrète du backend d'un projet, sans toucher aux autres. |
| `POST /v1/projects/{projectId}/backend/publishable-key` | [`backend.key.replace`](operations/backend.key.replace.md) | Remplacer la clé publiable du backend d'un projet, en un seul geste. |
| `PUT /v1/projects/{projectId}/backend/realtime` | [`backend.realtime.configure`](operations/backend.realtime.configure.md) | Activer ou désactiver le temps réel du backend d'un projet. |
| `GET /v1/projects/{projectId}/backend/schema-drift` | [`backend.schema_drift.read`](operations/backend.schema_drift.read.md) | Lire l'écart entre le schéma que déclare le dépôt d'un projet et sa base réelle. |
| `POST /v1/projects/{projectId}/build-cache` | [`build_cache.manage`](operations/build_cache.manage.md) | Purger le cache distant d'un projet, par clé ou en totalité, ou régler sa rétention. |
| `DELETE /v1/projects/{projectId}/bypass-tokens/{tokenId}` | [`preview.token.revoke`](operations/preview.token.revoke.md) | Révoquer un jeton de contournement : l'edge le refuse en moins de trente secondes. |
| `POST /v1/projects/{projectId}/cache/purge` | [`cache.tag.revoke`](operations/cache.tag.revoke.md) | Invalider ou supprimer du cache de l'edge ce qu'un environnement a rangé sous des étiquettes. |
| `POST /v1/projects/{projectId}/database/impersonations` | [`database.impersonation.create`](operations/database.impersonation.create.md) | Ouvrir une session d'usurpation d'un utilisateur de la base du projet. |
| `GET /v1/projects/{projectId}/database/impersonations/{impersonationId}` | [`database.impersonation.read`](operations/database.impersonation.read.md) | Lire sous l'identité d'un utilisateur usurpé, pour éprouver une politique. |
| `POST /v1/projects/{projectId}/database/impersonations/{impersonationId}/write` | [`database.impersonation.write`](operations/database.impersonation.write.md) | Écrire sous l'identité d'un utilisateur usurpé, après confirmation. |
| `POST /v1/projects/{projectId}/database/migrations` | [`database.migrate`](operations/database.migrate.md) | Appliquer une migration de schéma sur la base d'un projet. |
| `PUT /v1/projects/{projectId}/database/personal-columns` | [`database.personal_columns.configure`](operations/database.personal_columns.configure.md) | Régler la liste des colonnes classées donnée personnelle de la base d'un projet. |
| `GET /v1/projects/{projectId}/database/policies` | [`database.policy.list`](operations/database.policy.list.md) | Lister, pour chaque table du projet, la politique que la plateforme propose. |
| `POST /v1/projects/{projectId}/database/policies` | [`database.policy.write`](operations/database.policy.write.md) | Appliquer une politique de sécurité au niveau des lignes sur une table. |
| `POST /v1/projects/{projectId}/database/policies/proposed` | [`database.policy.write_proposed`](operations/database.policy.write_proposed.md) | Appliquer à une table la politique que la plateforme propose, éprouvée avant. |
| `GET /v1/projects/{projectId}/database/posture` | [`database.posture.read`](operations/database.posture.read.md) | Lire la dernière analyse de posture de sécurité de la base d'un projet. |
| `PUT /v1/projects/{projectId}/database/posture` | [`database.posture.configure`](operations/database.posture.configure.md) | Ouvrir, ou non, la correction quotidienne de la posture de la base en demande de fusion sur le dépôt du projet. |
| `POST /v1/projects/{projectId}/database/rls` | [`database.rls.configure`](operations/database.rls.configure.md) | Activer ou désactiver la sécurité au niveau des lignes d'une table. |
| `GET /v1/projects/{projectId}/database/sql` | [`database.sql.read`](operations/database.sql.read.md) | Lire la base d'un projet par une instruction SQL, en lecture seule. |
| `POST /v1/projects/{projectId}/database/sql` | [`database.sql.write`](operations/database.sql.write.md) | Modifier la base d'un projet par une instruction SQL, son effet mesuré d'abord. |
| `POST /v1/projects/{projectId}/deletion/accept` | [`project.deletion.accept`](operations/project.deletion.accept.md) | Valider la suppression demandée d'un projet : un second Propriétaire, ou le seul. |
| `POST /v1/projects/{projectId}/deletion/cancel` | [`project.deletion.cancel`](operations/project.deletion.cancel.md) | Annuler la suppression d'un projet : retirer la demande, l'annuler pendant la grâce, ou restaurer le projet depuis la corbeille. |
| `POST /v1/projects/{projectId}/deploy-hooks` | [`deployment.hook.create`](operations/deployment.hook.create.md) | Créer un crochet de déploiement : une adresse à appeler, signée, qui déploie une branche dans un environnement. Son secret est rendu une seule fois. |
| `DELETE /v1/projects/{projectId}/deploy-hooks/{hookId}` | [`deployment.hook.revoke`](operations/deployment.hook.revoke.md) | Révoquer un crochet de déploiement : son prochain appel est refusé. |
| `GET /v1/projects/{projectId}/deployments` | [`deployment.list`](operations/deployment.list.md) | Lister les déploiements d'un projet, du plus récent au plus ancien, page par page. |
| `POST /v1/projects/{projectId}/deployments` | [`deployment.create`](operations/deployment.create.md) | Déployer : construire une référence Git (au besoin sans la mettre en service) ou promouvoir une version déjà construite. |
| `GET /v1/projects/{projectId}/deployments/{deploymentId}` | [`deployment.read`](operations/deployment.read.md) | Lire l'état d'un déploiement, sa cause de fin et la durée de chacune de ses étapes. |
| `GET /v1/projects/{projectId}/deployments/{deploymentId}/build-log` | [`deployment.log.read`](operations/deployment.log.read.md) | Lire le journal d'une construction, structuré par étape et horodaté à la milliseconde. |
| `POST /v1/projects/{projectId}/deployments/{deploymentId}/cancel` | [`deployment.cancel`](operations/deployment.cancel.md) | Annuler un déploiement encore en file ou en construction, avant qu'il n'ait servi. |
| `GET /v1/projects/{projectId}/deployments/{deploymentId}/screenshot` | [`deployment.screenshot.read`](operations/deployment.screenshot.read.md) | Lire la capture d'écran d'un déploiement, prise après qu'il est devenu sain. |
| `GET /v1/projects/{projectId}/domains` | [`domain.list`](operations/domain.list.md) | Lister les noms d'hôte d'un projet, l'environnement que chacun sert et son état. |
| `POST /v1/projects/{projectId}/domains` | [`domain.add`](operations/domain.add.md) | Rattacher un domaine à un projet et lancer sa vérification. |
| `DELETE /v1/projects/{projectId}/domains/{domain}` | [`domain.delete`](operations/domain.delete.md) | Retirer un domaine d'un projet : il cesse d'être routé et certifié. |
| `DELETE /v1/projects/{projectId}/env` | [`env.delete.nonproduction`](operations/env.delete.nonproduction.md) | Supprimer une variable d'un environnement hors production. |
| `GET /v1/projects/{projectId}/env` | [`env.list`](operations/env.list.md) | Lister les variables d'un environnement, sans aucune valeur. |
| `PUT /v1/projects/{projectId}/env` | [`env.write.nonproduction`](operations/env.write.nonproduction.md) | Écrire une variable d'environnement hors production. |
| `DELETE /v1/projects/{projectId}/env/production` | [`env.delete.production`](operations/env.delete.production.md) | Supprimer une variable de l'environnement de production. |
| `PUT /v1/projects/{projectId}/env/production` | [`env.write.production`](operations/env.write.production.md) | Écrire une variable ou un secret de l'environnement de production. |
| `GET /v1/projects/{projectId}/env/pull` | [`env.pull.nonproduction`](operations/env.pull.nonproduction.md) | Lire les variables non sensibles d'un environnement hors production. |
| `GET /v1/projects/{projectId}/env/pull/production` | [`env.pull.production`](operations/env.pull.production.md) | Lire les variables non sensibles de l'environnement de production. |
| `GET /v1/projects/{projectId}/environments` | [`environment.list`](operations/environment.list.md) | Lister les environnements d'un projet et ce que chacun sert en ce moment. |
| `POST /v1/projects/{projectId}/environments/{environmentId}/bypass-tokens` | [`preview.token.create`](operations/preview.token.create.md) | Frapper un jeton de contournement pour un aperçu : il le traverse, quel que soit son mode. Rendu une seule fois. |
| `POST /v1/projects/{projectId}/environments/{environmentId}/preview-sessions` | [`preview.session.create`](operations/preview.session.create.md) | Ouvrir un aperçu en tant que membre du projet : rend l'adresse où entrer, à usage unique. |
| `GET /v1/projects/{projectId}/error-pages` | [`errorpage.read`](operations/errorpage.read.md) | Lire les pages d'erreur qu'un projet a posées. |
| `PUT /v1/projects/{projectId}/error-pages` | [`errorpage.configure`](operations/errorpage.configure.md) | Poser, remplacer ou retirer les pages d'erreur d'un projet, en français et en anglais. |
| `PUT /v1/projects/{projectId}/firewall` | [`firewall.configure`](operations/firewall.configure.md) | Configurer le pare-feu applicatif, la limitation de débit et les listes d'adresses. |
| `POST /v1/projects/{projectId}/forks/{number}/accept` | [`preview.fork.accept`](operations/preview.fork.accept.md) | Autoriser le commit d'une demande de fusion issue d'une bifurcation : il se construit et se déploie, sans aucun secret. |
| `GET /v1/projects/{projectId}/images` | [`image.read`](operations/image.read.md) | Lire les sources d'images admises d'un projet et son compteur de transformations du mois. |
| `PUT /v1/projects/{projectId}/images` | [`image.configure`](operations/image.configure.md) | Régler les sources d'images admises d'un projet, et obtenir la clé qui signe ses URL. |
| `GET /v1/projects/{projectId}/logs` | [`logs.read`](operations/logs.read.md) | Lire les journaux d'exécution d'un environnement sur une fenêtre de temps. |
| `POST /v1/projects/{projectId}/ownership/accept` | [`project.ownership.accept`](operations/project.ownership.accept.md) | Revendiquer un projet créé par un agent : il devient un projet ordinaire, sans échéance. |
| `POST /v1/projects/{projectId}/previews` | [`preview.manage`](operations/preview.manage.md) | Créer ou détruire une prévisualisation attachée à une branche. |
| `PUT /v1/projects/{projectId}/previews/protection` | [`preview.protection.configure`](operations/preview.protection.configure.md) | Régler ce que les aperçus d'un projet demandent : rien, un mot de passe, l'appartenance au projet, ou une adresse admise. |
| `POST /v1/projects/{projectId}/proposals/accept` | [`agent.proposal.accept`](operations/agent.proposal.accept.md) | Accepter une proposition déposée par un agent et la fusionner. |
| `GET /v1/projects/{projectId}/restorable` | [`deployment.restorable.list`](operations/deployment.restorable.list.md) | Ce qu'une restauration rétablirait, et ce qu'elle ne rétablirait pas. |
| `POST /v1/projects/{projectId}/rollback` | [`deployment.rollback`](operations/deployment.rollback.md) | Restaurer la release précédente d'un environnement, sans reconstruire. |
| `GET /v1/projects/{projectId}/secrets/reveal` | [`secret.reveal`](operations/secret.reveal.md) | Lire la valeur en clair d'un secret. N'est autorisée à aucun rôle, sans exception. |
| `GET /v1/projects/{projectId}/tasks/{taskId}` | [`task.read`](operations/task.read.md) | Lire l'avancement d'un travail long sans maintenir la connexion ouverte. |
| `POST /v1/projects/{projectId}/undo` | [`action.undo`](operations/action.undo.md) | Défaire en un appel, dans les cinq minutes, une action de classe E par le jeton qu'elle a rendu. |
| `POST /v1/projects/{projectId}/unpin` | [`environment.unpin`](operations/environment.unpin.md) | Lever l'épinglage d'un environnement et promouvoir le dernier déploiement sain. |
| `GET /v1/projects/{projectId}/vercel-imports` | [`vercel_import.list`](operations/vercel_import.list.md) | Lire les imports Vercel d'un projet : état, rapport, acquittements et appels à la source. |
| `POST /v1/projects/{projectId}/vercel-imports` | [`vercel_import.create`](operations/vercel_import.create.md) | Importer la configuration d'un projet Vercel : glowsoft.json et rapport à trois catégories. |
| `POST /v1/projects/{projectId}/vercel-imports/{importId}/accept` | [`vercel_import.accept`](operations/vercel_import.accept.md) | Acquitter les éléments sans équivalent d'un import Vercel, et valider la migration. |
| `POST /v1/projects/{projectId}/vercel-imports/{importId}/variables` | [`vercel_import.variables.create`](operations/vercel_import.variables.create.md) | Importer les variables d'un projet Vercel par cible et par branche, avec un jeton de la source. |
| `GET /v1/projects/{projectId}/webhooks` | [`webhook.list`](operations/webhook.list.md) | Lire les webhooks d'un projet : ses points de réception, et leurs livraisons page par page. |
| `POST /v1/projects/{projectId}/webhooks` | [`webhook.endpoint.create`](operations/webhook.endpoint.create.md) | Déclarer un point de réception des webhooks d'un projet. Son secret n'est rendu qu'une fois. |
| `POST /v1/projects/{projectId}/webhooks/deliveries/{deliveryId}/replays` | [`webhook.replay.create`](operations/webhook.replay.create.md) | Rejouer une livraison terminée : une tentative immédiate, puis le rebut si elle échoue. |
| `DELETE /v1/projects/{projectId}/webhooks/{endpointId}` | [`webhook.endpoint.delete`](operations/webhook.endpoint.delete.md) | Supprimer un point de réception : ses livraisons en attente partent avec lui. |
| `POST /v1/projects/{projectId}/webhooks/{endpointId}/secret` | [`webhook.secret.replace`](operations/webhook.secret.replace.md) | Remplacer le secret d'un point : l'ancien signe encore 24 heures, puis plus rien. |
