Schedule custom reports for your driver failure details

Use these asynchronous methods to access reporting data for your Win10/ Win 8.x driver errors and OEM hardware errors. You can define reporting templates based on your needs, set a schedule and you will have data delivered to you at regular intervals.




You must complete the requirements outlined in Enable secure data sharing.

To use this method, you need to first do the following:

  • If you have not done so already, complete all the prerequisites for the Microsoft Store analytics API, including obtaining an Azure AD access token to use in the request header for this method. Note that after you obtain an access token, you have 60 minutes to use it before it expires. After the token expires, you can obtain a new one.

For more information, see Access analytics data using Microsoft Store services


As a reminder, the Windows Analytics Agreement states: “You must not store Personal Information for longer than thirty (30) days. Following such 30-day period, you will immediately destroy the Personal Information.”

Workflow to schedule custom reports for driver failure

The following diagram explains the API call pattern to create a new report template, schedule the custom report and retrieve failure data.

Image showing the workflow between—top to bottom—Creating a custom report template, scheduling a custom report template, getting report data, and cab download.

  1. The Client Application defines the report schema in JSON format and call the Create Report Template API.

  2. On success, the Create New Report Template API returns the TemplateId.

  3. The client application calls the Schedule Custom Report API using the TemplateId along with the report start date, Repeat Interval and Recurrence.

  4. The client application could also send a callback URL to be notified once data for the scheduled report is ready.

  5. On Success, the Schedule Custom Report API returns the ReportID.

  6. The callback URL gets a notification once the data is ready for download on a regular basis.

  7. The client application then uses the Get Report Data API using the ReportID to query the status of the report with the Report ID and date range.

  8. On success, the report download link is returned and the application can initiate download of the data.

  9. The report data contains the CabIdHash that can be used as input to the Cab Download API, to download the cab files.

  10. The Cab Download API returns the cab download link that can be used to download the cab files.

See also