---
title: "Create backup"
method: POST
path: "/api/v1/backups"
tags: ["Backups"]
---

# Create backup

`POST /api/v1/backups`

Create an on-demand backup of a VM. The backup is created asynchronously — the response returns immediately with a `pending` status.

Use [List Backups](#tag/Backups/operation/listBackups) or [Get Backup](#tag/Backups/operation/getBackup) to track completion.

## Headers

- `X-Project-ID` string, uuid, required

## Request body

- CreateBackupRequest
  - `vm_id` string, uuid, required — Source VM UUID
  - `name` string — Optional backup display name. Defaults to a timestamped name.

## Response `202`

Backup creation accepted

- object
  - `success` boolean
  - `data` Backup
    - `id` string, uuid, required — Backup ID
    - `account_id` string, uuid — Account that owns the backup
    - `project_id` string, uuid — Project the backup belongs to
    - `created_by` string — User ID that created the backup
    - `region` 'us-east' — Region the backup is stored in
    - `product_vm` string, uuid — Source VM UUID
    - `name` string, required — Backup display name
    - `storage_size` integer, required — Backup size in GB
    - `status` string, required — Backup lifecycle status. Common values: - `pending` — creation queued - `creating` — backup being captured - `ready` — available for restore - `restoring` — currently restoring to a VM - `failed` — creation or restore failed
    - `price_per_hour` string — Hourly storage cost in USD
    - `expire_date` string, date-time — When the backup will be auto-pruned (only set when retention applies)
    - `created_at` string, date-time

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication required
- `402` — Account balance is insufficient for this operation. Top up the balance and retry.
- `403` — Billing validation failed. The account is not in good standing. Check the `reason` field: - `banned` — account suspended - `failed` — last payment failed; top up the account balance - `no_billing_customer` — billing not set up

## Changes

- **2026-05-08** `64c270db1c2e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/rafftechnologies/apis/raff-api/changes/api/v1/backups/post.md)

---

[API](https://skmtc.dev/rafftechnologies/apis/raff-api.md) · [All operations](https://skmtc.dev/rafftechnologies/apis/raff-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rafftechnologies/raff-api/revisions/64c270db1c2e/schema)
