Backups

Update a backup schedule (partial update).

Changed on

All request fields are optional; only fields that are present in the JSON body are updated. Absent fields leave the corresponding column unchanged. If schedule_expression is changed, next_run is recomputed automatically.

patch/backups/schedules/{id}

Request

  • Base URL: /api (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /api/backups/schedules/{id}
  • Auth: HTTP bearer

Path parameters

idinteger required

Request body

descriptionstring nullable

New human-readable description. Pass an empty string "" to clear.

enabledboolean nullable

Enable or disable the schedule. Skipped when None.

include_control_planeboolean nullable

Toggle whether the control-plane backup is produced on every run.

max_runtime_secsinteger nullable

Per-schedule wall-clock timeout override (seconds).

  • None (field absent) — leave current value unchanged
  • Some(None) (field present, JSON null) — clear override; fall back to engine default
  • Some(Some(n)) — set to n seconds (must be >= 60)
namestring nullable

New schedule name. Skipped when None. Must not be empty if provided.

retention_periodinteger nullable

Days to retain backups produced by this schedule. Must be >= 1.

schedule_expressionstring nullable

New cron expression. When changed, next_run is recomputed.

service_idsinteger[] nullable

Replace the explicit external-service selection atomically with the schedule update. Only meaningful when target_all_services resolves to false; an empty list explicitly clears the selection.

tagsstring[] nullable

Replace the full tag list. Skipped when None.

target_all_servicesboolean nullable

Toggle between "back up every database" (true) and "back up only the explicit list" (false). When set to true, the server clears the explicit membership rows for this schedule.

Response

Schedule updated

backup_typestring required
created_atinteger required
descriptionstring nullable
enabledboolean required
idinteger required
include_control_planeboolean required

When true, every run also produces a control_plane backup (Temps's own Postgres). When false, only the external service fan-out happens.

last_runinteger nullable
max_runtime_secsinteger nullable

Per-schedule wall-clock timeout override for backup jobs (seconds). null means the engine-family default is used. See temps_backup_core::timeouts::default_max_runtime_secs.

namestring required
next_runinteger nullable
retention_periodinteger required
s3_source_idinteger required
schedule_expressionstring required
tagsstring[] required
target_all_servicesboolean required

When true, the schedule auto-includes every external service on the host (and any future ones). When false, the schedule only targets services attached via backup_schedule_services.

updated_atinteger required

Example response

{
  "schedule_expression": "0 0 * * *"
}

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status