1. API Reference
  2. Schedules
  3. Update a schedule
Website
  • API overview
  • API quickstart
  • Authentication
  • Project scoping
  • Requests and responses
  • Pagination and filtering
  • Errors
  • GETList supported database engines
  • POSTList projects
  • POSTCreate a project
  • GETGet a project
  • DELETEDelete a project
  • PATCHUpdate a project
  • POSTCreate a source
  • POSTList sources
  • GETGet source details
  • DELETEDelete a source
  • PATCHUpdate a source
  • POSTCreate secret metadata
  • POSTList secret metadata
  • GETGet secret metadata
  • DELETEDelete secret metadata
  • PATCHUpdate secret metadata
  • POSTCreate a schedule
  • POSTList schedules
  • POSTSummarize schedule statuses
  • GETGet a schedule
  • DELETEDelete a schedule
  • PATCHUpdate a schedule
  • DELETERemove a schedule gate
  • POSTActivate or pause a schedule
  • POSTQueue a manual check
  • POSTCreate an immutable report
  • POSTList reports
  • GETGet report details
  • DELETEDelete a report
  • POSTDownload a report
  • POSTGet the API-key scope catalog
  • POSTCreate an API key
  • POSTList API-key metadata
  • GETGet API-key metadata
  • DELETEDelete an API key
  • PATCHUpdate API-key metadata
  • POSTCreate a notification channel
  • POSTList notification channels
  • POSTResolve notification channels by ID
  • GETGet notification channel details
  • DELETEDelete a notification channel
  • PATCHUpdate a notification channel
  • POSTSend a test notification
  • POSTCreate a project worker
  • POSTList project workers
  • GETGet worker details
  • DELETEDelete a worker
  • PATCHUpdate a worker
  • POSTRead live worker agent logs
  • POSTList checks
  • POSTSummarize check statuses
  • GETGet check details
  • POSTGet check log sections
  • POSTDownload a check log
  • POSTDownload check audit evidence
  • POSTList notification messages
  • GETGet notification message details
PATCH/schedules/{id}

Update a schedule

Nested backup-format and encryption objects merge one level deep; null resets them to defaults.

Send request

Use the documented inputs to call this endpoint directly.

API serverbase URL

Parameters

Values are applied to the request and the example on the right.

idpath · stringrequired

Resource ID.

Request body

application/jsonrequired
namestringoptional
descriptionstringoptional
worker_idoptional
scratch_size_giintegeroptional
database_resourcesoptional

Kubernetes requests and limits of the restore's database container (the sidecar that imports the dump and answers the health probes). Every value is optional and stands alone: nothing is derived, no default is applied. null or {} sets none (the container then has no requests or limits). A request must not exceed the limit of the same resource. With only a limit set, Kubernetes uses it as the request too. Database schedules only; a file schedule with values is rejected. If no node has the requested CPU or memory free for 300 s the check ends failed_infra with exit code 49.

cronstringoptional

Five-field cron expression evaluated in UTC. A range in the minute field (for example 10-19 4 * * 1) is replaced by one minute chosen at random inside that range when the schedule is saved; the stored expression is what the API returns.

schedule_modeenumoptional

Values: "hourly" · "daily" · "weekly"

sourceoptional
gatesarray<>optional

Database schedules only; file schedules do not accept gates.

notify_modeenumoptional

Values: "never" · "always" · "on-error"

notification_channelsarray<>optional
db_versionstringoptional
restore_paramsstringoptional

Responses

200application/json

Updated schedule.

{
  "status": "success",
  "data": {
    "id": "65f0c7a9a7d6b4e2c1234567",
    "project_id": "65f0c7a9a7d6b4e2c1234567",
    "name": "string",
    "description": "string",
    "worker_id": "65f0c7a9a7d6b4e2c1234567",
    "worker": {
      "id": "65f0c7a9a7d6b4e2c1234567",
      "name": "string",
      "country": "string"
    },
    "scratch_size_gi": "string",
    "database_resources": {
      "cpu_request_millicores": "string",
      "cpu_limit_millicores": "string",
      "memory_request_mib": "string",
      "memory_limit_mib": "string"
    },
    "source": {},
    "source_id": "65f0c7a9a7d6b4e2c1234567",
    "source_name": "string",
    "db_type": "string",
    "db_version": "string",
    "schedule_mode": "hourly",
    "cron": "string",
    "gates": [
      {
        "name": "string",
        "type": "restore_status",
        "operator": "eq",
        "successful": true
      }
    ],
    "notify_mode": "never",
    "notification_channels": [
      {
        "id": "65f0c7a9a7d6b4e2c1234567"
      }
    ],
    "status": "active",
    "next_run": "2026-01-01T00:00:00Z",
    "last_run_at": "2026-01-01T00:00:00Z",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  }
}
400application/json

The request body, parameter, filter, cursor, or project-scoping pattern is invalid.

{
  "status": "error",
  "message": "string",
  "code": "string",
  "detail": {},
  "quota": {
    "key": "string",
    "limit": 1,
    "used": 1
  },
  "feature": "string",
  "dependency": "string"
}
statusstringrequired
messagestringrequired
codestringoptional

Stable machine-readable code when the error defines one.

detailobjectoptional
quotaoptional
featurestringoptional
dependencystringoptional
401application/json

Authentication is missing or the credential is invalid, inactive, expired, or lacks the required scope.

{
  "status": "error",
  "message": "string",
  "code": "string",
  "detail": {},
  "quota": {
    "key": "string",
    "limit": 1,
    "used": 1
  },
  "feature": "string",
  "dependency": "string"
}
statusstringrequired
messagestringrequired
codestringoptional

Stable machine-readable code when the error defines one.

detailobjectoptional
quotaoptional
featurestringoptional
dependencystringoptional
403application/json

The authenticated caller is not allowed to perform this operation.

{
  "status": "error",
  "message": "string",
  "code": "string",
  "detail": {},
  "quota": {
    "key": "string",
    "limit": 1,
    "used": 1
  },
  "feature": "string",
  "dependency": "string"
}
statusstringrequired
messagestringrequired
codestringoptional

Stable machine-readable code when the error defines one.

detailobjectoptional
quotaoptional
featurestringoptional
dependencystringoptional
404application/json

The resource was not found or is outside the caller's project.

{
  "status": "error",
  "message": "string",
  "code": "string",
  "detail": {},
  "quota": {
    "key": "string",
    "limit": 1,
    "used": 1
  },
  "feature": "string",
  "dependency": "string"
}
statusstringrequired
messagestringrequired
codestringoptional

Stable machine-readable code when the error defines one.

detailobjectoptional
quotaoptional
featurestringoptional
dependencystringoptional
409application/json

The requested change conflicts with the resource's current state or dependencies.

{
  "status": "error",
  "message": "string",
  "code": "string",
  "detail": {},
  "quota": {
    "key": "string",
    "limit": 1,
    "used": 1
  },
  "feature": "string",
  "dependency": "string"
}
statusstringrequired
messagestringrequired
codestringoptional

Stable machine-readable code when the error defines one.

detailobjectoptional
quotaoptional
featurestringoptional
dependencystringoptional
503application/json

A required service is temporarily unavailable.

{
  "status": "error",
  "message": "string",
  "code": "string",
  "detail": {},
  "quota": {
    "key": "string",
    "limit": 1,
    "used": 1
  },
  "feature": "string",
  "dependency": "string"
}
statusstringrequired
messagestringrequired
codestringoptional

Stable machine-readable code when the error defines one.

detailobjectoptional
quotaoptional
featurestringoptional
dependencystringoptional
Delete a schedule< PreviousRemove a schedule gateNext >

Powered by heyo

curl --request PATCH \  '/v1/schedules/65f0c7a9a7d6b4e2c1234567' \  --header 'Content-Type: application/json' \  --data '{  "name": "string",  "description": "string",  "worker_id": "65f0c7a9a7d6b4e2c1234567",  "scratch_size_gi": 1,  "database_resources": {    "cpu_request_millicores": "string",    "cpu_limit_millicores": "string",    "memory_request_mib": "string",    "memory_limit_mib": "string"  },  "cron": "string",  "schedule_mode": "hourly",  "source": {    "id": "65f0c7a9a7d6b4e2c1234567",    "path": "string",    "file_check_mode": "auto-latest",    "filename_pattern": "string",    "filename_pattern_pick_latest": true,    "file_max_age_enabled": true,    "file_max_age_value": 1,    "file_max_age_unit": "minutes",    "file_min_size_enabled": true,    "file_min_size_mb": 1.5,    "file_max_size_enabled": true,    "file_max_size_mb": 1.5,    "backup_format": {      "container": "auto",      "compression": "auto",      "dump_format": "auto"    },    "encryption": {      "mode": "none",      "secret": {        "id": "65f0c7a9a7d6b4e2c1234567",        "name": "string"      }    },    "archive_password_secret": {      "id": "65f0c7a9a7d6b4e2c1234567",      "name": "string"    }  },  "gates": [    {      "name": "string",      "type": "restore_status",      "operator": "eq",      "successful": true    }  ],  "notify_mode": "never",  "notification_channels": [    {      "id": "65f0c7a9a7d6b4e2c1234567"    }  ],  "db_version": "string",  "restore_params": "string"}'
{  "status": "success",  "data": {    "id": "65f0c7a9a7d6b4e2c1234567",    "project_id": "65f0c7a9a7d6b4e2c1234567",    "name": "string",    "description": "string",    "worker_id": "65f0c7a9a7d6b4e2c1234567",    "worker": {      "id": "65f0c7a9a7d6b4e2c1234567",      "name": "string",      "country": "string"    },    "scratch_size_gi": "string",    "database_resources": {      "cpu_request_millicores": "string",      "cpu_limit_millicores": "string",      "memory_request_mib": "string",      "memory_limit_mib": "string"    },    "source": {},    "source_id": "65f0c7a9a7d6b4e2c1234567",    "source_name": "string",    "db_type": "string",    "db_version": "string",    "schedule_mode": "hourly",    "cron": "string",    "gates": [      {        "name": "string",        "type": "restore_status",        "operator": "eq",        "successful": true      }    ],    "notify_mode": "never",    "notification_channels": [      {        "id": "65f0c7a9a7d6b4e2c1234567"      }    ],    "status": "active",    "next_run": "2026-01-01T00:00:00Z",    "last_run_at": "2026-01-01T00:00:00Z",    "created_at": "2026-01-01T00:00:00Z",    "updated_at": "2026-01-01T00:00:00Z"  }}