Fetch all available custom reports for the user

Open in ChatGPT Open in ChatGPT to ask questions about this page
Open in Claude Open in Claude to ask questions about this page
Copy as MarkdownCopy this page as markdown to use with AI assistants
View as Markdown Open this page as markdown in a new tab

Retrieves a list of all custom reports accessible to the user, along with metadata such as report name, owner, last modified time, and associated view name.

Endpoints

Request URL

https://{serverurl}/dcapi/reports/customReports

Scope

DesktopCentralCloud.CustomReport.READCopied!

Header

Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52

Request Parameters

- Request Headers

AcceptstringMandatory
application/allCustomReports.v1+jsonapplication/allCustomReports.v1+jsonCopied!

Sample Request

Curl
Java
Python
Deluge
PowerShell
Copied!
curl --request GET \
  --url https://appdomains/dcapi/reports/customReports \
  --header 'Accept: application/allCustomReports.v1+json' \
  --header 'Authorization: Zoho-oauthtoken  d92d4xxxxxxxxxxxxx15f52'

Response Parameters

- HTTP code 200

Response Body - application/json
JSON Object
Hide Sub-Attributes
idstring

Root node identifier. Always 'customReports'

parentstring

Parent node identifier. Always null for the root node

labelstring

Localized display name of the root node (e.g., Custom Reports)

propertiesJSON Object

Root node metadata including report type, expandable, and selectable flags

Show Sub-Attributes
reportTypestring

Report type identifier. Always '2' for Custom Reports

expandableboolean

True if child reports exist, false otherwise

selectableboolean

False if any child report is affected, disabled, or is a chart; true otherwise

childrenJSON Array

Array of child custom report nodes. Null when no reports exist

Show Sub-Attributes
JSON Object
Show Sub-Attributes
idstring

Unique report ID (CRSAVEVIEW_ID)

parentstring

Parent node identifier. Always 'customReports'

labelstring

Display name of the custom report

propertiesJSON Object

Report metadata including owner, view name, action URL, description, and timestamps

Show Sub-Attributes
ownerstring

First name of the user who created the report

viewNamestring

Internal view name stored in the database (e.g., CRVIEW_1776239184200)

expandableboolean

Always false for report nodes

selectableboolean

True if the report is active, not a chart, and within column/criteria limits; false otherwise

actionURLstring

URL path to view the report in the web console

descriptionstring

User-provided description of the custom report

lastModifiedstring

Last modified timestamp formatted per the user's time-format preference

childrenarray

Always null for leaf report nodes

leafboolean

Always true for report nodes

errorMessagestring

Always null for child report nodes

rootboolean

Always false for child nodes

leafboolean

False when children exist, true when no children

errorMessagestring

Warning message when some reports are affected or disabled. Null when all reports are healthy

rootboolean

Always true for the root node

- HTTP code 401

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Unauthorized error code: credentials missing, expired, or invalid

errorMsgstring

Authentication failure reason

- HTTP code 403

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Error code indicating insufficient permissions

errorMsgstring

Message indicating insufficient privileges to access this resource

- HTTP code 417

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodestring

Error code: REPORT_UNAUTHORIZED. PMP users are not allowed to access custom reports

errorMessagestring

Message indicating PMP product users are not authorized to access custom reports

- HTTP code 429

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Rate limit error code returned when the API call reached threshold

errorMsgstring

Rate limit exceeded message with retry guidance

- HTTP code 500

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodestring

Error code: INTERNAL_ERROR. Unexpected failure during custom report list retrieval (e.g., database exception)

errorMessagestring

Detailed error description for the internal server error

Possible Response Codes

200HTTP code
401HTTP code
403HTTP code
417HTTP code
429HTTP code
500HTTP code

Sample Response: HTTP 200

Root node with two custom report children

Copied!
  {
    "parent": null,
    "children": [
      {
        "parent": "customReports",
        "children": null,
        "root": false,
        "errorMessage": null,
        "id": "2",
        "label": "Untitled2",
        "leaf": true,
        "properties": {
          "owner": "admin",
          "viewName": "CRVIEW_1776239184200",
          "expandable": false,
          "selectable": true,
          "actionURL": "/webclient#/uems/reports/report/custom/view-report/2?viewName=CRVIEW_1776239184200",
          "description": "Test Description",
          "lastModified": "Apr 15, 2026 01:16 PM"
        }
      },
      {
        "parent": "customReports",
        "children": null,
        "root": false,
        "errorMessage": null,
        "id": "1",
        "label": "Untitled1",
        "leaf": true,
        "properties": {
          "owner": "admin",
          "viewName": "CRVIEW_1776239157642",
          "expandable": false,
          "selectable": false,
          "actionURL": "/webclient#/uems/reports/report/custom/view-report/1?viewName=CRVIEW_1776239157642",
          "description": "Test Description",
          "lastModified": "Apr 15, 2026 01:15 PM"
        }
      }
    ],
    "root": true,
    "errorMessage": null,
    "id": "customReports",
    "label": "Custom Reports",
    "leaf": false,
    "properties": {
      "reportType": "2",
      "expandable": true,
      "selectable": false
    }
  }
                
Show full

No saved custom reports — root node with null children

Copied!
  {
    "parent": null,
    "children": null,
    "root": true,
    "errorMessage": null,
    "id": "customReports",
    "label": "Custom Reports",
    "leaf": true,
    "properties": {
      "reportType": "2",
      "expandable": false,
      "selectable": false
    }
  }
                
Show full

Sample Response: HTTP 401

Missing or invalid authentication token

Copied!
  {
    "errorMessage": "Authentication token is missing or invalid",
    "errorCode": "401"
  }
                
Show full

Sample Response: HTTP 403

User does not have the required role

Copied!
  {
    "errorMessage": "User does not have the required role to access this resource",
    "errorCode": "403"
  }
                
Show full

Sample Response: HTTP 417

PMP product users are not allowed access

Copied!
  {
    "errorMessage": "You are not authorized to access custom reports",
    "errorCode": "REPORT_UNAUTHORIZED"
  }
                
Show full

Sample Response: HTTP 429

Rate limit exceeded

Copied!
  {
    "errorMessage": "Rate limit exceeded. Please retry after some time",
    "errorCode": "429"
  }
                
Show full

Sample Response: HTTP 500

Unexpected failure during custom report list retrieval

Copied!
  {
    "errorMessage": "Internal server error while fetching custom reports",
    "errorCode": "INTERNAL_ERROR"
  }
                
Show full

Duration: 1 minute | Threshold: 30 | Lock period: 5 minutes

Duration - Time window for the threshold.
Threshold - Number of API calls allowed within the specified duration.
Lock Period - Wait time before consecutive API requests.