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

project.tier.write

Markdownv0.3.0

Commander un palier, payé d'avance ; dryRun en rend l'aperçu.

  • APIPOST /v1/projects/{projectId}/tier
  • CLIbastide project tier write

EX-FACT-090 amendée (M-851, TR-420) : un palier se paie d'avance, au mois. Une montée prend effet tout de suite contre le paiement de la différence jusqu'à l'échéance, prélevé sur la carte enregistrée ; elle exige waiveWithdrawal (la version du texte rendu dans withdrawalWaiver), et le palier n'est posé qu'une fois le paiement accepté (order.state). Une descente prend effet à l'échéance, sans remboursement ; revenir au palier courant l'annule. Refusé pour un palier épuisé (palier_epuise), un palier dont l'isolation n'est pas servie, et une montée qui dépasserait le plafond de dépense. Souverain se chiffre sur devis.

PropriétéValeur
Niveauproject
Rang minimaladmin
Rôle transversalbilling
Portéesbilling:write
Compte de servicene la mène pas : elle est réservée à une personne
RéversibilitéI — irréversible : confirmation en deux temps, double validation humaine, vingt-quatre heures de grâce avant l'effet définitif
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}/tier — 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.
tiercorpsl'un de discovery, standard, pro, sovereignoui
dryRuncorpsbooléennonVrai : rend l'aperçu sans rien changer.
waiveWithdrawalcorpstexte, 20 caractères au plusnonLa version du texte de renonciation que la personne a cochée (withdrawalWaiver.version de l'aperçu). Exigée pour une montée : elle demande l'exécution immédiate et renonce au droit de rétractation.
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
projectIdtexte, motif ^prj_[0-9A-HJKMNP-TV-Z]{26}$Identifiant de projet
froml'un de discovery, standard, pro, sovereign
tol'un de discovery, standard, pro, sovereign
appliedbooléenFaux pour un aperçu (dryRun) : rien n'a changé.
currentSincetexte, motif ^\d{4}-\d{2}-\d{2}$Depuis quand le projet est à son palier actuel.
effectiveOntexte, motif ^\d{4}-\d{2}-\d{2}$Le jour d'effet, facturé au nouveau palier.
cycleobjet (start, end)
remainingDaysentier
cycleDaysentier
monthlyPriceFromCentsentier, ou nul
monthlyPriceToCentsentier, ou nul
adjustmentCentsentier, ou nulCe que la facture du mois prend en plus (ou en moins), HT, remise comprise.
estimateBeforeCentsentier, ou nul
estimateAfterCentsentier, ou nul
spendCapCentsentier
isolationServedbooléenFaux : la plateforme ne sert pas l'isolation de ce palier (Souverain, sur devis) ; le changement est refusé.
stockobjet (discovery, standard, pro, sovereign)Combien de projets de chaque palier la plateforme peut encore servir, calculé à la lecture.
timingl'un de immediate, at_renewal, ou nul« immediate » : une montée, servie dès le paiement ; « at_renewal » : une descente, à l'échéance. Nul pour Souverain (sur devis).
renewalOntexte, motif ^\d{4}-\d{2}-\d{2}$L'échéance : le premier jour du mois suivant, fin de la période payée.
dueNowCentsentier, ou nulCe qui se paie avant d'être servi, HT, remise comprise : la différence jusqu'à l'échéance.
withdrawalWaiverobjet (version, text)Le texte à cocher pour une montée, et sa version à renvoyer dans waiveWithdrawal.
orderobjet (id, state, amountCents, amountInclTaxCents, paidFrom, paidUntil), ou nulLa commande passée : posée (applied), en attente de son paiement (awaiting_payment), descente planifiée à l'échéance (scheduled) ou descente annulée. Nulle pour un aperçu.
undoTokennulAucun jeton pour cet appel, et null est la vérité : cette opération ne se défait pas par action.undo.

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 project tier write --project-id <valeur> --tier <valeur>

OptionTypeRequiseDéfautDescription
--project-idtexteoui—Identifiant de projet
--tiertexteoui—
--dry-runbooléennonfalseVrai : rend l'aperçu sans rien changer.
--waive-withdrawaltextenon—La version du texte de renonciation que la personne a cochée (withdrawalWaiver.version de l'aperçu). Exigée pour une montée : elle demande l'exécution immédiate et renonce au droit de rétractation.
--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

Aucun outil : le cahier des charges exige qu'une personne la donne : un agent ne valide pas à sa place.

Erreurs

CodeSurfaceCause
isolation_non_servieles deuxLe palier demandé vend une isolation que la plateforme ne sert pas encore : une instance dédiée au palier Pro, un nœud dédié au palier Souverain.
palier_epuiseles deuxLe palier demandé n'a plus de place : la plateforme ne peut pas servir un projet de plus à ce palier pour l'instant. Rien n'a été changé ni facturé.
plafond_de_depense_atteintles deuxLe plafond de dépense de l'organisation est atteint pour ce cycle : plus de construction ni de ressource nouvelle. Les sites déjà en ligne continuent d'être servis.
renonciation_requiseles deuxUn palier se paie d'avance et sert tout de suite : la demande d'exécution immédiate, qui vaut renonciation au droit de rétractation, n'a pas été cochée.
encaissement_indisponibleles deuxLe paiement n'est pas ouvert pour cette organisation : aucun palier payant ne se commande pour l'instant.
moyen_de_paiement_requisles deuxAucune carte enregistrée pour l'organisation : un palier se paie d'avance, sur la carte.
coordonnees_de_facturation_requisesles deuxLes coordonnées de facturation de l'organisation sont incomplètes : la commande ne peut pas être facturée.
commande_en_coursles deuxUne commande de palier attend déjà son paiement pour ce projet.
paiement_refuseles deuxLe paiement de la commande a été refusé ou n'a pas pu être créé : le palier n'a pas changé.
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

Voir ce que coûte le passage à Standard, sans rien changer :

{
  "projectId": "prj_01JQ8ZK4M7NP2RSTVWXYZ34567",
  "tier": "standard",
  "dryRun": true,
  "idempotencyKey": "palier-lumeris-standard"
}

Signaler une erreur sur cette page