Manage backup scheduling for virtual servers

Create, update, and manage schedules for automatic VM backups. Specify time, day, number of copies to save, and enable or disable the schedule.

VPS Services Backups

Context

Where to get IDs / values

Path Parameters

vmid integer · min: 1 required Example: 10000

Unique vmid identifier

Headers

Accept Example
Content-Type Example

Body

required
application/json
day_of_week integer · Example: 3

Required for weekly schedules. 0=Sunday … 6=Saturday. Ignored for daily/monthly schedules.

enabled boolean required · Example: true

Whether the schedule is enabled.

hour integer required · Example: 19

Hour of day (0-23) when scheduled backups run.

minute integer required · Example: 0

Minute of hour (0-59) when scheduled backups run.

notes string required · Example: Example note

Optional schedule notes/label.

retention_count integer required · Example: 7

How many backups to retain for this schedule (cannot exceed your purchased backup limit).

schedule_type string · enum required · Example: daily

Schedule type. One of: daily, weekly, monthly.

daily
weekly
monthly

Responses

200
data object required
data.message string required · Example: Backup schedule updated successfully

Human-readable message.

data.schedule object required
data.schedule.account_id string required · Example: 20000
data.schedule.backup_mode string required · Example: snapshot

Backup mode (currently uses snapshot mode).

data.schedule.client_id string required · Example: 30000
data.schedule.compress string required · Example: zstd

Compression algorithm (currently zstd).

data.schedule.created_at string required · Example: 2026-02-10T00:00:00.000Z

Created timestamp (ISO 8601, UTC).

data.schedule.day_of_month integer · nullable required · Example: null

Only used for monthly schedules. 1-31. Null/omitted for daily/weekly schedules.

data.schedule.day_of_week integer · nullable required · Example: 3

Only used for weekly schedules. 0=Sunday … 6=Saturday. Null/omitted for daily/monthly schedules.

data.schedule.enabled boolean required · Example: true

Whether the schedule is enabled.

data.schedule.hour integer required · Example: 19

Hour of day (0-23) when scheduled backups run.

data.schedule.id integer required · Example: 2916
data.schedule.last_run string · nullable required · Example: 2026-02-10T00:00:00.000Z

Timestamp when the schedule last ran (ISO 8601, UTC). Null if it hasn't run yet.

data.schedule.minute integer required · Example: 0

Minute of hour (0-59) when scheduled backups run.

data.schedule.next_run string required · Example: 2026-02-10T00:00:00.000Z

Next scheduled run time (ISO 8601, UTC).

data.schedule.notes string required · Example: Example note

Optional schedule notes/label.

data.schedule.retention_count integer required · Example: 7

How many backups to retain for this schedule (cannot exceed your purchased backup limit).

data.schedule.schedule_type string · enum required · Example: daily

Schedule type. One of: daily, weekly, monthly.

daily
weekly
monthly
data.schedule.updated_at string required · Example: 2026-02-10T00:00:00.000Z

Last updated timestamp (ISO 8601, UTC).

data.schedule.vm_id string required · Example: 10000
data.success boolean required · Example: true

True for successful responses.

requestId string required · Example: 2121ae20-bd9d-41e9-aeeb-5dd1dd1a24ba

Unique request identifier (UUID).

success boolean required · Example: true

True for successful responses.

timestamp string required · Example: 2026-02-10T00:00:00.000Z

ISO 8601 timestamp (UTC).

400 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

401 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

403 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

404 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

422 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

429 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

500 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

POST https://cloud.hostup.se/api/vm/{vmid}/backup-schedules
For AI assistants
cURL
curl -X POST "https://cloud.hostup.se/api/vm/10000/backup-schedules" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "schedule_type": "daily",
    "hour": 2,
    "minute": 0,
    "retention_count": 3,
    "enabled": true,
    "notes": "Example note"
  }'
Response
{
  "success": true,
  "timestamp": "2026-02-10T00:00:00.000Z",
  "requestId": "2121ae20-bd9d-41e9-aeeb-5dd1dd1a24ba",
  "data": {
    "success": true,
    "schedule": {
      "id": 2916,
      "client_id": "30000",
      "account_id": "20000",
      "vm_id": "10000",
      "enabled": true,
      "schedule_type": "daily",
      "hour": 19,
      "minute": 0,
      "day_of_week": null,
      "day_of_month": null,
      "retention_count": 7,
      "backup_mode": "snapshot",
      "compress": "zstd",
      "notes": "Example note",
      "last_run": null,
      "next_run": "2026-02-10T00:00:00.000Z",
      "created_at": "2026-02-10T00:00:00.000Z",
      "updated_at": "2026-02-10T00:00:00.000Z"
    },
    "message": "Backup schedule updated successfully"
  }
}
Request Body Daily
{
  "schedule_type": "daily",
  "hour": 2,
  "minute": 0,
  "retention_count": 3,
  "enabled": true,
  "notes": "Example note"
}