Executes a user-supplied SQL SELECT query and returns the result data along with column metadata. This endpoint does not save the report — it only runs the query and returns the results. The reportName is echoed back in the response for identification purposes.
post /dcapi/reports/queryReports/data
https://{server-hostname}:8383/dcapi/reports/queryReports/data
QueryReport.CREATECopied!
Authorization: d92d4xxxxxxxxxxxxx15f52
Name for the query report. Used for identification in the response and when saving. Allows word characters, hyphens, spaces, and non-Basic-Latin Unicode characters. Max 100 characters
SQL SELECT query to execute. Only SELECT statements are allowed; DML, DDL, system catalog access (pg_, sys.), and injection patterns (xp_cmdshell, EXEC, WAITFOR, sp_) are blocked. Max 500,000 characters
curl --request POST \
--url https://appdomain/dcapi/reports/queryReports/data \
--header 'Accept: application/queryResult.v1+json' \
--header 'Authorization: d92d4xxxxxxxxxxxxx15f52' \
--header 'Content-Type: application/queryReport.v1+json' \
--data '{"reportName":"All technicians report","query":"select * from Table"}'Execute a SELECT query on the given table
{
"reportName": "All technicians report",
"query": "select * from Table"
}
The report name echoed back from the request for identification
Array of row objects where each key is a column name and each value is the column value as a string
Example column value. Actual keys vary based on the SQL query provided in the request
Example column value. Actual keys vary based on the SQL query provided in the request
Example column value. Actual keys vary based on the SQL query provided in the request
Example column value. Actual keys vary based on the SQL query provided in the request
Example column value. Actual keys vary based on the SQL query provided in the request
Example column value. Actual keys vary based on the SQL query provided in the request
Array of column metadata objects describing the result set columns including name and JDBC data type
Name of the column in the result set as returned by the database
JDBC java.sql.Types constant for the column. Common values: -5 (BIGINT), 4 (INTEGER), 12 (VARCHAR), 93 (TIMESTAMP)
Error code identifying the failure reason. INVALID_QUERY = the SQL query is syntactically invalid or fails construction; REP_NAME_EXISTS = a query report with the same name already exists for this user
Human-readable message describing the specific validation failure
Error code for unauthorized MSP access. REPORT_UNAUTHORIZED = MSP non-admin user attempting to access query reports
Human-readable message indicating the user is not authorized as an MSP admin
Error code for server-side failure. INTERNAL_ERROR = an unexpected error occurred during query execution (e.g., SQLException)
Human-readable message describing the internal server error encountered during query execution
Result of executing the given query
{
"reportName": "All Technician report",
"data": [
{
"user_id": "1",
"last_name": "null",
"description": "No Description",
"middle_name": "null",
"first_name": "admin",
"createdtime": "1774255689700"
},
{
"user_id": "2",
"last_name": "null",
"description": "No Description",
"middle_name": "null",
"first_name": "guest",
"createdtime": "1774255689700"
}
],
"columnDetails": [
{
"columnDataType": -5,
"columnName": "user_id"
},
{
"columnDataType": 12,
"columnName": "first_name"
},
{
"columnDataType": 12,
"columnName": "middle_name"
},
{
"columnDataType": 12,
"columnName": "last_name"
},
{
"columnDataType": -5,
"columnName": "createdtime"
},
{
"columnDataType": 12,
"columnName": "description"
}
]
}
SQL query is syntactically invalid or fails construction
{
"errorMessage": "Invalid query syntax or unsupported statement",
"errorCode": "INVALID_QUERY"
}
A query report with the same name already exists for this user
{
"errorMessage": "Report name already exists",
"errorCode": "REP_NAME_EXISTS"
}
MSP non-admin user attempting to access query reports
{
"errorMessage": "You are not authorized to access this resource",
"errorCode": "REPORT_UNAUTHORIZED"
}
Unexpected error during SQL query execution
{
"errorMessage": "An internal server error occurred while executing the query report",
"errorCode": "INTERNAL_ERROR"
}
![]()
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.
© 2026, Zoho Corporation Pvt. Ltd. All Rights Reserved.
© 2026, Zoho Corporation Pvt. Ltd. All Rights Reserved.