Skip to content
v0.5.1GitHub

Using

Starts a restore job from an existing backup archive. The single-domain remap and format-version checks happen synchronously here; a domain already existing (`fail_if_exists`) only surfaces asynchronously via `GET /restores/{id}`.

applies to v0.5.1
POST
/store-api/backups/{id}/restore
curl --request POST \
--url https://example.com/store-api/backups/example/restore \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "include_auth": true, "into_domain": "example", "mode": "example" }'
id
required
string

Backup id to restore from

Media typeapplication/json
object
include_auth

Apply auth-user/auth-perm lines from the archive (upsert). Default false.

boolean
into_domain

Only legal when the archive contains exactly one domain name (kv:*/json:*/rel:*/domain:* scopes). Links of relational tables (KVREF/JSONREF) then point to the KV and JSON domain of the new name.

string | null
mode

"fail_if_exists" (default) or "replace".

string | null

Example generated

{
"include_auth": true,
"into_domain": "example",
"mode": "example"
}

Restore job started

Media typeapplication/json
object
restore_id
required
string
state
required
string

Example generated

{
"restore_id": "example",
"state": "example"
}

Invalid id/mode, remap requires a single domain, unsupported format version, or invalid backup file

Media typetext/plain
string

Backup not found, or scope targets a missing domain

Media typetext/plain
string

A backup or restore job is already running

Media typetext/plain
string

Backup is disabled

Media typetext/plain
string

Insufficient Storage — disk space or memory runs short; the write was not applied. Reads go on; retry after the seconds in Retry-After.

Media typetext/plain
string
Retry-After
integer