30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

Start an UpdraftPlus Backup

updraftplus/start-backup begins a backup of this site. What it returns is a promise, not a result.

The work runs in the background. This call returns a job_id and nothing else useful — the set appears in updraftplus/list-backups only once the job actually finishes.

At a glance

Abilityupdraftplus/start-backup
ToolsetUpdraftPlus — toolset/updraftplus
GroupUpdraftPlus › Taking backups
RequiresUpdraftPlus, active on the site
Capabilitymanage_options
SafetyWrites data
RepeatableNot idempotent — each call changes the row set, so re-running is not a no-op
Ships inAcrossAI Abilities Manager 0.0.34 and later

It is not done when this returns

Treating a successful response as “the site is backed up” is the mistake this ability invites. Poll updraftplus/get-backup-progress with the job_id until it reports finished, and only then proceed with whatever you were protecting against. On a quiet site the job may sit waiting for a visitor before WordPress cron advances it at all.

How it works

By default the backup includes both files and database. Narrow it with files and database when you only need one — a database-only set is much faster and is the right choice before a content migration.

send_to_remote additionally uploads to whatever remote storage is configured. It is off by default because it makes the job substantially longer, and on by choice is how a backup survives the server it was taken on.

The label is worth using. “Before the 6.9 update” in the list six weeks later is the difference between a confident restore and a guess.

Input

NameTypeRequiredWhat it is
filesbooleanNo — defaults to trueInclude uploads, themes and plugins.
databasebooleanNo — defaults to trueInclude the database.
send_to_remotebooleanNo — defaults to falseAlso upload to the configured remote storage, where one is set up.
labelstringNoA note stored with the backup — why it was taken.

What comes back

NameTypeWhat it is
job_idstringPoll this with updraftplus/get-backup-progress.
startedbooleanWhether the job was accepted.
includesobjectWhat the job was asked to include.
notestringAnything worth knowing about how it was scheduled.
successbooleanWhether the call completed.
messagestringA one-line summary of what happened, suitable for showing a human.
error_codestringPresent only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation.

Example

Ask your assistant:

Take a full backup before I update these plugins, and label it.

It resolves to one call:

{
  "ability": "updraftplus/start-backup",
  "parameters": {
    "files": true,
    "database": true,
    "send_to_remote": true,
    "label": "Before the September plugin updates"
  }
}

Worth knowing

  • Not idempotent — each call starts another backup.
  • A quiet site has no cron traffic. If progress does not move, a single page view is often all it needs.
  • Without send_to_remote the set exists only on the server you are about to change.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading