Restores

Start a restore from a Vector Pro backup and track it to completion.

GET/restores

List Restores

Retrieves a paginated list of restores, optionally filtered by type, site, environment, or backup.

Query Parameters

NameTypeDescription
type
optional
string

Filter by archivable type (site, environment).

Example: "site"
site_id
optional
string

Filter by site ID.

Example: "01jfgxk4nqrst5vwx9yz0abcde"
environment_id
optional
string

Filter by environment ID.

Example: "01jfgxk4nqrst5vwx9yz0abcde"
backup_id
optional
string

Filter by backup ID.

Example: "01jfgxk4nqrst5vwx9yz0abcde"
per_page
optional
integer

Number of items per page (max 100). Default: 15.

Example: 25
page
optional
integer

Page number for pagination. Default: 1.

Example: 1

Request

curl -X GET \
  "https://api.builtfast.com/api/v1/vector/restores?type=site&site_id=01jfgxk4nqrst5vwx9yz0abcde&environment_id=01jfgxk4nqrst5vwx9yz0abcde&backup_id=01jfgxk4nqrst5vwx9yz0abcde&per_page=25&page=1" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Accept: application/json"

Response

application/json
{
  "data": [
    {
      "id": "01jfgxk4nqrst5vwx9yz0abcdh",
      "archivable_type": "vector_site",
      "archivable_id": "01jfgxk4nqrst5vwx9yz0abcde",
      "scope": "full",
      "scope_label": "Full",
      "trigger": "manual",
      "trigger_label": "Manual",
      "status": "completed",
      "status_label": "Completed",
      "vector_backup_id": "01jfgxk4nqrst5vwx9yz0abcdg",
      "search_replace": null,
      "drop_tables": false,
      "disable_foreign_keys": false,
      "error_message": null,
      "duration_ms": 45200,
      "started_at": "2025-01-15T12:00:00+00:00",
      "completed_at": "2025-01-15T12:00:00+00:00",
      "created_at": "2025-01-15T12:00:00+00:00",
      "updated_at": "2025-01-15T12:00:00+00:00"
    }
  ],
  "links": {},
  "meta": {},
  "message": "Restores retrieved successfully",
  "http_status": 200
}
GET/restores/{restore}

Get Restore

Retrieves details of a specific restore.

URL Parameters

NameTypeDescription
restore
required
string

The restore ID.

Example: "01jfgxk4nqrst5vwx9yz0abcdh"

Request

curl -X GET \
  "https://api.builtfast.com/api/v1/vector/restores/01jfgxk4nqrst5vwx9yz0abcdh" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Accept: application/json"

Response

application/json
{
  "data": {
    "id": "01jfgxk4nqrst5vwx9yz0abcdh",
    "archivable_type": "vector_site",
    "archivable_id": "01jfgxk4nqrst5vwx9yz0abcde",
    "scope": "full",
    "scope_label": "Full",
    "trigger": "manual",
    "trigger_label": "Manual",
    "status": "completed",
    "status_label": "Completed",
    "vector_backup_id": "01jfgxk4nqrst5vwx9yz0abcdg",
    "search_replace": [
      {
        "from": "example.org",
        "to": "example.com"
      }
    ],
    "drop_tables": false,
    "disable_foreign_keys": false,
    "error_message": null,
    "duration_ms": 45200,
    "started_at": "2025-01-15T12:00:00+00:00",
    "completed_at": "2025-01-15T12:00:00+00:00",
    "created_at": "2025-01-15T12:00:00+00:00",
    "updated_at": "2025-01-15T12:00:00+00:00"
  },
  "message": "Restore retrieved successfully",
  "http_status": 200
}
POST/restores

Create Restore

Creates a new restore from a previously completed backup. The archivable (site or environment) is inferred from the backup. The restore is created with a pending status and an async job is dispatched to orchestrate the restic restore via an ECS task.

Body Parameters

NameTypeDescription
backup_id
required
string

The ID of a completed backup to restore from. Must be a valid ULID.

Example: "01jfgxk4nqrst5vwx9yz0abcdi"
scope
optional
string

The restore scope (full, database, files). Default: full.

Example: "full"
search_replace
optional
string[]

Optional search and replace pairs.

Example: [{"from":"example.org","to":"example.com"}]
drop_tables
optional
boolean

Whether to drop existing tables before restore. Default: false.

Example: false
disable_foreign_keys
optional
boolean

Whether to disable foreign key checks during restore. Default: false.

Example: false
search_replace[].from
required
string

Must not be greater than 255 characters.

Example: "n"
search_replace[].to
required
string

Must not be greater than 255 characters.

Example: "g"

Request

curl -X POST \
  "https://api.builtfast.com/api/v1/vector/restores" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"backup_id":"01jfgxk4nqrst5vwx9yz0abcdi","scope":"full","search_replace":[{"from":"example.org","to":"example.com"}],"drop_tables":false,"disable_foreign_keys":false}'

Response

application/json
{
  "data": {
    "id": "01jfgxk4nqrst5vwx9yz0abcdh",
    "archivable_type": "vector_site",
    "archivable_id": "01jfgxk4nqrst5vwx9yz0abcde",
    "scope": "full",
    "scope_label": "Full",
    "trigger": "manual",
    "trigger_label": "Manual",
    "status": "pending",
    "status_label": "Pending",
    "vector_backup_id": "01jfgxk4nqrst5vwx9yz0abcdi",
    "search_replace": [
      {
        "from": "example.org",
        "to": "example.com"
      }
    ],
    "drop_tables": false,
    "disable_foreign_keys": false,
    "error_message": null,
    "duration_ms": null,
    "started_at": null,
    "completed_at": null,
    "created_at": "2025-01-15T12:00:00+00:00",
    "updated_at": "2025-01-15T12:00:00+00:00"
  },
  "message": "Restore initiated successfully",
  "http_status": 202
}