---
title: "Get Itemized Tenant Consumption Report v2.0"
method: POST
path: "/msp/reporting/v2/reports/consumptionItemized"
tags: ["Reports"]
---

# Get Itemized Tenant Consumption Report v2.0

`POST /msp/reporting/v2/reports/consumptionItemized`

⚠ **Warning**: This API version will be deprecated on August 28, 2026. 
Upgrade to v3 API now to experience enhanced functionality and performance. 
Returns a detailed daily report on consumption units consumed by MSP tenants.

## Headers

- `Authorization` string, required

## Request body

- GetTenantItemizedReportV2Request — Specify the details for getting itemized report details.
  - `pageToken` string — The token to access the next page of results. Use the token value received in the previous response's parameter 'nextPageToken'. - Keep this field blank in the first request.
  - `filters` FilterType
    - `pageSize` integer — Specify the maximum number of records that should returned in a response. The default page size is 100 records. The maximum limit is 500 records. :fa-info-circle: If you specify the pageSize, value from the first API call will be used for the subsequent calls, even if you change the pageSize later on.
    - `filterBy` FilterAttribute[] — Filters if needs to be applied.
      - `fieldName` 'customerGlobalId' | 'accountName' | 'tenantId' | 'productId' | 'productModuleId' | 'date' | 'editionName' | 'servicePlanId' | 'usageDescription' — Specify the name of the filter attribute.
      - `value` string — Specify value of column that needs to be filtered. For CONTAINS operator - this can be array of either int or string. For other operators, depending on the datatype of fieldName attribute this can be either int / string / RFC3339 date format. This is case sensitive.
      - `operator` 'EQUAL' | 'NOTEQUAL' | 'CONTAINS' | 'LT' | 'GT' | 'LTE' | 'GTE' — Operator for specified filters. All string comparisons will be case sensitive. Supported filters are: - EQUAL: This will return the data with exact match for given field name. - NOTEQUAL: This will return the data not matching with given values. - CONTAINS: Value for this operator will be an array. This will return data which matches with any value mentioned in array. - LT: This is the 'LESS THAN' comparison operator. - LTE: This is the 'LESS THAN OR EQUAL TO' comparison operator. - GT: This is the 'GREATER THAN' comparison operator. - GTE: This is the 'GREATER THAN OR EQUAL TO' comparison operator. For a particular field name an operator can be used once at max. For columns having string data type 'LT', 'LTE', 'GT', 'GTE' operators will work lexicographically.

## Response `200`

Ok

- GetTenantItemizedReportV2Response
  - `data` TenantDataItemizedV2[] — The list contains itemized details about consumption units usage.
    - `customerGlobalId` string — Unique ID of the customer.
    - `mspGlobalId` string — Unique ID of the MSP.
    - `accountName` string — The name of the customer.
    - `tenantId` string — Unique id of the tenant. This is the 'id' field defined in GET Tenant API.
    - `productId` 1 | 2 — The ID of the product. 1 - Enterprise Workloads, 2 - SaaS Apps and Endpoints. This field will be updated in the future for addition of new products as and when applicable. For valid products and their Product Features, see - https://developer.druva.com/docs/msp-product-and-attribute-values
    - `productName` 'Enterprise Workloads' | 'SaaS Apps and Endpoints' — The name of the product. This field will be updated in the future for addition of new products as and when applicable.
    - `productModuleId` 1 | 2 | 3 | 4 — The ID of the product module. This field will be updated in the future for addition of new product modules as and when applicable. 1 - Enterprise Workloads, 2 - Microsoft 365, 3 - Endpoints, 4 - Google Workspace
    - `productModuleName` 'Enterprise Workloads' | 'Microsoft 365' | 'Endpoints' | 'Google Workspace' — The name of the product module. This field will be updated in the future for addition of new product modules as and when applicable.
    - `editionName` 'Business' | 'Enterprise' | 'Elite' — The name of the edition.
    - `tenantType` 'Commercial' | 'Evaluation' — Type of the tenant. Right now stats for only commercial customers are reported.
    - `date` string, date — Date indicates the date of usage. Date is specified in 'RFC3339' format.
    - `servicePlanId` integer — The unique ID of the MSP service plan assigned to the tenant. If updateTenant operation is performed multiple times in a day to change the service plan associated with that tenant, the last updated value of the day will be returned for that day. Use Get service plan API to get details about a service plan.
    - `servicePlanName` string — The name of the MSP service plan assigned to the tenant for the date indicated by column 'date'. If updateTenant operation is performed multiple times in a day to change the service plan associated with that tenant, the last updated value of the day will be returned for that day.
    - `usageDescription` string — Usage description indicates the type of consumption e.g. 'Active Users', 'Sensitive Data Governance', 'Accelerated Ransomware Recovery' etc. New values may be added for this field when new feature support is added.
    - `usageAmount` number, double — Usage amount indicates usage for the usage type mentioned in 'usageDescription' field.
    - `usageUnit` 'Users' | 'Bytes' — Usage unit defines unit of usage. It will be 'Bytes' for productId 1 and 'Users' for productId 2.
    - `cuConsumed` number, double — The amount of consumption units consumed by tenant on given day.
  - `nextPageToken` string — The token to access the next page of results. This parameter will be empty for the last page of results.
  - `filters` object — All filters passed in request are returned in response
    - `pageSize` integer — Maximum number of records that can be returned in the response.
    - `filterBy` FilterAttribute[] — Filters applied in the request.
      - `fieldName` 'customerGlobalId' | 'accountName' | 'tenantId' | 'productId' | 'productModuleId' | 'date' | 'editionName' | 'servicePlanId' | 'usageDescription' — Specify the name of the filter attribute.
      - `value` string — Specify value of column that needs to be filtered. For CONTAINS operator - this can be array of either int or string. For other operators, depending on the datatype of fieldName attribute this can be either int / string / RFC3339 date format. This is case sensitive.
      - `operator` 'EQUAL' | 'NOTEQUAL' | 'CONTAINS' | 'LT' | 'GT' | 'LTE' | 'GTE' — Operator for specified filters. All string comparisons will be case sensitive. Supported filters are: - EQUAL: This will return the data with exact match for given field name. - NOTEQUAL: This will return the data not matching with given values. - CONTAINS: Value for this operator will be an array. This will return data which matches with any value mentioned in array. - LT: This is the 'LESS THAN' comparison operator. - LTE: This is the 'LESS THAN OR EQUAL TO' comparison operator. - GT: This is the 'GREATER THAN' comparison operator. - GTE: This is the 'GREATER THAN OR EQUAL TO' comparison operator. For a particular field name an operator can be used once at max. For columns having string data type 'LT', 'LTE', 'GT', 'GTE' operators will work lexicographically.
  - `lastSyncTimestamp` string, date — Last time sync up timestamp date. Sync up time does not guarantee that consumption stats till this time are included in reported stats. Reported consumption stats may be stale upto 48 hours.

## Other responses

- `400` — Bad Request
- `401` — The request did not include an authentication token or an expired authentication token was supplied.
- `500` — The request was not processed due to an internal error.

---

[API](https://skmtc.net/druva/apis/authentication.md) · [All operations](https://skmtc.net/druva/apis/authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/druva/authentication/versions/2af2bf148b25/schema)
