GET Report Information

Abstract

The GET Report Information API returns JSON metadata about a single Ad Hoc report and data service in Pull Reports™. The metadata includes the report's id, name, columns, and related tables.


Overview

The GET Report Information endpoint returns meta information about a <report>.

URL

/[context]/pullreports/catalog/[catalogId]/report/[reportId].json

Instead of to appending .json to the end of the URL, it is permitted to use the application/json Accept request header.

Parameters

pretty

If true, "pretty" formats the returned JSON with white space and end-of-line characters.

Response

Response Content-Type:  application/json

OK

Status Code: 200

Responses without error have this structure:

{
    "id":string
    ,"name":string
    ,"description":string
    ,"licenseMessage":string
    ,"userQueriesIsActive":boolean
    ,"formats":[{   // Array of of available export formats
       "value":string
       ,"label":string
       ,"group":string ("Report"|"Data Service")
    }]
    ,"defaultColumns":[string] // Array of default base table column ids
    ,"defaultSorts":[{
        "tablePath":string
        ,"columnId":string
        // direction is either: "asc", "desc"
        ,"direction":string
    },...]
    ,"exportSqlIsActive":boolean  // True if the report supports the Export SQL end point
    ,"catalog": {           // The <catalog> of the <report>
        "id":string
        ,"name":string
        ,"reports":[{
            "id":string 
            ,"name":string
        }]
    ,"global" {
        "exportReportMaxResults":integer
    }
    ,"namedQueries":[
        {"id":string
         ,"name":string
         ,"description":string
         ,"distinct":boolean
          // type is of: "canned", "user"
         ,"type":string
          // viewMode is of: "table", "map"
         ,"viewMode":string
         ,"columns":[
             {"tablePath":string
              ,"columnId":string
              }
             ,...]
         ,"sorts":[
             {"tablePath":string
              ,"columnId":string
               // direction is either: "asc", "desc"
              ,"direction":string
             }
             ,...]
         ,"filters":[
            {"terms":[
                {"tablePath":string
                 ,"columnId":string
                 ,"operator":string
                 ,"values":[...]}
                 ,...]
                ,"source":string}
            ,...]
        },...]
    ,"table":{
        "id":string      
        ,"displayName":string
        ,"description":string
        ,"path":string    // The table's resource path
        ,"columns":[{
            "id":string
            ,"displayName":string
            ,"description":string
            // paramType is either: "String", "Boolean", "Long", "Integer",
            // "Float", "Double", "Time", "Timestamp", or "Date"
            ,"paramType":string
            // true if the <column> has a child <label_value_list>
            ,"labelValueList":boolean
            ,"export":boolean
        }]
        ,"preFilters":[{
            "columnId":string
            ,"operator":string
            ,"values":[string]
        }]
        ,"relationships":[{
            "join":string
            ,"cardinality":string
            ,"table":{table object}
        }]
    }
}

Forbidden

Status Code: 403

Responses which do not pass an <access_control_voter> associated with the <report> or parent <catalog> return a 403 response.

Internal Server Error

Status Code: 500

Responses with an internal error have this structure:

{
 // messages: array of message Strings.
 "messages":[
     ...
 ]
}