---
title: "View Data Protection Violations Report"
method: POST
path: "/msp/reporting/v2/reports/mspservicemonitoringDataProtectionViolationsReport"
tags: ["Service Monitoring Reports"]
---

# View Data Protection Violations Report

`POST /msp/reporting/v2/reports/mspservicemonitoringDataProtectionViolationsReport`

Returns data protection rule violation details for MSP customers whose workloads do not meet configured rule thresholds.

## Headers

- `Authorization` string, required

## Request body

- GetMSPServiceMonitoringDataProtectionViolationsReportRequest — Specify the filter criteria and parameters required to generate the MSP Service Monitoring Data Protection Violations report.
  - `pageToken` string — The token used to retrieve the next page of results. Pass the nextPageToken value returned from the previous response. For the initial request, leave this field empty.
  - `filters` FiltersTypeMSPServiceMonitoringDataProtectionViolationsReport
    - `pageSize` integer — Specify the maximum number of records to return in a single response. The default is 100 records, and the maximum limit is 500 records. \n\nNote: The pageSize value set in the initial request persists across all subsequent paginated calls using the pageToken, even if a different pageSize is supplied later.
    - `filterBy` FilterAttributeForMSPServiceMonitoringDataProtectionViolationsReport[] — Filters if needs to be applied.
      - `fieldName` 'customerName' | 'accountName' | 'servicePlanName' | 'productName' | 'ruleName' | 'ruleType' | 'durationDescription' | 'workload' | 'resourceName' | 'generatedOn' | 'state' | 'updatedOn' — 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

- GetMSPServiceMonitoringDataProtectionViolationsReportResponse
  - `data` MSPServiceMonitoringDataProtectionViolationsItem[] — Violation rows for data protection rules across customers.
    - `customerName` string — Customer display name.
    - `accountName` string — Account name.
    - `servicePlanName` string — Service plan name.
    - `servicePlanId` integer — Service plan identifier.
    - `productName` string — Product name.
    - `ruleName` string — Data protection rule name.
    - `ruleType` string — Type of rule (for example Recovery Point Objective, Backup Success Rate).
    - `durationDescription` string — Duration window description for the rule evaluation.
    - `resourcesObserved` string — Count or description of resources observed for the violation.
    - `workload` string — Workload type or code.
    - `resourceName` string — Name of the protected resource.
    - `lastSuccessfulBackup` string, date-time, nullable — Timestamp of the last successful backup, if any.
    - `threshold` string — Configured threshold for the rule.
    - `observedValue` string — Observed metric value compared to the threshold.
    - `generatedOn` string, date-time — When the violation record was generated.
    - `state` string — Violation state (for example Active).
    - `updatedOn` string, date-time — When the record was last updated.
    - `lastSync` string — Last sync description or timestamp for the resource.
    - `customerGlobalId` string, uuid — Global unique identifier of the customer.
    - `alertId` integer — Associated alert identifier.
    - `dcpUniqueKey` string — Unique key for the row in the data protection context.
  - `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` FilterAttributeForMSPServiceMonitoringDataProtectionViolationsReport[] — Filters applied in the request.
      - `fieldName` 'customerName' | 'accountName' | 'servicePlanName' | 'productName' | 'ruleName' | 'ruleType' | 'durationDescription' | 'workload' | 'resourceName' | 'generatedOn' | 'state' | 'updatedOn' — 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-time — Timestamp of the last data sync used for the report.
  - `nextPageToken` string, nullable — The token to access the next page of results. This parameter will be empty for the last page of results.

## 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.dev/druva/apis/authentication.md) · [All operations](https://skmtc.dev/druva/apis/authentication/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/druva/authentication/revisions/2af2bf148b25/schema)
