Modulify

Take a site backup

create_backup

Takes a snapshot of a site's pages and components as they are right now, so restore_backup can roll the site back to it later.

POST /v1/create_backupScopesites:writeMakes changes

Only the pages and components go into it. Stored files, database rows, environment variables and the site's source files do not, so a restore does not bring them back either. The source code has its own history in the Code tab of Backups, which list_code_backups lists.

The snapshot is typed manual, and the response carries its row. The name is optional but well worth setting.

Request

Call it with a POST to https://api.modulify.ai/v1/create_backup, sending the inputs below as a JSON object. The token needs the sites:write scope.

It makes changes, so send an Idempotency-Key header whenever you might retry it. A retry with the same key gets the first answer back instead of running again.

curl -X POST https://api.modulify.ai/v1/create_backup \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"projectId":"PROJECT_ID"}'

Over MCP, the same method is the create_backup tool.

Inputs

Input Type Required Description
projectId string Yes The site to snapshot.
name string No A short label saying what the snapshot is, for example Before pricing rewrite. When given, it must be 2 to 84 characters.

Response

Every call answers with the JSON envelope of success, message, data, code and version. data holds the result described above, and on a method that returns a total, count carries it. The response headers carry the call's X-Request-Id and what is left of your per-minute budget in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Errors explains every status code a call can answer with.