---
title: "Update scheduled report"
method: PUT
path: "/scheduled-reports/{report_id}"
tags: ["Scheduled Reports"]
---

# Update scheduled report

`PUT /scheduled-reports/{report_id}`

Partially update a scheduled report. Omit any field to keep its current value; at least one field must be supplied.

## Path parameters

- `report_id` string, required

## Request body

- V4ScheduledReportUpdateRequest — Partial update — omit any field to keep its current value. At least one field must be supplied; an empty body returns `400 invalid_data`.
  - `report_name` string
  - `send_at` string
  - `included_range_days` 1 | 3 | 7
  - `status` 'draft' | 'active'
  - `environment` 'sandbox' | 'production'
  - `destinations` V4ScheduledReportDestination[]
    - `type` string, required — Destination kind. Currently always `target_integration`.
    - `id` string, required — Destination identifier within the given type.
    - `label` string — Human-readable label — present on read, ignored on write.

## Response `200`

Updated scheduled report.

- V4ScheduledReport — A scheduled report configuration. Delivers an analytics snapshot to the listed destinations once per day at `send_at` UTC, covering the prior `included_range_days` days of data.
  - `object` string, required
  - `id` string, required — Report identifier.
  - `url` string, required
  - `report_name` string, required — Human-readable name, 1-255 chars.
  - `send_at` string, required — UTC time-of-day for the daily delivery, `HH:MM` format, aligned to 30-minute slots. Valid values range from `"00:00"` to `"23:30"`.
  - `included_range_days` 1 | 3 | 7, required — Coverage window in whole days — one of 1, 3, 7.
  - `status` 'draft' | 'active', required — `draft` — paused, no deliveries. `active` — enqueued for delivery at each `send_at`.
  - `environment` 'sandbox' | 'production', required
  - `runs` integer, required — Number of deliveries completed so far.
  - `destinations` V4ScheduledReportDestination[], required
    - `type` string, required — Destination kind. Currently always `target_integration`.
    - `id` string, required — Destination identifier within the given type.
    - `label` string — Human-readable label — present on read, ignored on write.
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Feature not available
- `404` — Report not found
- `415` — Unsupported Content-Type
- `429` — Rate limited
- `500` — Internal error
- `502` — Storage error
- `504` — Upstream timeout

---

[API](https://skmtc.net/qonversion/apis/qonversion-rest-api-v4.md) · [All operations](https://skmtc.net/qonversion/apis/qonversion-rest-api-v4/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/qonversion/qonversion-rest-api-v4/versions/e3f72cf8951c/schema)
