---
title: "List saved reports"
method: GET
path: "/reports/saved-reports"
tags: ["Reports"]
---

# List saved reports

`GET /reports/saved-reports`

## Request

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

List saved report views and custom reports in one collection.

## Query parameters

- `limit` string, int64
- `skip` string, int64
- `sort` string
- `fields` string[]
- `filter` string[]

## Response `200`

Success listing saved reports.

- JumpcloudInsightsListSavedReportsResponse
  - `savedReports` JumpcloudInsightsSavedReport[]
    - `customReport` JumpcloudInsightsCustomReport
      - `columns` string[]
      - `createdAt` string, date-time
      - `createdBy` string
      - `description` string
      - `displayName` string, required
      - `filters` JumpcloudInsightsCustomReportFilter[]
        - `field` string
        - `operation` string
        - `value` string
      - `id` string
      - `primaryObject` string, required
      - `searchRequest` JumpcloudSearchSearchRequest, required
        - `aggregations` JumpcloudSearchSearchRequestAggregation[]
          - `field` string[]: This is a field on an object. It should always be in the form of <objectName>.<fieldName> This will be case insensitive, and will be cast to lowercase always.
          - `function` 'function_unknown' | 'count' | 'avg' | 'max' | 'min' | 'sum' | 'count_unique'
          - `name` string
        - `cacheToken` string, nullable
        - `fields` JumpcloudSearchSearchRequestFields
          - `exclude` string[]
          - `include` string[]
        - `filters` JumpcloudSearchSearchRequestFilter[]
          - `field` string, nullable: This is a field on an object. It should always be in the form of <objectName>.<fieldName> This will be case insensitive, and will be cast to lowercase always.
          - `filters` JumpcloudSearchSearchRequestFilter[]: Only allowed when operation is 'and'/'or'. This allows for logical groupings of sub-filters provided in this field's array.
          - `operation` 'operation_unknown' | 'and' | 'or' | 'equals' | 'not_equals' | 'greater_than' | 'less_than' | 'starts_with' | 'ends_with' | 'contains' | 'not_contains' | 'in' | 'not_in' | 'greater_than_or_equals' | 'less_than_or_equals' | 'is_null' | 'is_empty' | 'equals_case_sensitive' | 'not_equals_case_sensitive' | 'starts_with_case_sensitive' | 'ends_with_case_sensitive' | 'contains_case_sensitive' | 'not_contains_case_sensitive' | 'in_case_sensitive' | 'not_in_case_sensitive' | 'member_of' | 'not_member_of' | 'not_contains_with_null' | 'not_contains_case_sensitive_with_null' | 'not_in_with_null' | 'not_in_case_sensitive_with_null' | 'not_starts_with' | 'not_ends_with': Filter operation to be applied: and - Provides logical 'and' groupings of all elements provided in the `filters` array (all sub-filter criteria must be satisfied). or - Provides logical 'or' groupings of all elements provided in the `filters` array (any sub-filter criteria can be satisfied). equals - Compares `field` with `value` for a // match. Case insensitive. not_equals - Compares `field` with `value` for an exact non-match. Case insensitive. greater_than - Checks if `field` is greater numerically than static `value` (non-inclusive). Works for numbers and datetime types. less_than - Checks if `field` is less than static `value` (non-inclusive). Works for numbers and datetime types. starts_with - Checks if `field` starts with static `value`. Case insensitive. Only works for string types. ends_with - Checks if `field` ends with static `value`. Case insensitive. Only works for string types. not_starts_with - Checks if `field` does not start with static `value`. Case insensitive. Only works for string types. not_ends_with - Checks if `field` does not end with static `value`. Case insensitive. Only works for string types. contains - Checks if `field` has the static `value` as its substring. Case insensitive. Only works for string types. not_contains - Checks if `field` does not have the static `value` as its substring. Case insensitive. Only works for string types. in - Checks if `field` is in the static `value` array. Works with strings (case insensitive), numbers, and datetime types. not_in - Checks if `field` is not in the static `value` array. Works with strings (case insensitive), numbers, and datetime types. greater_than_or_equals - Checks if `field` is greater than or equal to static `value`. Works for numbers and datetime types. less_than_or_equals - Checks if `field` is less than or equal to static `value`. Works for numbers and datetime types. is_null - Checks if `field` is null. Works for all field types. Requires boolean value (true for null, false for not null). is_empty - Checks if `field` is null or empty string. Works only for string field types. Requires boolean value (true for empty, false for not empty). equals_case_sensitive - Compares `field` with `value` for an exact match. Case sensitive. Only works for string types. not_equals_case_sensitive - Compares `field` with `value` for an exact non-match. Case sensitive. Only works for string types. starts_with_case_sensitive - Checks if `field` starts with static `value`. Case sensitive. Only works for string types. ends_with_case_sensitive - Checks if `field` ends with static `value`. Case sensitive. Only works for string types. contains_case_sensitive - Checks if `field` has the static `value` as its substring. Case sensitive. Only works for string types. not_contains_case_sensitive - Checks if `field` does not have the static `value` as its substring. Case sensitive. Only works for string types. in_case_sensitive - Checks if `field` is in the static `value` array. Works with strings (case sensitive), numbers, and datetime types. not_in_case_sensitive - Checks if `field` is not in the static `value` array. Works with strings (case sensitive), numbers, and datetime types. not_contains_with_null - Like not_contains but also matches rows where `field` IS NULL (v1 search API compatibility). not_contains_case_sensitive_with_null - Like not_contains_case_sensitive but also matches rows where `field` IS NULL (v1 search API compatibility). not_in_with_null - Like not_in but also matches rows where `field` IS NULL (v1 search API compatibility). not_in_case_sensitive_with_null - Like not_in_case_sensitive but also matches rows where `field` IS NULL (v1 search API compatibility). member_of - Array column overlaps with the given list. Only for array-typed fields. Value must be list_value. not_member_of - Array column does not overlap with the given list. Only for array-typed fields. Value must be list_value.
          - `query` JumpcloudSearchSearchRequest (recursive)
          - `unit` string, nullable
          - `value` unknown
        - `limit` integer: Maximum number of rows (inclusive) to return in the objects. Note that there is an implicit limit enforced always in the external API.
        - `metadata` JumpcloudSearchSearchRequestMetadata: Metadata about the search request including source information and some other metadata about the calling service.
          - `context` JumpcloudSearchMetadataContextEntry[]
            - `key` string
            - `value` string
          - `searchPurpose` 'unspecified' | 'reporting' | 'health_monitoring' | 'alerting' | 'audit' | 'troubleshooting' | 'user_initiated' | 'scheduled' | 'export' | 'analytics' | 'automation' | 'data_validation'
          - `source` string, nullable
        - `pagination` JumpcloudSearchPaginationParams: Parameters for controlling pagination of search results.
          - `offset` integer: Zero-based index of the first result to return. For example: 0 returns the first page, 100 returns the second page when page_size=100.
          - `pageSize` integer: Number of results to return per page. If not specified, uses server default (typically 50-100 items).
        - `requestCache` boolean
        - `sort` JumpcloudSearchSearchRequestSort[]
          - `field` string: This is a field on an object. It should always be in the form of <objectName>.<fieldName> This will be case insensitive, and will be cast to lowercase always.
          - `order` 'asc' | 'desc'
      - `secondaryObjects` string[]
      - `updatedAt` string, date-time
      - `updatedBy` string
    - `reportType` string: report_view or custom_report
    - `reportView` JumpcloudInsightsReportView
      - `configuration` JumpcloudInsightsConfiguration
        - `columnSettings` JumpcloudInsightsColumnSettings
          - `fixed` string[]
      - `createdAt` string, date-time
      - `createdBy` string
      - `description` string
      - `displayName` string
      - `id` string, byte
      - `resources` string[]
      - `searchRequest` JumpcloudSearchSearchRequest
        - `aggregations` JumpcloudSearchSearchRequestAggregation[]
          - `field` string[]: This is a field on an object. It should always be in the form of <objectName>.<fieldName> This will be case insensitive, and will be cast to lowercase always.
          - `function` 'function_unknown' | 'count' | 'avg' | 'max' | 'min' | 'sum' | 'count_unique'
          - `name` string
        - `cacheToken` string, nullable
        - `fields` JumpcloudSearchSearchRequestFields
          - `exclude` string[]
          - `include` string[]
        - `filters` JumpcloudSearchSearchRequestFilter[]
          - `field` string, nullable: This is a field on an object. It should always be in the form of <objectName>.<fieldName> This will be case insensitive, and will be cast to lowercase always.
          - `filters` JumpcloudSearchSearchRequestFilter[]: Only allowed when operation is 'and'/'or'. This allows for logical groupings of sub-filters provided in this field's array.
          - `operation` 'operation_unknown' | 'and' | 'or' | 'equals' | 'not_equals' | 'greater_than' | 'less_than' | 'starts_with' | 'ends_with' | 'contains' | 'not_contains' | 'in' | 'not_in' | 'greater_than_or_equals' | 'less_than_or_equals' | 'is_null' | 'is_empty' | 'equals_case_sensitive' | 'not_equals_case_sensitive' | 'starts_with_case_sensitive' | 'ends_with_case_sensitive' | 'contains_case_sensitive' | 'not_contains_case_sensitive' | 'in_case_sensitive' | 'not_in_case_sensitive' | 'member_of' | 'not_member_of' | 'not_contains_with_null' | 'not_contains_case_sensitive_with_null' | 'not_in_with_null' | 'not_in_case_sensitive_with_null' | 'not_starts_with' | 'not_ends_with': Filter operation to be applied: and - Provides logical 'and' groupings of all elements provided in the `filters` array (all sub-filter criteria must be satisfied). or - Provides logical 'or' groupings of all elements provided in the `filters` array (any sub-filter criteria can be satisfied). equals - Compares `field` with `value` for a // match. Case insensitive. not_equals - Compares `field` with `value` for an exact non-match. Case insensitive. greater_than - Checks if `field` is greater numerically than static `value` (non-inclusive). Works for numbers and datetime types. less_than - Checks if `field` is less than static `value` (non-inclusive). Works for numbers and datetime types. starts_with - Checks if `field` starts with static `value`. Case insensitive. Only works for string types. ends_with - Checks if `field` ends with static `value`. Case insensitive. Only works for string types. not_starts_with - Checks if `field` does not start with static `value`. Case insensitive. Only works for string types. not_ends_with - Checks if `field` does not end with static `value`. Case insensitive. Only works for string types. contains - Checks if `field` has the static `value` as its substring. Case insensitive. Only works for string types. not_contains - Checks if `field` does not have the static `value` as its substring. Case insensitive. Only works for string types. in - Checks if `field` is in the static `value` array. Works with strings (case insensitive), numbers, and datetime types. not_in - Checks if `field` is not in the static `value` array. Works with strings (case insensitive), numbers, and datetime types. greater_than_or_equals - Checks if `field` is greater than or equal to static `value`. Works for numbers and datetime types. less_than_or_equals - Checks if `field` is less than or equal to static `value`. Works for numbers and datetime types. is_null - Checks if `field` is null. Works for all field types. Requires boolean value (true for null, false for not null). is_empty - Checks if `field` is null or empty string. Works only for string field types. Requires boolean value (true for empty, false for not empty). equals_case_sensitive - Compares `field` with `value` for an exact match. Case sensitive. Only works for string types. not_equals_case_sensitive - Compares `field` with `value` for an exact non-match. Case sensitive. Only works for string types. starts_with_case_sensitive - Checks if `field` starts with static `value`. Case sensitive. Only works for string types. ends_with_case_sensitive - Checks if `field` ends with static `value`. Case sensitive. Only works for string types. contains_case_sensitive - Checks if `field` has the static `value` as its substring. Case sensitive. Only works for string types. not_contains_case_sensitive - Checks if `field` does not have the static `value` as its substring. Case sensitive. Only works for string types. in_case_sensitive - Checks if `field` is in the static `value` array. Works with strings (case sensitive), numbers, and datetime types. not_in_case_sensitive - Checks if `field` is not in the static `value` array. Works with strings (case sensitive), numbers, and datetime types. not_contains_with_null - Like not_contains but also matches rows where `field` IS NULL (v1 search API compatibility). not_contains_case_sensitive_with_null - Like not_contains_case_sensitive but also matches rows where `field` IS NULL (v1 search API compatibility). not_in_with_null - Like not_in but also matches rows where `field` IS NULL (v1 search API compatibility). not_in_case_sensitive_with_null - Like not_in_case_sensitive but also matches rows where `field` IS NULL (v1 search API compatibility). member_of - Array column overlaps with the given list. Only for array-typed fields. Value must be list_value. not_member_of - Array column does not overlap with the given list. Only for array-typed fields. Value must be list_value.
          - `query` JumpcloudSearchSearchRequest (recursive)
          - `unit` string, nullable
          - `value` unknown
        - `limit` integer: Maximum number of rows (inclusive) to return in the objects. Note that there is an implicit limit enforced always in the external API.
        - `metadata` JumpcloudSearchSearchRequestMetadata: Metadata about the search request including source information and some other metadata about the calling service.
          - `context` JumpcloudSearchMetadataContextEntry[]
            - `key` string
            - `value` string
          - `searchPurpose` 'unspecified' | 'reporting' | 'health_monitoring' | 'alerting' | 'audit' | 'troubleshooting' | 'user_initiated' | 'scheduled' | 'export' | 'analytics' | 'automation' | 'data_validation'
          - `source` string, nullable
        - `pagination` JumpcloudSearchPaginationParams: Parameters for controlling pagination of search results.
          - `offset` integer: Zero-based index of the first result to return. For example: 0 returns the first page, 100 returns the second page when page_size=100.
          - `pageSize` integer: Number of results to return per page. If not specified, uses server default (typically 50-100 items).
        - `requestCache` boolean
        - `sort` JumpcloudSearchSearchRequestSort[]
          - `field` string: This is a field on an object. It should always be in the form of <objectName>.<fieldName> This will be case insensitive, and will be cast to lowercase always.
          - `order` 'asc' | 'desc'
      - `updatedAt` string, date-time
      - `updatedBy` string
      - `updatedBySource` 'unspecified' | 'api' | 'ui' | 'ai'
  - `totalCount` integer

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `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)
