---
title: "Update backup schedule"
method: PATCH
path: "/api/v1/backup-schedules/{id}"
tags: ["Backup Schedules"]
---

# Update backup schedule

`PATCH /api/v1/backup-schedules/{id}`

Update one or more fields on an existing backup schedule. Omitted fields are unchanged.

## Path parameters

- `id` integer, required

## Headers

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

## Request body

- UpdateBackupScheduleRequest
  - `type` 'daily' | 'weekly'
  - `time` string
  - `day_of_week` 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday' — Required when `type` is `weekly`.
  - `keep_count` integer

## Response `200`

Backup schedule updated

- object
  - `success` boolean
  - `data` BackupSchedule
    - `id` integer, required — Backup schedule ID. Use this value in `/backup-schedules/{id}` for get, update, and delete.
    - `account_id` string, uuid
    - `project_id` string, uuid
    - `created_by` string
    - `region` 'us-east'
    - `product_vm` string, uuid — Source VM UUID
    - `name` string, required — Schedule display name
    - `type` 'daily' | 'weekly', required — Schedule frequency
    - `runtime` string — Human-readable schedule (e.g. `Daily at 8am`, `Saturday 8am`)
    - `keep_count` integer, required — Number of backups retained before auto-pruning
    - `price_per_hour` string — Hourly cost in USD
    - `size` string — Total size of backups currently retained for this schedule
    - `created_at` string, date-time
    - `enabled` boolean — Whether the schedule is active. Disabled schedules never run.
    - `next_run_at` string, date-time — Next time this schedule runs (UTC).
    - `last_run_at` string, date-time — Last time this schedule ran. Absent if it has never run.
    - `last_run_status` 'succeeded' | 'failed' | 'skipped' — Outcome of the most recent run. Absent if it has never run.
    - `consecutive_failures` integer — Consecutive failed runs. Resets to 0 on the next successful run.

## Other responses

- `400` — Invalid request parameters
- `404` — Resource not found

## Changes

- **2026-08-20** `efd3c11c5c92` — 1 breaking, 1 warning, 5 info
  - the `keep_count` request property's min was increased to `2.00`
  - the `keep_count` request property's max was set to `100.00`
  - added the optional property `data/consecutive_failures` to the response with the `200` status
  - added the optional property `data/enabled` to the response with the `200` status
  - …3 more
- **2026-05-08** `64c270db1c2e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/rafftechnologies/apis/raff-api/changes/api/v1/backup-schedules/:id/patch.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/2f4df56be77c/schema)
