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

project.create

Markdownv0.3.0

Créer un projet dans une organisation, sans son backend.

  • APIPOST /v1/organizations/{organizationId}/projects
  • MCPproject_create
  • CLIbastide project create
PropriétéValeur
Niveauorganization
Rang minimalmaintainer
Rôle transversal—
Portéesproject: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 — 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
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
idtexte, motif ^prj_[0-9A-HJKMNP-TV-Z]{26}$Identifiant de projet
expiresAttexte, format date-time, ou nul
slugtexte, motif ^[a-z0-9][a-z0-9-]{1,62}$Identifiant lisible, unique dans son périmètre
nameobjet (untrusted, source, content)
organizationIdtexte, motif ^org_[0-9A-HJKMNP-TV-Z]{26}$Identifiant de organisation
tierl'un de discovery, standard, pro, sovereign
statusl'un de active, suspended, closing
defaultBranchtexte
gitRemoteobjet (untrusted, source, content), ou nulAdresse du dépôt Git, sans les identifiants, les paramètres ni le fragment qu'elle pouvait porter. Nul : aucun dépôt déclaré.
rootDirectoryobjet (untrusted, source, content), ou nul
includePathsliste — chaque élément : texte
registresAdmisliste — chaque élément : texte
veilleMinutesentierMinutes sans requête après lesquelles un environnement de ce projet qui peut dormir s'arrête.
veilleEnvironnementsPersonnalisesbooléenVrai quand les environnements personnalisés de ce projet dorment aussi.
licencesContaminantesBloquantesbooléenVrai quand un paquet sous licence AGPL, SSPL ou BUSL fait échouer la construction de ce projet ; faux, il est seulement signalé.
sortieobjet (mode, domaines, smtp)
instancesentierNombre d'exemplaires du service de production, de 1 à 10. Les autres environnements en tiennent toujours un.
fuseautexteFuseau dans lequel se lisent les heures de l'ordonnancement.
horairesliste — chaque élément : objet (heure, exemplaires)Ordonnancement horaire du nombre d'exemplaires de production, par heure croissante. Vide : aucun ordonnancement, le réglage manuel tient.
createdAttexte, format date-time
createdByobjet (accountId, serviceTokenId, agentSession, channel), ou nul
environmentIdtexte, motif ^env_[0-9A-HJKMNP-TV-Z]{26}$Identifiant de environnement
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 create --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
--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.

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

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.
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 depuis un dépôt Git, au palier par défaut :

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

Signaler une erreur sur cette page