---
title: "Update schema refresh schedule"
method: PUT
path: "/v1/connections/{connectionId}/schedules/{scheduleId}"
tags: ["Schema refresh schedules"]
---

# Update schema refresh schedule

`PUT /v1/connections/{connectionId}/schedules/{scheduleId}`

## Request

- Base URL: `https://blobsrus.omniapp.co/api`
- URL: `https://blobsrus.omniapp.co/api/v1/connections/{connectionId}/schedules/{scheduleId}`
- Auth: HTTP bearer

Update the schedule and/or timezone for an existing schema refresh schedule.

<Note>
  This endpoint requires Connection Admin permissions for the connection.
</Note>

## Path parameters

- `connectionId` string, uuid, required
- `scheduleId` string, uuid, required

## Request body

- object
  - `schedule` string, required: A 6-field cron expression in AWS EventBridge format defining when the schema refresh should run, specified as: ``` minute hour day-of-month month day-of-week year ``` For example: - `00 09 * * ? *` - Every day at 9:00 AM - `00 18 ? * MON-FRI *` - Every weekday at 6:00 PM - `30 08 1 * ? *` - First day of every month at 8:30 AM
  - `timezone` string, required: An IANA timezone identifier for when the schedule should run.
  - `hardRefresh` boolean: Whether the scheduled refresh performs a hard refresh (removes dropped objects) or soft refresh (additive only). Defaults to false (soft refresh).

## Response `200`

Schema refresh schedule updated successfully

- SchemaRefreshSchedule
  - `scheduleId` string, uuid: The unique identifier of the schema refresh schedule
  - `connectionId` string, uuid: The unique identifier of the connection this schedule belongs to
  - `schedule` string: A 6-field cron expression in AWS EventBridge format defining when the schema refresh should run. Format: `minute hour day-of-month month day-of-week year`
  - `timezone` string: The IANA timezone identifier for when the schedule should run
  - `description` string: A human-readable description of the schedule, automatically generated from the cron expression and timezone
  - `hardRefresh` boolean: Whether the scheduled refresh performs a hard refresh (removes dropped objects) or soft refresh (additive only). Defaults to false (soft refresh).
  - `createdAt` string, date-time: The timestamp when the schedule was created
  - `updatedAt` string, date-time: The timestamp when the schedule was last updated
  - `disabledAt` string, date-time, nullable: The timestamp when the schedule was disabled, or `null` if active

## Other responses

- `400`: Bad Request Possible error messages: - Invalid cron expression - Invalid timezone
- `401`: Missing or invalid authentication
- `403`: Insufficient permissions. **Connection Admin** permissions for the connection are required.
- `404`: Not Found Possible error messages: - Schedule not found - Connection not found
- `429`: Too Many Requests - Rate limit exceeded (60 requests/minute)

## Changes

- **2026-11-03** `43290040f88f`: 1 breaking, 8 info
  - added the new required request property `timezone`
  - the endpoint scheme security `bearerAuth` was added to the API
  - added the new optional request property `hardRefresh`
  - added the non-success response with the status `400`
  - …5 more

[Operation history](https://skmtc.dev/omni/apis/omni-api/changes/v1/connections/:connectionId/schedules/:scheduleId/put.md)

---

[API](https://skmtc.dev/omni/apis/omni-api.md) - [All operations](https://skmtc.dev/omni/apis/omni-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omni/apis/omni-api/revisions/43290040f88f?raw)
