---
title: "List Scheduled Report Runs by Report"
method: GET
path: "/reports/scheduled/{objectId}/runs"
tags: ["Reports"]
---

# List Scheduled Report Runs by Report

`GET /reports/scheduled/{objectId}/runs`

## Request

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

List Scheduled Report Runs for a specific scheduled report (all statuses: IN_PROGRESS, SUCCESS, FAILED).

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

## Path parameters

- `objectId` string, required

## Query parameters

- `limit` string, int64
- `skip` string, int64
- `sort` string
- `filter` string[]
- `startDate` string, date-time
- `endDate` string, date-time

## Response `200`

Success listing Scheduled Report Runs for a report.

- JumpcloudInsightsListScheduledReportRunsResponse
  - `runs` JumpcloudInsightsScheduledReportRun[]
    - `artifactUrl` string, nullable: Presigned download URL when the run succeeded (same link as email/slack notifications). Falls back to a relative API path only when no stored URL exists.
    - `completedAt` string, date-time
    - `displayName` string, nullable: Scheduled report display name (primary label in history UI)
    - `fileSize` string, nullable: File size in bytes
    - `id` string
    - `rowCount` string, nullable: Emitted as string in JSON (e.g. "123"); omit when not set to avoid validation errors.
    - `scheduleFrequency` string, nullable: Stored and returned as lowercase: daily, weekly, monthly, quarterly
    - `scheduleTime` string, nullable: Time of day for the schedule (e.g., "09:00 AM", "14:30")
    - `scheduledReportId` string
    - `startedAt` string, date-time
    - `status` string: Status: IN_PROGRESS, SUCCESS, FAILED
    - `timeZone` string, nullable: Timezone for the schedule (e.g., "GMT-2", "America/New_York")
    - `timeoutAt` string, date-time, nullable: Omit when not set to avoid null (validator expects string or absent).
  - `totalCount` integer: Total number of runs matching the list filters (before limit/skip pagination).

## Other responses

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

---

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