Modificar archivos
Aplica operaciones put, delete y move como UNA sola entrada del historial. Cada operación puede incluir el expected_hash que has leído; si un archivo ha cambiado desde entonces, devuelve un 409 con la revisión actual y no escribe nada. Para textos, entradas y datos comerciales, usa preferentemente los endpoints de contenido: validan los datos según el modelo de contenido del sitio y no pueden alterar su diseño.
POST/v1/sites/{site_id}/commits
Requiere sites:write. No consume créditos. Solo modifica el borrador. Los visitantes no verán los cambios hasta que publiques.
Usa este endpoint para modificar el código: un diseño, un componente o el modelo de contenido. Para textos, entradas y datos de la empresa, usa los endpoints de contenido: validan los datos con el modelo de contenido y no pueden alterar el diseño.
Evita sobrescribir los cambios de otra persona
Incluye el hash que has leído en expected_hash en cada operación. Si alguno de esos archivos ha cambiado desde entonces, se rechazará el cambio completo con 409 conflict y no se escribirá nada. El error incluye la revisión actual en details:
{
"error": {
"code": "conflict",
"details": {
"reason": "revision_conflict",
"current_revision": "9f2c...",
"paths": [
{ "path": "src/pages/index.astro", "expected": "a1b2...", "found": "c3d4..." }
]
}
},
"request_id": "req_01K9X7"
}Vuelve a leer los archivos de paths (cada uno indica el hash que esperabas y el que se ha encontrado), aplica tus cambios sobre esa versión y reintenta. base_revision indica qué revisión has leído: el cambio seguirá aplicándose si los archivos que modifica no han cambiado.
Mantén el sitio como un Astro estático: sin adaptador de servidor ni renderizado en el servidor.
Autorizaciones
Authorizationbearerin headerrequiredParámetros de ruta
site_idstringrequiredEl ID del sitio o su slug (la dirección antes de .atelier201.page).
Cuerpo
application/jsonrequiredsummarystringrequiredlength: 1–500 charsQué hace el cambio, en una frase: es la entrada del historial que leen los usuarios.
base_revisionstringlength: 40–40 charsLa revisión que has consultado. El cambio se aplica si los archivos afectados no han cambiado desde entonces. De lo contrario, se devuelve 409 con la revisión actual.
operationsobject | object | object[]requireditems: 1–500 itemsRespuesta
Modificar archivos (un commit)
dataobjectrequiredrequest_idstringrequiredCódigos posibles: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCódigos posibles: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCódigos posibles: insufficient_credits
errorobjectrequiredrequest_idstringrequiredCódigos posibles: insufficient_scope, feature_not_available, admin_required
errorobjectrequiredrequest_idstringrequiredCódigos posibles: resource_not_found
errorobjectrequiredrequest_idstringrequiredCódigos posibles: conflict, result_not_ready, idempotency_key_reused
errorobjectrequiredrequest_idstringrequiredCódigos posibles: result_expired
errorobjectrequiredrequest_idstringrequiredCódigos posibles: request_too_large
errorobjectrequiredrequest_idstringrequiredCódigos posibles: request_too_large_for_plan
errorobjectrequiredrequest_idstringrequiredCódigos posibles: rate_limited
errorobjectrequiredrequest_idstringrequiredCódigos posibles: internal_error
errorobjectrequiredrequest_idstringrequiredCódigos posibles: service_unavailable
errorobjectrequiredrequest_idstringrequired