DataMart
The ITM Platform DataMart is a read-optimized copy of your account data, designed specifically for analytical queries. While the standard API is built for everyday operations like creating and updating records, the DataMart is built for a different purpose: querying and analyzing data across your entire portfolio.
The full technical documentation is available at the DataMart GraphQL Documentation on the ITM Platform Developers site.
What can you do with the DataMart?
The DataMart gives you direct access to query your portfolio data, including:
- Projects and services with all their properties and status information
- Tasks and their scheduling, progress, and assignments
- Budgets and purchases for financial analysis
- Revenues and financial tracking
- Risks and issues across your portfolio
This makes the DataMart ideal for scenarios such as:
- Building custom dashboards in external tools
- Creating automated reports tailored to your organization
- Feeding project data into your data warehouse or BI platform
- Running cross-project analytics that go beyond built-in reports
How does it work?
The DataMart uses GraphQL, a query language that lets you request exactly the data you need in a single call. Instead of making multiple API requests to gather related information, you can write a single query that retrieves, for example, all projects with their tasks, budgets, and risks at once.
There are three types of queries available:
- Single component query: Retrieve a specific project or service by its ID
- Component list query: Retrieve multiple projects or services, with support for filtering, sorting, and pagination
- Aggregation query: Run analytical operations like grouping, counting, and summing across your data — ideal for building dashboards and summary reports
The DataMart also supports MongoDB-style filtering, so you can build queries with conditions like "all projects starting after a given date" or "projects where the budget exceeds a certain amount".
Who can access the DataMart?
Access to the DataMart depends on the user's role in ITM Platform:
| Role | Access level |
|---|---|
| Company Administrator | Full access to all data |
| Full User | Full access to all data |
| Project Manager | Access limited to their managed projects and services |
| Team Member | No access |
| Project Guest | No access |
Authentication
To connect to the DataMart, you need two pieces of information:
- Your account identifier (the tenant name from your ITM Platform URL)
- An authentication token, which you can obtain from the login API or generate as an API Key from your profile settings
If you are already using the ITM Platform API or Power BI templates, you may already have these credentials available.
Query limits
To ensure optimal performance for all users, the DataMart enforces a few constraints:
- A maximum of 200 items per query (1,000 for aggregation queries)
- A 5-second timeout per query
- A 1 MB maximum request size
- Aggregation queries must include a $limit stage
These limits are generous for most reporting and integration scenarios. If you need to retrieve large datasets, you can use pagination to iterate through the results.
Getting started
The full technical documentation, including query syntax, filtering operators, field references, and example queries, is available at the ITM Platform Developers site:
DataMart GraphQL Documentation
You will find everything you need to start building queries, from authentication details to working examples you can adapt to your use case.
When to use the DataMart vs. other reporting tools
ITM Platform offers several ways to analyze and visualize your data. Here is how the DataMart compares:
| Tool | Best for |
|---|---|
| Reports and lists | Quick, built-in views of project data |
| Customizable dashboards | Visual KPIs and charts within ITM Platform |
| Power BI templates | Pre-built dashboards using Power BI |
| AI-generated reports | Automated narrative summaries of project status |
| DataMart | Custom queries, external integrations, and advanced analytics |
The DataMart is the right choice when you need full control over the data you retrieve and want to integrate it with external systems, build custom reports, or perform analysis that goes beyond what the built-in tools offer.