Reports API

Use the Reports API to run a report for your EASE organization and return the data in JSON format. You can run any of the reports that you are able to run from the EASE Portal:

  • App Usage
  • Device Details
  • Direct Install Activity
  • Download Activity
  • Download Inventory
  • Installed Applications
  • Inspection Reports
  • Location Services
  • Login Activity
  • Most Popular Apps
  • Password Change Activity
  • Signing Activity
  • User Details
  • User by Groups
  • VPP Summary

For a description of each of these reports, see Running Reports.

To limit the data returned, you can filter on the value of one or more columns. You can also specify a start and end date to return data within a certain date range only.

Resources

GET /v1/reports/(report_name)/

Return Report in JSON Format

Requires administrator privileges. Authenticate as an EASE administrator.

Run a specified report for the authenticated user’s organization, and return the report data in JSON format. To limit the data returned, you can filter on the value of one or more columns. Which columns you can filter on varies for each report; see the table below. You can also specify a start and end date to return data within a certain date range only.

URLs

Environment URL
North America https://na01ws.apperian.com/v1/reports/<report_name>
Europe https://eu01ws.apperian.eu/v1/reports/<report_name>

URL Parameters

report_name

(Required) Name of the EASE report. Enter the name exactly as listed below:

  • app_usage
  • device_details
  • direct_install_activity
  • download_activity
  • download_inventory
  • installed_applications
  • inspection_reports
  • location_services
  • login_activity
  • most_popular_apps
  • password_change_activity
  • signing_activity
  • user_details
  • user_by_groups
  • vpp_summary

Note

When including more than one of the following parameters in a request, precede the first parameter with ? and subsequent parameters with &.

start_date
(Optional) Start date for the report. DATA TYPE: date in yyyy-mm-dd format. For example: 2016-01-01
end_date
(Optional) End date for the report. DATA TYPE: datetime in yyyy-mm-dd format. For example: 2016-03-31
filter-column=value

(Optional) Filter the report on the value of a specific column.

Where column specifies the name of the column and value specifies the value on which to filter data. See the table below for a list of the filterable columns for each report. Note that value is case-sensitive.

For example, the following filter return rows of data in the User Details report only where the user ID is equal to jsmith@example.com.

filter-user_id=jsmith@example.com

You can specify multiple filter parameters in a request to filter on multiple columns. For example:

filter-user_id=jsmith@example.com&filter-app_name=Actions

Report Filterable Columns
app_usage
user_id
device_id
app_id
device_details
user_id
device_id
direct_install_activity
app_name
application_id
download_activity
user_id
email
first_name
last_name
device_id
app_name
download_inventory
user_id
email
first_name
last_name
device_id
app_name
installed_applications
app_id
user_id
device_id
inspection_reports
application_name
report_provider
location_services
user_id
device_id
app_id
login_activity
user_id
device_id
application_id
most_popular_apps
application_name
application_id
password_change_activity
user_id
signing_activity
app_id (where the value is the application’s bundle ID or package ID)
user (where the value is the user’s user ID)
user_details
user_id
email
user_by_groups
group_name
user_id
vpp_summary
application (where the value is the name of the application)
redemption_email

Note

If column values include any special characters, they need to be URL encoded. For example, change jsmith@example.com to jsmith%40example.com. For an ASCII encoding reference, see HTML URL Encoding Reference.

Header Parameter

X-TOKEN
(Required) Session token returned by POST /users/authenticate.

Data Parameters

None

Example with Date Range Only

Request

The following request returns a Download Activity report for a specific date range. When including multiple URL parameters in a curl command, be sure to surround the URL with quotes.

curl -X GET "https://na01ws.apperian.com/v1/reports/download_activity?start_date=2016-01-01&end_date=2016-03-31"
     --header "X-TOKEN: eTg8ktZXRqKIBJTHunwP6A"

Response

{
  "report": {
      "entries": [
          {
              "first_name": "Rick"
              "last_name": "Sanchez"
              "user_id": "rsan"
              "app_name": "App Catalog"
              "version": "3"
              "form_factor": 1
              "date": "2016-05-16T09:02:33.763724"
              "application_id": "com.apperian.appcatalog"
              "download_type": 1
              "OS": "iPhone OS 9.3.1"
              "email": "rsanchex@example.com"
              "device_id": "FFFFFFFF7EE7BE22D71547FF879C7C52D122A429"
          }
      ],
      "report_name": "download activity"
  }
}

Example with Column Filter Only

Request

The following request returns a Device Details report for a user with an ID of feinstein.

curl -X GET https://na01ws.apperian.com/v1/reports/device_details?filter-user_id=feinstein --header "X-TOKEN: kEqMb_-2RlG6KmGaK-CZ_w"

Response

{
  "report": {
      "entries": [
          {
               "user_id": "feinstein",
               "name": "wingray",
               "MDM": 0,
               "disabled_by": null,
               "kiosk_application": null,
               "jailbroken": 0,
               "device_status": "9999-12-31T23:59:59.999999",
               "MFR": "Motorola",
               "supervised": -1,
               "form_factor": 2,
               "model": "Xoom",
               "disabled_on": "9999-12-31T23:59:59.999999",
               "OS": "Android 4.1.2",
               "device_id": "40:fc:89:7c:46:50"
           },
           {
               "user_id": "feinstein",
               "name": "iPad NMP",
               "MDM": 0,
               "disabled_by": null,
               "kiosk_application": null,
               "jailbroken": 0,
               "device_status": "9999-12-31T23:59:59.999999",
               "MFR": "Apple, Inc.",
               "supervised": -1,
               "form_factor": 2,
               "model": "iPad1,1",
               "disabled_on": "9999-12-31T23:59:59.999999",
               "OS": "iPhone OS 5.1.1",
               "device_id": "e26d1fef71eb899122f61bdd9b718a5957cfe026"
            }
         ],
     "report_name": "Device Details"
  }
}

Example with Multiple Column Filters and a Date Range

Request

The following request returns a Download Activity report, within a specific date range, for the Actions app downloaded by a user with an ID of feinstein. When including multiple URL parameters in a curl command, be sure to surround the URL with quotes.

curl -X GET "https://na01ws.apperian.com/v1/reports/download_activity?filter-app_name=Actions&filter-user_id=feinstein&start_date=2016-08-01&end_date=2016-11-30" --header "X-TOKEN: A8Bc1hEaQxGu7bpwIVsEhw"

Response

{
   "report": {
      "entries": [
          {
               "first_name": "Frank",
               "last_name": "Einstein",
               "application_id": "com.apperian.demo.actions",
               "app_name": "Actions",
               "version": "1.0",
               "form_factor": 1,
               "date": "2016-10-24T09:44:42.193655",
               "user_id": "feinstein",
               "download_type": 1,
               "OS": "Android 4.4.2",
               "email": "nperrault@apperian.com",
               "device_id": "20:02:AF:C4:C8:67"
         }
       ],
     "report_name": "Download Activity"
   }
}