---
title: "Create or update a study schedule"
method: PUT
path: "/v1/study-schedules/{study_id}"
tags: ["Study Schedules"]
---

# Create or update a study schedule

`PUT /v1/study-schedules/{study_id}`

Creates a new schedule for the study if one doesn't exist, or updates the existing schedule. The study must belong to the authenticated user. When enabled, next_scheduled_run is set to now plus the repeat interval. When disabled, next_scheduled_run is cleared.

## Path parameters

- `study_id` string, required

## Request body

- UpdateStudyScheduleRequest
  - `enabled` boolean, required
  - `repeat_interval` 7 | 14 | 30, nullable

## Response `200`

OK

- StudyScheduleResponse
  - `enabled` boolean, required
  - `id` string, required
  - `next_scheduled_run` string, date-time, nullable
  - `repeat_interval` 7 | 14 | 30, nullable
  - `source_study_id` string, required

## Other responses

- `400` — Validation error
- `401` — Authentication failed
- `403` — Not authorized
- `404` — Study not found

---

[API](https://skmtc.dev/viewpoints/apis/viewpoints-study-api.md) · [All operations](https://skmtc.dev/viewpoints/apis/viewpoints-study-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/viewpoints/viewpoints-study-api/revisions/0145b20e3bb0/schema)
