Use the below API to get the report definition
curl -v https://api.enterprise.apigee.com/v1/organizations/{org_name}/reports/{report_UUID}
(Works only with Accept: application/json for now)
"chartType" : "column", "comments" : [ ], "createdAt" : 1452125646894, "createdBy" : "BRoles", "dimensions" : [ "apiproxy", "request_verb", "proxy_pathsuffix" ], "displayName" : "WalAPI", "environment" : "prd01", "filter" : "", "lastModifiedAt" : 1476220665872, "lastModifiedBy" : "10.234.122.13", "lastViewedAt" : 1494653974715, "metrics" : [ { "function" : "avg", "name" : "total_response_time" }, { "function" : "avg", "name" : "target_response_time" }, { "function" : "avg", "name" : "request_processing_latency" }, { "function" : "avg", "name" : "response_processing_latency" }, { "function" : "sum", "name" : "message_count" }, { "function" : "sum", "name" : "is_error" } ], "name" : "7b81a847-cf7e-40cf-a78f-021c530952", "organization" : "prod", "properties" : [ { "property" : "__ui__", "value" : [ { "name" : "description" }, { "name" : "accuracy" } ] } ], "sortbyCols" : [ ], "tags" : [ ], "timeUnit" : "hour"
That reportAPI is to get the definition but not for the data. If you want to get the data what you see in the UI for a time frame, you can call multiple APIs as below per each dimension
curl -v "https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{environment}/stats/apiproxy?select=avg(total_response_time),avg(target_response_time),avg(request_processing_latency),avg(response_processing_latency),sum(message_count),sum(is_error)&sort=ASC&sortby=avg(total_response_time),avg(target_response_time),avg(request_processing_latency),avg(response_processing_latency),sum(message_count),sum(is_error)&timeRange=05%2F12%2F2017+21:36:00~05%2F12%2F2017+22:36:00&timeUnit=minute
and then use a filter as below for the next level dimensions
curl -v "https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{environment}/stats/request_verb?filter=(apiproxy+eq+%27TestAPI%27)&select=avg(total_response_time),avg(target_response_time),avg(request_processing_latency),avg(response_processing_latency),sum(message_count),sum(is_error)&sort=ASC&sortby=avg(total_response_time),avg(target_response_time),avg(request_processing_latency),avg(response_processing_latency),sum(message_count),sum(is_error)&timeRange=05%2F12%2F2017+21:37:00~05%2F12%2F2017+22:37:00&timeUnit=minute
To group metrics by dimension (all or some)combinations, you'd comma-separate dimensions in the URI like this: /stats/apiproxy,target_response_code.
curl -v https://api.enterprise.apigee.com/v1/organizations/apigeedocs/environments/test/stats/apiproxy,request_verb?select=sum(message_count)&timeRange=05%2F15%2F2017%2000%3A00~05%2F20%2F2017%2023%3A59"