Endpoint Reports (for PowerBI)

Modified on Thu, 26 Feb at 5:40 PM

TABLE OF CONTENTS



Endpoint Reports Overview

Endpoint Reports allow third-party tools such as Power BI, PowerShell, or Postman to retrieve data directly from ManagementStudio via a REST API endpoint.


Security

Two levels of security are required for Endpoint Reports:

  1. Enable Endpoint Report access at:
    • Administration → Project Settings → Project Policies → Report Endpoints
    • There is a dedicated rule for each Endpoint Report type.
  2. Assign users to a role with permission to run the desired Endpoint Report.
    • There is a distinct permission for each report type.


When accessing an Endpoint Report, include either a username/password or an authentication token in the headers.



Testing Reports

Use Postman to build and test report endpoints before connecting to tools like Power BI. Examples in this article reference Postman.


Reports

Datamining Report

Datamining Reports act as data sources for Endpoint Reports and are retrieved via the following URL structure:

https://{ManagementStudioServer}/{projectId}/p/report/Datamining/dmrid/{headers}/{format}
  • ManagementStudioServer: ManagementStudio server host name
  • ProjectId: Project ID to retrieve data from
  • DmrId: Reserved for future use, use 0
  • Header: Column header format:
    • PrefixedName: e.g. Applications_AppVendor
    • InternalName: e.g. AppVendor
    • DisplayName: e.g. Vendor
  • format: Output format (json, csv, or html)


Example:

https://managementstudio.local/1/p/report/Datamining/0/PrefixedName/json

Supported Header Groups

  • DataSource Headers
  • Standard Datamining Tier Headers
  • Readiness Tier Headers
  • Auth Headers

Note:
When using the REST API Connector to gather data from another ManagementStudio project within the same instance, use the importer-auth-token keyword for the authentication token. This ensures token validity and does not work across different instances (e.g., Dev to Prod); in those cases, use an API Token.



When adding tiers, name each tier sequentially (e.g., Tier1, Tier2), with Tier1 as the primary tier.



Example: 2-Tier DMR with Applications and Users

Datamining-Tier1-Module = Applications
Datamining-Tier1-Fields = AppId, AppVendor, AppName, AppVersion

Datamining-Tier2-Module = UserMigrations
Datamining-Tier2-Fields = SamAccount, Domain, Email

Datamining Report Example



Projection Report

Retrieve Projection Reports with the following URL structure:


https://{ManagementStudioServer}/{projectId}/p/report/Projection/{module}/0/{format}
https://your.managementstudio/1/p/report/Projection/Applications/0/json


  • projectId: Project ID to retrieve data from
  • module: Module to report on (e.g., UserMigrations)
  • report: Reserved for future use, use 0
  • format: Output format (json, csv, or html)


Supported Header Groups

  • DataSource Headers
  • Readiness Tier Headers
  • Auth Headers


Report Headers

HeaderTypeNote
Report-ReadyPerWeekintNumber of items that can be made ready per week
Report-LookAheadWeeksintNumber of weeks to look into the future
WhatIf-ModulestringReadiness calculation module, e.g., App Readiness for Users



Example:

Projection Report Example


Blueprint Readiness Report

Retrieve Blueprint Readiness Reports using:

http://{ManagementStudioServer}/{projectId}/p/report/BlueprintReadiness/{module}/{report}/{format}
http://your.managementstudio/1/p/report/BlueprintReadiness/UserMigrations/default/json
  • projectId: Project ID to retrieve data from
  • module: Module to report on (e.g., UserMigrations)
  • report: Report scope:
    • default: Only on selected items
    • OneLevel: Expands Blueprint Folders one level
    • AllLevels: Expands all Blueprint Folders
  • format: Output format (json, csv, or html)


Supported Header Groups

  • Readiness Tier Headers
  • Auth Headers


Report Headers

HeaderTypeNote
Report-BlueprintIdslist intList of Blueprints to include in the report
Report-BlueprintFolderIdslist intList of Blueprint Folders to include in the report
Report-RemoveColumnslist stringList of columns to remove from the result
Report-WhatIfSideBySideboolCompare customised What-If tier vs default What-If tier


Example


Blueprint Readiness Report Example


History Report

Retrieve History Reports using:

https://{ManagementStudioServer}/{projectId}/p/report/history/{module}/{report}/{format}


https://your.managementstudio/1/p/report/history/applications/details/json
  • projectId: Project ID to retrieve data from
  • module: Module to report on (e.g., UserMigrations)
  • report: Report type:
    • details
    • customform
    • surveys
    • testsignedoffs
    • links
  • format: Output format (json, csv, or html)


Supported Header Groups

  • DataSource Headers
  • Auth Headers


Report Headers

HeaderTypeNote
Report-StartDateDate/NumDate 'yyyy-mm-dd hh:mm' or negative number of days (e.g. -90)
Report-EndDateDate/NumDate 'yyyy-mm-dd hh:mm' or negative number of days
Report-VerboseboolAdd verbose data to the history report
Report-IncludeTitleboolInclude item title (App, User, Device, etc.)
Report-FilterOnPropertylist stringPrefilter results by specified property names
Report-GroupOnPropertylist stringGroup results by specified property names
Report-RemoveColumnslist stringRemove columns from the result set


Example:


History Report Example


Header Groups

DataSource Headers

HeaderTypeNote
DataSource-AllboolInclude all items in the report
DataSource-Idslist intList of item IDs (Apps, Users, etc.) to include
DataSource-ProcessIdslist intItems in these Processes in the report
DataSource-SubProcessIdslist intItems in these Sub Processes in the report
DataSource-ExcludeProcessesboolExclude items matching process IDs/subprocess IDs
DataSource-ProcessStatuslist stringInclude items with these Process statuses (Inactive, InProgress, OnHold, Ready, OutOfScope)
DataSource-ExcludeProcessStatusboolExclude items matching the above process statuses
DataSource-AppStatuslist stringInclude Apps with these statuses (Accepted, Pending, Rationalised, Rejected)
DataSource-ExcludeAppStatusboolExclude items matching the above app statuses
DataSource-CrossApplyAppStatusboolSelect items common to another filter, e.g. Apps in Pending and IT Blueprint
DataSource-BlueprintIdslist intInclude items in these Blueprints
DataSource-BlueprintFolderIdslist intInclude items in these Blueprint Folders
DataSource-ExcludeBlueprintsboolExclude items matching the above two lists
DataSource-DeployUnitIdslist intInclude items in these Deployment Units
DataSource-ExcludeDeployUnitsboolExclude items matching the above deployment units
DataSource-IncludeArchivedboolInclude archived items
DataSource-IncludeDeletedboolInclude deleted items
DataSource-FilterExpressionstringFilter expression for the report
DataSource-SortExpressionstringSort expression for the report



Standard Datamining Tier Headers

HeaderTypeNote
Datamining-TierX-ModulestringModule type for the tier (Applications, UserMigrations, Devices, etc.)
Datamining-TierX-Fieldslist stringFields to include for the tier
Datamining-TierX-HistoryFieldslist stringFields with last modified value, date, user
Datamining-TierX-CustomFieldIdslist intCustom field IDs to include for the tier
Datamining-TierX-HistoryCustomFieldIdslist intCustom field IDs with last modified data
Datamining-TierX-Optionslist stringOptions to simulate, e.g., "Add Last 5 Notes"



Blueprint Columns

HeaderTypeNote
Blueprint-X-ModulestringModule type (Applications, UserMigrations, Devices, etc.)
Blueprint-X-ColumnNamelist stringUnique name for each Blueprint column
Blueprint-X-AllOnOneLineboolTrue: Multiple BPs in one cell; False: One per line
Blueprint-X-TrimToFolderBlueprintboolLimit folders in path if BP is deep within subfolders
Blueprint-X-TrimToFolderDepthlist intNumber of folders to show in the path
Blueprint-X-BlueprintIdslist intBlueprint IDs to include
Blueprint-X-FolderIdslist intFolder IDs to include
Blueprint-X-BlueprintPathslist stringBlueprint paths to include
Blueprint-X-FolderPathslist stringFolder paths to include



Readiness/What-If Tier Headers

For What-If in Projection/Blueprint Readiness Reports, use the WhatIf- prefix. For Datamining Reports, use Datamining-ReadyX where X is the tier number.

HeaderTypeNote
{prefix}-ModulestringModule type (Applications, UserMigrations, Devices, etc.)
{prefix}-IncludePendingAppsboolInclude Pending Apps in readiness calculation
{prefix}-ExcludeCoreAppsboolExclude Core Apps from readiness calculation
{prefix}-IncludeDependenciesboolInclude dependencies in readiness calculation
{prefix}-IncludeArchivedDeletedboolInclude archived/deleted items
{prefix}-ReadyIdslist intIDs to consider 'Ready'
{prefix}-OutOfScopeIdslist intIDs to consider 'Out of scope'
{prefix}-Custom-ReadyProcessIdslist intProcesses to consider 'Ready'
{prefix}-Custom-ReadySubProcessIdslist intSubprocesses to consider 'Ready'
{prefix}-Custom-OutOfScopeProcessIdslist intProcesses to consider 'Out of scope'
{prefix}-Custom-OutOfScopeSubProcessIdslist intSubprocesses to consider 'Out of scope'
{prefix}-ExcludedLinkIdslist intLink IDs to exclude from readiness calculation



Auth Headers

HeaderTypeNote
Auth-UsernamestringUsername/password combo for ManagementStudio
Auth-PasswordstringNote: Single Sign-On (SSO) is not supported
Auth-TokenstringAuth token generated via Administration → User Accounts → Create Auth Token
For REST API importer in ManagementStudio, use the value [importer-auth-token]





Further Support

If you require further support, please visit ManagementStudio's Service Desk to search the knowledge base or create a new support ticket.


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article