---
title: "Update a Scheduled Report"
method: PUT
path: "/api/v2/reports/scheduled/{objectId}"
tags: ["Reports"]
---

# Update a Scheduled Report

`PUT /api/v2/reports/scheduled/{objectId}`

## Request

- Base URL: `https://console.jumpcloud.com`
- URL: `https://console.jumpcloud.com/api/v2/reports/scheduled/{objectId}`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/jumpcloud/apis/jumpcloud-console-api/docs/api/v2/reports/scheduled/:objectId/put.ts> (a function with typed inputs; its response is checked against the schema)

Update a Scheduled Report.

#### Sample Request
```
curl -X PUT https://console.jumpcloud.com/api/v2/reports/scheduled/{id} \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
 -d '{ {Scheduled_Report_Parameters} }' \
```

## Path parameters

- `objectId` string, required

## Request body

- object
  - `scheduledReport` JumpcloudInsightsScheduledReport, required
    - `createdAt` string, date-time
    - `cronExpression` string: Generated cron expression (read-only, computed from schedule_frequency, schedule_time, and time_zone)
    - `days` string[]: Weekly: e.g. ["MONDAY", "THURSDAY"]. Monthly/quarterly: ["FIRST_DAY"] or ["LAST_DAY"]. Daily: omit or [].
    - `description` string
    - `displayName` string, required
    - `endDate` string, date-time, nullable: Optional end date for the schedule
    - `exportType` string, required
    - `id` string
    - `isActive` boolean, required
    - `lastRunAt` string, date-time, nullable
    - `lastRunStatus` string
    - `nextRunAt` string, date-time
    - `recipients` JumpcloudInsightsRecipient[], required: List of notification recipients with channel type and recipient details
      - `channelType` string, required
      - `value` string[], required: List of values: email addresses (email), slack channel names/IDs (slack), or webhook URLs (webhook)
    - `reportId` string, byte, nullable: Report definition ID (report_views.object_id or report_templates.object_id); hex in API. Omitted when not set.
    - `reportType` string, nullable: report_view or report_template
    - `scheduleFrequency` string, required
    - `scheduleTime` string, required: Time of day for the schedule (e.g., "09:00 AM", "14:30")
    - `startDate` string, date-time, nullable: Optional start date for the schedule
    - `timeZone` string, required: Timezone for the schedule (e.g., "GMT-2", "America/New_York")
    - `updatedAt` string, date-time

## Response `200`

Success updating a Scheduled Report.

- JumpcloudInsightsScheduledReportResponse
  - `scheduledReport` JumpcloudInsightsScheduledReport
    - `createdAt` string, date-time
    - `cronExpression` string: Generated cron expression (read-only, computed from schedule_frequency, schedule_time, and time_zone)
    - `days` string[]: Weekly: e.g. ["MONDAY", "THURSDAY"]. Monthly/quarterly: ["FIRST_DAY"] or ["LAST_DAY"]. Daily: omit or [].
    - `description` string
    - `displayName` string, required
    - `endDate` string, date-time, nullable: Optional end date for the schedule
    - `exportType` string, required
    - `id` string
    - `isActive` boolean, required
    - `lastRunAt` string, date-time, nullable
    - `lastRunStatus` string
    - `nextRunAt` string, date-time
    - `recipients` JumpcloudInsightsRecipient[], required: List of notification recipients with channel type and recipient details
      - `channelType` string, required
      - `value` string[], required: List of values: email addresses (email), slack channel names/IDs (slack), or webhook URLs (webhook)
    - `reportId` string, byte, nullable: Report definition ID (report_views.object_id or report_templates.object_id); hex in API. Omitted when not set.
    - `reportType` string, nullable: report_view or report_template
    - `scheduleFrequency` string, required
    - `scheduleTime` string, required: Time of day for the schedule (e.g., "09:00 AM", "14:30")
    - `startDate` string, date-time, nullable: Optional start date for the schedule
    - `timeZone` string, required: Timezone for the schedule (e.g., "GMT-2", "America/New_York")
    - `updatedAt` string, date-time

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `500`: Internal Server Error

---

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