Modifier des fichiers
Applique les opérations put, delete et move en UNE seule entrée d’historique. Chaque opération peut inclure le expected_hash que vous avez lu ; si un fichier a été modifié depuis, une erreur 409 est renvoyée avec la révision actuelle et aucune modification n’est écrite. Pour les textes, les entrées et les informations métier, privilégiez les endpoints de contenu : ils valident les données selon le modèle de contenu du site et ne peuvent pas en casser la mise en page.
POST/v1/sites/{site_id}/commits
Nécessite sites:write. Ne consomme aucun crédit. Modifie uniquement le brouillon. Les visiteurs ne verront rien tant que vous n’aurez pas publié.
Utilisez ce point de terminaison pour modifier le code : une mise en page, un composant ou le modèle de contenu. Pour les textes, les entrées et les informations de l’entreprise, utilisez les points de terminaison de contenu : ils valident les modifications par rapport au modèle de contenu et ne peuvent pas casser la mise en page.
Éviter d’écraser les modifications d’une autre personne
Indiquez le hash que vous avez lu dans expected_hash pour chaque opération. Si l’un des fichiers a été modifié depuis, l’ensemble de la modification est refusé avec une erreur 409 conflict et rien n’est écrit. L’erreur details contient la révision actuelle :
{
"error": {
"code": "conflict",
"details": {
"reason": "revision_conflict",
"current_revision": "9f2c...",
"paths": [
{ "path": "src/pages/index.astro", "expected": "a1b2...", "found": "c3d4..." }
]
}
},
"request_id": "req_01K9X7"
}Relisez les fichiers répertoriés dans paths (chacun indique le hachage attendu et celui trouvé), appliquez votre modification par-dessus, puis réessayez. base_revision indique la révision que vous avez lue : la modification s’applique toujours si les fichiers concernés n’ont pas changé.
Gardez le site en Astro statique : pas d’adaptateur serveur ni de rendu côté serveur.
Autorisations
Authorizationbearerin headerrequiredParamètres de chemin
site_idstringrequiredL’identifiant du site ou son slug (l’adresse avant .atelier201.page).
Corps
application/jsonrequiredsummarystringrequiredlength: 1–500 charsCe que fait la modification, en une phrase : le texte de l’entrée d’historique que les utilisateurs consultent.
base_revisionstringlength: 40–40 charsLa révision que vous avez consultée. La modification est appliquée si les fichiers concernés n’ont pas changé depuis. Sinon, une réponse 409 indique la révision actuelle.
operationsobject | object | object[]requireditems: 1–500 itemsRéponse
Modifier des fichiers (un seul commit)
dataobjectrequiredrequest_idstringrequiredCodes possibles : invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCodes possibles : authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCodes possibles : insufficient_credits
errorobjectrequiredrequest_idstringrequiredCodes possibles : insufficient_scope, feature_not_available, admin_required
errorobjectrequiredrequest_idstringrequiredCodes possibles : resource_not_found
errorobjectrequiredrequest_idstringrequiredCodes possibles : conflict, result_not_ready, idempotency_key_reused
errorobjectrequiredrequest_idstringrequiredCodes possibles : result_expired
errorobjectrequiredrequest_idstringrequiredCodes possibles : request_too_large
errorobjectrequiredrequest_idstringrequiredCodes possibles : request_too_large_for_plan
errorobjectrequiredrequest_idstringrequiredCodes possibles : rate_limited
errorobjectrequiredrequest_idstringrequiredCodes possibles : internal_error
errorobjectrequiredrequest_idstringrequiredCodes possibles : service_unavailable
errorobjectrequiredrequest_idstringrequired