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

project.create_with_backend

Markdownv0.3.0

Créer un projet, sa base et son premier déploiement de production, en un appel.

  • APIPOST /v1/organizations/{organizationId}/projects/with-backend
  • MCPproject_create_with_backend
  • CLIbastide project create_with_backend

Enchaîne deux opérations du registre : la création du projet — qui crée sa production et met en file l'approvisionnement de sa base — puis le premier déploiement. La main revient avant l'aboutissement : « suivi » dit quoi relire, adresse attribuée comprise. Le domaine du client se rattache par domain.add.

PropriétéValeur
Niveauorganization
Rang minimalmaintainer
Rôle transversal—
Portéesproject:write, deploy:write
Compte de servicene la mène pas : cette écriture ne lui est pas ouverte
RéversibilitéR — réversible : exécution directe, tracée, annulable
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/organizations/{organizationId}/projects/with-backend — succès en 201.

ParamètreOùTypeRequisDescription
organizationIdchemintexte, motif ^org_[0-9A-HJKMNP-TV-Z]{26}$ouiIdentifiant de organisation
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.
slugcorpstexte, motif ^[a-z0-9][a-z0-9-]{1,62}$ouiIdentifiant lisible, unique dans son périmètre
namecorpstexte, de 1 à 120 caractèresoui
tiercorpsl'un de discovery, standard, pro, sovereignnon
gitRemotecorpstexte, format urinon
defaultBranchcorpstexte, motif ^(?!-)[A-Za-z0-9._/@+-]{1,255}$nonNom de branche Git
refcorpstexte, de 1 à 255 caractèresnonBranche, étiquette ou empreinte ; à défaut, defaultBranch
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
projectobjet
environmentIdtexte, motif ^env_[0-9A-HJKMNP-TV-Z]{26}$La production du projet, créée par cet appel
deploymentobjet
undoTokennulAucun jeton pour cet appel, et null est la vérité : cette opération ne se défait pas par action.undo.
suiviliste — chaque élément : objet (quoi, relire)

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 create_with_backend --organization-id <valeur> --slug <valeur> --name <valeur>

OptionTypeRequiseDéfautDescription
--organization-idtexteoui—Identifiant de organisation
--slugtexteoui—Identifiant lisible, unique dans son périmètre
--nametexteoui—
--tiertextenon"discovery"
--git-remotetextenon—
--default-branchtextenon"main"Nom de branche Git
--reftextenon—Branche, étiquette ou empreinte ; à défaut, defaultBranch
--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 s'exécute sans confirmation.

MCP

Outil project_create_with_backend.

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

Erreurs

CodeSurfaceCause
plafond_de_creations_de_projetles deuxLe plafond de créations de projet par la voie des agents est atteint pour ce locataire : cinq par jour glissant.
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.
rayon_d_explosion_atteintles deuxLe cluster de données partagé porte déjà le nombre de projets que son rayon d'explosion publié autorise : un projet de plus y partagerait le sort d'un voisinage plus grand que celui qui est vendu.
disque_de_donnees_satureles deuxLe disque des nœuds de données a atteint son seuil de refus : la plateforme ne crée plus de base, et un projet naît avec la sienne. Les projets existants ne sont pas touchés.
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.
invalid_transitionles deuxL'état du déploiement a changé pendant la demande : la transition n'est plus possible.
idempotency_key_conflictAPIDeux clés d'idempotence différentes ont été présentées, dans le corps et dans l'en-tête.
palier_choisi_par_une_personneles deuxLe palier d'un projet engage une dépense, et seule une personne le choisit : un agent crée et règle un projet au palier par défaut.

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

Créer un projet complet depuis un dépôt Git, et le déployer :

{
  "organizationId": "org_01JQ8ZK4M7NP2RSTVWXYZ34567",
  "slug": "boutique",
  "name": "Boutique",
  "gitRemote": "https://github.com/exemple/boutique.git",
  "idempotencyKey": "creation-complete-boutique-2026-09-30"
}

Signaler une erreur sur cette page