Skip to main content
POST
Restore From Snapshot

Authorizations

Authorization
string
header
required

Mixpeek API key, sent as Authorization: Bearer mxp_sk_.... Create one in Studio under Settings → API Keys, or with an admin key via POST /v1/organizations/users/{user_email}/api-keys. A missing, malformed, unknown, revoked, inactive or expired key returns 401; a key without the permission, scope or plan an operation needs returns 403.

Path Parameters

namespace_identifier
string
required

Namespace name or ID

snapshot_id
string
required

Snapshot ID to restore from

Body

application/json

Keys this body does not declare are ignored, and the response's warnings name them, until 2026-11-02; from 2026-11-02 they are refused with 422 extra_forbidden naming the accepted keys.

target_namespace_name
string | null

Name for the restored namespace. If omitted, restores in-place (deletes current data and replaces with snapshot data), which requires confirm_in_place.

confirm_in_place
boolean
default:false

Required to restore in place (no target_namespace_name): the namespace's current data is deleted and replaced by the snapshot's. While the restore runs the namespace is read-only; writes are refused with a 409 to retry after it completes.

restore_point

Restore the namespace as it was at this point: an RFC 3339 instant (e.g. 2026-10-01T18:00:00Z) or a vector-store WAL seq. Requires target_namespace_name. The snapshot supplies the configuration (collections, retrievers, buckets) and must have been taken at or before the point; the vectors and payloads are the shard's state at the point, replayed from its retained WAL. A point outside the retained window is refused naming the window. Omit to restore the snapshot as taken.

Example:

"2026-10-01T18:00:00Z"

isolated
boolean
default:false

Restore beside the source onto a temporary vector shard of its own instead of the plane's shared one. Requires target_namespace_name. The copy is for checking or measuring a restore: its shard stops after six hours, and deleting the copy's namespace stops it sooner. One isolated copy runs at a time; a second request while one is up is refused naming the namespace that holds it.

Response

Successful Response

task_id
string
required
snapshot_id
string
required
target_namespace_id
string
required
message
string
required
restore_point
string | null

The restore_point requested, normalized

fork_id
string | null

Identifies the point-in-time replica this restore reads from; the task's restore_report carries the same id

resolved_seq
integer | null

The WAL seq the restore targets. Known here when restore_point is a seq; for an instant the shard resolves it during the restore, and the task's restore_report records it.

isolated
boolean
default:false

True when the copy goes onto a temporary shard of its own; the task creates the namespace once that shard is up