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

Start free trial

Restore from All-in-One

This replaces the live site with the contents of an archive. Every order, post, user, setting and upload created since it was taken is permanently lost, and there is no undo.

It also has a condition the other backup suites do not: restoring is part of All-in-One WP Migration’s paid Unlimited Extension. Without it, this ability reports what the plugin itself says and names the manual import route rather than pretending to succeed.

Before you run it

Irreversible. The current database and files are overwritten. The call refuses without confirm: true. Take a fresh export first with all-in-one/start-export — then the state you are about to discard is itself recoverable, and the decision stops being one-way.

At a glance

Abilityall-in-one/restore-backup
ToolsetAll-in-One WP Migration — toolset/all-in-one-wp-migration
GroupAll-in-One WP Migration › Restoring
RequiresAll-in-One WP Migration, active on the site
Capabilitymanage_options
SafetyDestructive — deletes stored values, and refuses to run without confirm: true
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

How it works

On a site without the Unlimited Extension this does not fail silently and it does not pretend. It returns the plugin’s own explanation and points at the manual route: import the .wpress file through the plugin’s own screen, subject to the free edition’s upload limit.

That limit is the practical wall. An archive larger than it cannot be imported through the browser at all, which is why all-in-one/get-backup reporting size before you plan a restore is worth the extra call.

components is accepted for symmetry with other backup suites, but an All-in-One archive is a single file — partial restores are not really a thing here in the way they are with a multi-archive set.

The response includes replaced_state: what the site looked like immediately before, recorded so the loss is visible and quantified rather than merely implied.

Input

NameTypeRequiredWhat it is
idstringYesArchive identifier, exactly as returned by all-in-one/list-backups.
componentsarray of stringsNoRestrict the restore where the plugin supports it. Omit to restore the whole archive.
confirmbooleanYes — must be trueThe irreversibility gate. Without it the call is refused before anything is touched.

What comes back

NameTypeWhat it is
backup_idstringThe archive that was restored from.
entitiesarrayWhat was restored.
job_idstring or nullThe restore job, where the plugin runs one.
replaced_stateobjectWhat the site looked like immediately before the restore, recorded so the loss is visible.
irreversiblebooleanAlways true. Stated rather than assumed.
notestringWhere the Unlimited Extension is absent, the plugin’s own explanation and the manual route.
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:

Restore this site from the archive we took before the theme swap.

It resolves to one call:

{
  "ability": "all-in-one/restore-backup",
  "parameters": {
    "id": "acrossai-co-20260923-090000-def456.wpress",
    "confirm": true
  }
}

Worth knowing

  • Export the current state first. It converts a one-way door into a reversible one.
  • Without the Unlimited Extension there is no automated restore. Plan for the manual import and its upload limit.
  • A full restore rolls back users and settings too, including the credentials people are currently logged in with.
  • Never run this to see what happens. There is no staging copy behind it.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading