Aller au contenu
Bastide Connexion Créer un compte
Appuyez sur / pour chercher

database.policy.write_proposed

Markdownv0.3.0

Appliquer à une table la politique que la plateforme propose, éprouvée avant.

  • APIPOST /v1/projects/{projectId}/database/policies/proposed
  • MCPdatabase_policy_write_proposed
  • CLIbastide database policy write_proposed

Enchaîne database.policy.list et database.policy.write : lit la proposition engendrée pour la table, la pose, l'éprouve sur quatre personas et ne la valide qu'après confirmation si une ligne se voit sans être possédée. Une table fermée n'a pas de prédicat : rien n'est écrit.

PropriétéValeur
Niveauproject
Rang minimalmaintainer
Rôle transversal—
Portéesdb:write, db:read
Compte de servicene la mène pas : cette écriture ne lui est pas ouverte
RéversibilitéE — réversible avec effort : validation d'une personne avant l'appel, puis cinq minutes pour tout défaire d'un seul appel
Idempotenceune clé d'idempotence est acceptée : le rejeu rend la première réponse
Limites de débit, par jeton600 appels par 60 secondes (general), et 60 appels par 60 secondes (sensitive)

API

POST /v1/projects/{projectId}/database/policies/proposed — succès en 200.

ParamètreOùTypeRequisDescription
projectIdchemintexte, motif ^prj_[0-9A-HJKMNP-TV-Z]{26}$ouiIdentifiant de projet
Idempotency-Keyen-têtetexte, de 8 à 128 caractèresnonClé d'idempotence. Un rejeu portant la même clé retourne le résultat initial sans nouvel effet de bord, et la réponse porte alors « Idempotency-Replayed: true ». Équivaut au champ « idempotencyKey » du corps ; les deux à la fois ne sont acceptés que s'ils sont identiques.
tablecorpstexte, motif ^[a-z_][a-z0-9_]{0,62}$ouiIdentifiant SQL en minuscules
confirmationNoncecorpstextenon
idempotencyKeycorpstexte, de 8 à 128 caractèresnonClé d'idempotence, obligatoire. Un rejeu portant la même clé rend le résultat initial, sans nouvel effet de bord.

La réponse :

ChampTypeDescription
proposalobjetLa proposition lue, telle que database.policy.list la rend
writtenobjet (applied, rewrite, verifications, report, indexCreated, undoToken), ou nulCe que database.policy.write a rendu ; nul pour une table fermée
undoTokennulAucun jeton : une politique se remplace par un nouvel appel, qui retire la précédente avant de poser la sienne.

En-têtes de la réponse : RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, RateLimit-Policy, Idempotency-Replayed.

Autres réponses : 400, 401, 403, 404, 409, 429, 500, 503 — communes à toute opération.

Ligne de commande

bastide database policy write_proposed --project-id <valeur> --table <valeur>

OptionTypeRequiseDéfautDescription
--project-idtexteoui—Identifiant de projet
--tabletexteoui—Identifiant SQL en minuscules
--confirmation-noncetextenon—
--idempotency-keytextenon—Clé d'idempotence, obligatoire. Un rejeu portant la même clé rend le résultat initial, sans nouvel effet de bord.

La commande demande une confirmation avant d'agir, sauf avec « --yes ».

MCP

Outil database_policy_write_proposed.

PropriétéValeur
Lecture seulenon
Destructifoui
Idempotentoui
Monde ouvertnon
Confirmation en deux tempsnon
Budget de jetons du résultat2500

Erreurs

CodeSurfaceCause
confirmation_requiseles deuxL'opération est irréversible : elle se confirme en deux temps, par le nonce que ce refus porte.
nonce_expireles deuxLe nonce de confirmation a plus de cinq minutes.
nonce_invalideles deuxLe nonce de confirmation n'a pas été émis par ce serveur pour cet appel, ou il a déjà servi.
validation_humaine_requiseles deuxUne opération irréversible se valide par une personne, pas par un jeton de compte de service.
backend_indisponibleles deuxLa base de données du projet n'est pas joignable par la plateforme ; le message nomme la cause.
idempotency_key_conflictAPIDeux clés d'idempotence différentes ont été présentées, dans le corps et dans l'en-tête.

S'y ajoutent les refus communs à toute opération — entrée invalide, authentification, autorisation, cible introuvable, conflit, limite de débit, indisponibilité — que le catalogue des erreurs décrit.

Exemples

Poser la politique proposée pour une table, éprouvée avant application :

{
  "projectId": "prj_01JQ8ZK4M7NP2RSTVWXYZ34567",
  "table": "commandes",
  "idempotencyKey": "politique-proposee-commandes-2026-10-13"
}

Signaler une erreur sur cette page