Backups

List, inspect, and create Vector Pro site backups, and request a download for one.

GET/backups

List Backups

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

Query Parameters

NameTypeDescription
type
optional
string

Filter by archivable type (site, environment).

Example: "site"
site_id
optional
string

Filter by site ID. Returns backups for the site and all of its environments.

Example: "01jfgxk4nqrst5vwx9yz0abcde"
environment_id
optional
string

Filter by environment 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/backups?type=site&site_id=01jfgxk4nqrst5vwx9yz0abcde&environment_id=01jfgxk4nqrst5vwx9yz0abcde&per_page=25&page=1" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Accept: application/json"

Response

application/json
{
  "data": [
    {
      "id": "01jfgxk4nqrst5vwx9yz0abcdg",
      "archivable_type": "vector_site",
      "archivable_id": "01jfgxk4nqrst5vwx9yz0abcde",
      "type": "manual",
      "type_label": "Manual",
      "scope": "full",
      "scope_label": "Full",
      "status": "completed",
      "status_label": "Completed",
      "description": "Pre-deployment backup",
      "file_snapshot_id": "abc123def456",
      "database_snapshot_id": "ghi789jkl012",
      "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": "Backups retrieved successfully",
  "http_status": 200
}
GET/backups/{backup}

Get Backup

Retrieves details of a specific backup.

URL Parameters

NameTypeDescription
backup
required
string

The backup ID.

Example: "01jfgxk4nqrst5vwx9yz0abcdg"

Request

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

Response

application/json
{
  "data": {
    "id": "01jfgxk4nqrst5vwx9yz0abcdg",
    "archivable_type": "vector_site",
    "archivable_id": "01jfgxk4nqrst5vwx9yz0abcde",
    "type": "manual",
    "type_label": "Manual",
    "scope": "full",
    "scope_label": "Full",
    "status": "completed",
    "status_label": "Completed",
    "description": "Pre-deployment backup",
    "file_snapshot_id": "abc123def456",
    "database_snapshot_id": "ghi789jkl012",
    "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": "Backup retrieved successfully",
  "http_status": 200
}
POST/backups

Create Backup

Creates a new backup for the specified site or environment. The backup is created with a pending status and an async job is dispatched to orchestrate the restic backup via an ECS task.

Body Parameters

NameTypeDescription
site_id
optional
string

The site ID (required if environment_id not provided).

Example: "01jfgxk4nqrst5vwx9yz0abcde"
environment_id
optional
string

The environment ID (required if site_id not provided).

Example: "01jfgxk4nqrst5vwx9yz0abcde"
type
required
string

The backup type (manual, scheduled).

Example: "manual"
scope
optional
string

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

Example: "full"
description
optional
string

Optional description for the backup. Max 500 characters.

Example: "Pre-deployment backup"

Request

curl -X POST \
  "https://api.builtfast.com/api/v1/vector/backups" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"site_id":"01jfgxk4nqrst5vwx9yz0abcde","environment_id":"01jfgxk4nqrst5vwx9yz0abcde","type":"manual","scope":"full","description":"Pre-deployment backup"}'

Response

application/json
{
  "data": {
    "id": "01jfgxk4nqrst5vwx9yz0abcdg",
    "archivable_type": "vector_site",
    "archivable_id": "01jfgxk4nqrst5vwx9yz0abcde",
    "type": "manual",
    "type_label": "Manual",
    "scope": "full",
    "scope_label": "Full",
    "status": "pending",
    "status_label": "Pending",
    "description": "Pre-deployment backup",
    "file_snapshot_id": null,
    "database_snapshot_id": 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": "Backup initiated successfully",
  "http_status": 202
}

Backup Downloads

Manage backup download requests. When a download is requested, an async job archives the backup snapshots and uploads the archive to S3. Once complete, a presigned download URL is available for a limited time.

Download Status Lifecycle

  • pending - Download record created, waiting for ECS task to start
  • processing - ECS task is archiving the backup snapshots
  • completed - Archive uploaded to S3, presigned URL available
  • failed - Download failed (see error_message for details)
GET/backups/{backup}/downloads/{download}

Get Backup Download

Retrieves the status of a backup download. If the download is complete and not expired, includes a presigned download URL.

URL Parameters

NameTypeDescription
backup
required
string

The backup ID.

Example: "01jfgxk4nqrst5vwx9yz0abcdg"
download
required
string

The download ID.

Example: "01jfgxk4nqrst5vwx9yz0abcdh"

Request

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

Response

application/json
{
  "data": {
    "id": "01jfgxk4nqrst5vwx9yz0abcdh",
    "vector_backup_id": "01jfgxk4nqrst5vwx9yz0abcdg",
    "status": "completed",
    "status_label": "Completed",
    "s3_key": "backups/downloads/01jfgxk4nqrst5vwx9yz0abcdh.tar.gz",
    "size_bytes": 52428800,
    "duration_ms": 12500,
    "error_message": null,
    "download_url": "https://s3.amazonaws.com/bucket/backups/downloads/01jfgxk4nqrst5vwx9yz0abcdh.tar.gz?presigned=...",
    "download_expires_at": "2025-01-15T12:00:00+00:00",
    "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": "Backup download retrieved successfully",
  "http_status": 200
}
POST/backups/{backup}/downloads

Create Backup Download

Creates a new download request for the specified backup. The download is created with a pending status and an async job is dispatched to archive the backup snapshots.

URL Parameters

NameTypeDescription
backup
required
string

The backup ID.

Example: "01jfgxk4nqrst5vwx9yz0abcdg"

Request

curl -X POST \
  "https://api.builtfast.com/api/v1/vector/backups/01jfgxk4nqrst5vwx9yz0abcdg/downloads" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json"

Response

application/json
{
  "data": {
    "id": "01jfgxk4nqrst5vwx9yz0abcdh",
    "vector_backup_id": "01jfgxk4nqrst5vwx9yz0abcdg",
    "status": "pending",
    "status_label": "Pending",
    "s3_key": null,
    "size_bytes": null,
    "duration_ms": null,
    "error_message": null,
    "download_url": null,
    "download_expires_at": 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": "Backup download initiated",
  "http_status": 202
}