For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cloud And AI Cost Anomalies V2

Get details about any anomalies in your cloud and AI costs

Get anomalies list

post

Get anomalies list

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

Body
showWhitelistedAnomaliesbooleanOptional
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
post/anomaly/v2/list
POST /gateway/ccm/api/anomaly/v2/list?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Content-Type: application/json
Accept: */*
Content-Length: 1912

{
  "anomalyFilterPropertiesDTO": {
    "k8sClusterNames": [
      "text"
    ],
    "k8sNamespaces": [
      "text"
    ],
    "k8sWorkloadNames": [
      "text"
    ],
    "k8sServiceNames": [
      "text"
    ],
    "gcpProjects": [
      "text"
    ],
    "gcpProducts": [
      "text"
    ],
    "gcpSKUDescriptions": [
      "text"
    ],
    "awsAccounts": [
      "text"
    ],
    "awsServices": [
      "text"
    ],
    "awsUsageTypes": [
      "text"
    ],
    "azureSubscriptionGuids": [
      "text"
    ],
    "azureResourceGroups": [
      "text"
    ],
    "azureMeterCategories": [
      "text"
    ],
    "openaiProjectIds": [
      "text"
    ],
    "openaiModels": [
      "text"
    ],
    "openaiUsageTypes": [
      "text"
    ],
    "anthropicProjectIds": [
      "text"
    ],
    "anthropicModels": [
      "text"
    ],
    "anthropicUsageTypes": [
      "text"
    ],
    "minActualAmount": 1,
    "minAnomalousSpend": 1,
    "timeFilters": [
      {
        "operator": "NOT_IN",
        "timestamp": 1
      }
    ],
    "orderBy": [
      {
        "field": "PERSPECTIVE_ID",
        "order": "ASCENDING"
      }
    ],
    "groupBy": [
      {
        "groupByField": "PERSPECTIVE_ID"
      }
    ],
    "aggregations": [
      {
        "operationType": "SUM",
        "field": "PERSPECTIVE_ID"
      }
    ],
    "searchText": [
      "text"
    ],
    "offset": 1,
    "limit": 1,
    "status": [
      "ACTIVE"
    ],
    "anomalyIds": [
      "text"
    ],
    "costCategoryDTOs": [
      {
        "costCategory": "text",
        "costBucket": "text"
      }
    ],
    "costCategories": [
      "text"
    ],
    "perspectiveIds": [
      "text"
    ],
    "anomalyView": "RESOURCE",
    "unitMetricNames": [
      "text"
    ],
    "tags": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "filterType": "Anomaly"
  },
  "perspectiveQueryDTO": {
    "filters": [
      {
        "idFilter": {
          "field": {
            "fieldId": "text",
            "fieldName": "text",
            "identifier": "CLUSTER",
            "identifierName": "text"
          },
          "operator": "NOT_IN",
          "values": [
            "text"
          ]
        },
        "timeFilter": {
          "field": {
            "fieldId": "text",
            "fieldName": "text",
            "identifier": "CLUSTER",
            "identifierName": "text"
          },
          "operator": "AFTER",
          "value": 1
        },
        "timeRangeTypeFilter": "LAST_MONTH",
        "viewMetadataFilter": {
          "viewId": "text",
          "isPreview": true,
          "preview": true
        },
        "ruleFilter": {
          "conditions": [
            {
              "field": {
                "fieldId": "text",
                "fieldName": "text",
                "identifier": "CLUSTER",
                "identifierName": "text"
              },
              "operator": "NOT_IN",
              "values": [
                "text"
              ]
            }
          ]
        }
      }
    ],
    "groupBy": [
      {
        "entityGroupBy": {
          "fieldId": "text",
          "fieldName": "text",
          "identifier": "CLUSTER",
          "identifierName": "text"
        },
        "timeTruncGroupBy": {
          "resolution": "HOUR"
        }
      }
    ]
  },
  "showWhitelistedAnomalies": true
}
{
  "status": "SUCCESS",
  "code": "DEFAULT_ERROR_CODE",
  "message": "text",
  "correlationId": "text",
  "errors": [
    {
      "fieldId": "text",
      "error": "text"
    }
  ]
}

Get anomaly metrics

post

Get metrics for different types of anomalies

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

Body
showWhitelistedAnomaliesbooleanOptional
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
post/anomaly/v2/metrics
POST /gateway/ccm/api/anomaly/v2/metrics?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Content-Type: application/json
Accept: */*
Content-Length: 1912

{
  "anomalyFilterPropertiesDTO": {
    "k8sClusterNames": [
      "text"
    ],
    "k8sNamespaces": [
      "text"
    ],
    "k8sWorkloadNames": [
      "text"
    ],
    "k8sServiceNames": [
      "text"
    ],
    "gcpProjects": [
      "text"
    ],
    "gcpProducts": [
      "text"
    ],
    "gcpSKUDescriptions": [
      "text"
    ],
    "awsAccounts": [
      "text"
    ],
    "awsServices": [
      "text"
    ],
    "awsUsageTypes": [
      "text"
    ],
    "azureSubscriptionGuids": [
      "text"
    ],
    "azureResourceGroups": [
      "text"
    ],
    "azureMeterCategories": [
      "text"
    ],
    "openaiProjectIds": [
      "text"
    ],
    "openaiModels": [
      "text"
    ],
    "openaiUsageTypes": [
      "text"
    ],
    "anthropicProjectIds": [
      "text"
    ],
    "anthropicModels": [
      "text"
    ],
    "anthropicUsageTypes": [
      "text"
    ],
    "minActualAmount": 1,
    "minAnomalousSpend": 1,
    "timeFilters": [
      {
        "operator": "NOT_IN",
        "timestamp": 1
      }
    ],
    "orderBy": [
      {
        "field": "PERSPECTIVE_ID",
        "order": "ASCENDING"
      }
    ],
    "groupBy": [
      {
        "groupByField": "PERSPECTIVE_ID"
      }
    ],
    "aggregations": [
      {
        "operationType": "SUM",
        "field": "PERSPECTIVE_ID"
      }
    ],
    "searchText": [
      "text"
    ],
    "offset": 1,
    "limit": 1,
    "status": [
      "ACTIVE"
    ],
    "anomalyIds": [
      "text"
    ],
    "costCategoryDTOs": [
      {
        "costCategory": "text",
        "costBucket": "text"
      }
    ],
    "costCategories": [
      "text"
    ],
    "perspectiveIds": [
      "text"
    ],
    "anomalyView": "RESOURCE",
    "unitMetricNames": [
      "text"
    ],
    "tags": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "filterType": "Anomaly"
  },
  "perspectiveQueryDTO": {
    "filters": [
      {
        "idFilter": {
          "field": {
            "fieldId": "text",
            "fieldName": "text",
            "identifier": "CLUSTER",
            "identifierName": "text"
          },
          "operator": "NOT_IN",
          "values": [
            "text"
          ]
        },
        "timeFilter": {
          "field": {
            "fieldId": "text",
            "fieldName": "text",
            "identifier": "CLUSTER",
            "identifierName": "text"
          },
          "operator": "AFTER",
          "value": 1
        },
        "timeRangeTypeFilter": "LAST_MONTH",
        "viewMetadataFilter": {
          "viewId": "text",
          "isPreview": true,
          "preview": true
        },
        "ruleFilter": {
          "conditions": [
            {
              "field": {
                "fieldId": "text",
                "fieldName": "text",
                "identifier": "CLUSTER",
                "identifierName": "text"
              },
              "operator": "NOT_IN",
              "values": [
                "text"
              ]
            }
          ]
        }
      }
    ],
    "groupBy": [
      {
        "entityGroupBy": {
          "fieldId": "text",
          "fieldName": "text",
          "identifier": "CLUSTER",
          "identifierName": "text"
        },
        "timeTruncGroupBy": {
          "resolution": "HOUR"
        }
      }
    ]
  },
  "showWhitelistedAnomalies": true
}
{
  "status": "SUCCESS",
  "code": "DEFAULT_ERROR_CODE",
  "message": "text",
  "correlationId": "text",
  "errors": [
    {
      "fieldId": "text",
      "error": "text"
    }
  ]
}

Get anomaly metrics summary

post

Get summary of anomaly metrics

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

Body
showWhitelistedAnomaliesbooleanOptional
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
post/anomaly/v2/summary
POST /gateway/ccm/api/anomaly/v2/summary?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Content-Type: application/json
Accept: */*
Content-Length: 1912

{
  "anomalyFilterPropertiesDTO": {
    "k8sClusterNames": [
      "text"
    ],
    "k8sNamespaces": [
      "text"
    ],
    "k8sWorkloadNames": [
      "text"
    ],
    "k8sServiceNames": [
      "text"
    ],
    "gcpProjects": [
      "text"
    ],
    "gcpProducts": [
      "text"
    ],
    "gcpSKUDescriptions": [
      "text"
    ],
    "awsAccounts": [
      "text"
    ],
    "awsServices": [
      "text"
    ],
    "awsUsageTypes": [
      "text"
    ],
    "azureSubscriptionGuids": [
      "text"
    ],
    "azureResourceGroups": [
      "text"
    ],
    "azureMeterCategories": [
      "text"
    ],
    "openaiProjectIds": [
      "text"
    ],
    "openaiModels": [
      "text"
    ],
    "openaiUsageTypes": [
      "text"
    ],
    "anthropicProjectIds": [
      "text"
    ],
    "anthropicModels": [
      "text"
    ],
    "anthropicUsageTypes": [
      "text"
    ],
    "minActualAmount": 1,
    "minAnomalousSpend": 1,
    "timeFilters": [
      {
        "operator": "NOT_IN",
        "timestamp": 1
      }
    ],
    "orderBy": [
      {
        "field": "PERSPECTIVE_ID",
        "order": "ASCENDING"
      }
    ],
    "groupBy": [
      {
        "groupByField": "PERSPECTIVE_ID"
      }
    ],
    "aggregations": [
      {
        "operationType": "SUM",
        "field": "PERSPECTIVE_ID"
      }
    ],
    "searchText": [
      "text"
    ],
    "offset": 1,
    "limit": 1,
    "status": [
      "ACTIVE"
    ],
    "anomalyIds": [
      "text"
    ],
    "costCategoryDTOs": [
      {
        "costCategory": "text",
        "costBucket": "text"
      }
    ],
    "costCategories": [
      "text"
    ],
    "perspectiveIds": [
      "text"
    ],
    "anomalyView": "RESOURCE",
    "unitMetricNames": [
      "text"
    ],
    "tags": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "filterType": "Anomaly"
  },
  "perspectiveQueryDTO": {
    "filters": [
      {
        "idFilter": {
          "field": {
            "fieldId": "text",
            "fieldName": "text",
            "identifier": "CLUSTER",
            "identifierName": "text"
          },
          "operator": "NOT_IN",
          "values": [
            "text"
          ]
        },
        "timeFilter": {
          "field": {
            "fieldId": "text",
            "fieldName": "text",
            "identifier": "CLUSTER",
            "identifierName": "text"
          },
          "operator": "AFTER",
          "value": 1
        },
        "timeRangeTypeFilter": "LAST_MONTH",
        "viewMetadataFilter": {
          "viewId": "text",
          "isPreview": true,
          "preview": true
        },
        "ruleFilter": {
          "conditions": [
            {
              "field": {
                "fieldId": "text",
                "fieldName": "text",
                "identifier": "CLUSTER",
                "identifierName": "text"
              },
              "operator": "NOT_IN",
              "values": [
                "text"
              ]
            }
          ]
        }
      }
    ],
    "groupBy": [
      {
        "entityGroupBy": {
          "fieldId": "text",
          "fieldName": "text",
          "identifier": "CLUSTER",
          "identifierName": "text"
        },
        "timeTruncGroupBy": {
          "resolution": "HOUR"
        }
      }
    ]
  },
  "showWhitelistedAnomalies": true
}
{
  "status": "SUCCESS",
  "code": "DEFAULT_ERROR_CODE",
  "message": "text",
  "correlationId": "text",
  "errors": [
    {
      "fieldId": "text",
      "error": "text"
    }
  ]
}

Get anomaly metrics time-series

post

Get metrics for different types of anomalies per day

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

Body
showWhitelistedAnomaliesbooleanOptional
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
post/anomaly/v2/metrics/time-series
POST /gateway/ccm/api/anomaly/v2/metrics/time-series?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Content-Type: application/json
Accept: */*
Content-Length: 1912

{
  "anomalyFilterPropertiesDTO": {
    "k8sClusterNames": [
      "text"
    ],
    "k8sNamespaces": [
      "text"
    ],
    "k8sWorkloadNames": [
      "text"
    ],
    "k8sServiceNames": [
      "text"
    ],
    "gcpProjects": [
      "text"
    ],
    "gcpProducts": [
      "text"
    ],
    "gcpSKUDescriptions": [
      "text"
    ],
    "awsAccounts": [
      "text"
    ],
    "awsServices": [
      "text"
    ],
    "awsUsageTypes": [
      "text"
    ],
    "azureSubscriptionGuids": [
      "text"
    ],
    "azureResourceGroups": [
      "text"
    ],
    "azureMeterCategories": [
      "text"
    ],
    "openaiProjectIds": [
      "text"
    ],
    "openaiModels": [
      "text"
    ],
    "openaiUsageTypes": [
      "text"
    ],
    "anthropicProjectIds": [
      "text"
    ],
    "anthropicModels": [
      "text"
    ],
    "anthropicUsageTypes": [
      "text"
    ],
    "minActualAmount": 1,
    "minAnomalousSpend": 1,
    "timeFilters": [
      {
        "operator": "NOT_IN",
        "timestamp": 1
      }
    ],
    "orderBy": [
      {
        "field": "PERSPECTIVE_ID",
        "order": "ASCENDING"
      }
    ],
    "groupBy": [
      {
        "groupByField": "PERSPECTIVE_ID"
      }
    ],
    "aggregations": [
      {
        "operationType": "SUM",
        "field": "PERSPECTIVE_ID"
      }
    ],
    "searchText": [
      "text"
    ],
    "offset": 1,
    "limit": 1,
    "status": [
      "ACTIVE"
    ],
    "anomalyIds": [
      "text"
    ],
    "costCategoryDTOs": [
      {
        "costCategory": "text",
        "costBucket": "text"
      }
    ],
    "costCategories": [
      "text"
    ],
    "perspectiveIds": [
      "text"
    ],
    "anomalyView": "RESOURCE",
    "unitMetricNames": [
      "text"
    ],
    "tags": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "filterType": "Anomaly"
  },
  "perspectiveQueryDTO": {
    "filters": [
      {
        "idFilter": {
          "field": {
            "fieldId": "text",
            "fieldName": "text",
            "identifier": "CLUSTER",
            "identifierName": "text"
          },
          "operator": "NOT_IN",
          "values": [
            "text"
          ]
        },
        "timeFilter": {
          "field": {
            "fieldId": "text",
            "fieldName": "text",
            "identifier": "CLUSTER",
            "identifierName": "text"
          },
          "operator": "AFTER",
          "value": 1
        },
        "timeRangeTypeFilter": "LAST_MONTH",
        "viewMetadataFilter": {
          "viewId": "text",
          "isPreview": true,
          "preview": true
        },
        "ruleFilter": {
          "conditions": [
            {
              "field": {
                "fieldId": "text",
                "fieldName": "text",
                "identifier": "CLUSTER",
                "identifierName": "text"
              },
              "operator": "NOT_IN",
              "values": [
                "text"
              ]
            }
          ]
        }
      }
    ],
    "groupBy": [
      {
        "entityGroupBy": {
          "fieldId": "text",
          "fieldName": "text",
          "identifier": "CLUSTER",
          "identifierName": "text"
        },
        "timeTruncGroupBy": {
          "resolution": "HOUR"
        }
      }
    ]
  },
  "showWhitelistedAnomalies": true
}
{
  "status": "SUCCESS",
  "code": "DEFAULT_ERROR_CODE",
  "message": "text",
  "correlationId": "text",
  "errors": [
    {
      "fieldId": "text",
      "error": "text"
    }
  ]
}

Get mean resolution time

post

Get mean resolution time

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

Body
showWhitelistedAnomaliesbooleanOptional
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
post/anomaly/v2/mean-resolution-time
POST /gateway/ccm/api/anomaly/v2/mean-resolution-time?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Content-Type: application/json
Accept: */*
Content-Length: 1912

{
  "anomalyFilterPropertiesDTO": {
    "k8sClusterNames": [
      "text"
    ],
    "k8sNamespaces": [
      "text"
    ],
    "k8sWorkloadNames": [
      "text"
    ],
    "k8sServiceNames": [
      "text"
    ],
    "gcpProjects": [
      "text"
    ],
    "gcpProducts": [
      "text"
    ],
    "gcpSKUDescriptions": [
      "text"
    ],
    "awsAccounts": [
      "text"
    ],
    "awsServices": [
      "text"
    ],
    "awsUsageTypes": [
      "text"
    ],
    "azureSubscriptionGuids": [
      "text"
    ],
    "azureResourceGroups": [
      "text"
    ],
    "azureMeterCategories": [
      "text"
    ],
    "openaiProjectIds": [
      "text"
    ],
    "openaiModels": [
      "text"
    ],
    "openaiUsageTypes": [
      "text"
    ],
    "anthropicProjectIds": [
      "text"
    ],
    "anthropicModels": [
      "text"
    ],
    "anthropicUsageTypes": [
      "text"
    ],
    "minActualAmount": 1,
    "minAnomalousSpend": 1,
    "timeFilters": [
      {
        "operator": "NOT_IN",
        "timestamp": 1
      }
    ],
    "orderBy": [
      {
        "field": "PERSPECTIVE_ID",
        "order": "ASCENDING"
      }
    ],
    "groupBy": [
      {
        "groupByField": "PERSPECTIVE_ID"
      }
    ],
    "aggregations": [
      {
        "operationType": "SUM",
        "field": "PERSPECTIVE_ID"
      }
    ],
    "searchText": [
      "text"
    ],
    "offset": 1,
    "limit": 1,
    "status": [
      "ACTIVE"
    ],
    "anomalyIds": [
      "text"
    ],
    "costCategoryDTOs": [
      {
        "costCategory": "text",
        "costBucket": "text"
      }
    ],
    "costCategories": [
      "text"
    ],
    "perspectiveIds": [
      "text"
    ],
    "anomalyView": "RESOURCE",
    "unitMetricNames": [
      "text"
    ],
    "tags": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "filterType": "Anomaly"
  },
  "perspectiveQueryDTO": {
    "filters": [
      {
        "idFilter": {
          "field": {
            "fieldId": "text",
            "fieldName": "text",
            "identifier": "CLUSTER",
            "identifierName": "text"
          },
          "operator": "NOT_IN",
          "values": [
            "text"
          ]
        },
        "timeFilter": {
          "field": {
            "fieldId": "text",
            "fieldName": "text",
            "identifier": "CLUSTER",
            "identifierName": "text"
          },
          "operator": "AFTER",
          "value": 1
        },
        "timeRangeTypeFilter": "LAST_MONTH",
        "viewMetadataFilter": {
          "viewId": "text",
          "isPreview": true,
          "preview": true
        },
        "ruleFilter": {
          "conditions": [
            {
              "field": {
                "fieldId": "text",
                "fieldName": "text",
                "identifier": "CLUSTER",
                "identifierName": "text"
              },
              "operator": "NOT_IN",
              "values": [
                "text"
              ]
            }
          ]
        }
      }
    ],
    "groupBy": [
      {
        "entityGroupBy": {
          "fieldId": "text",
          "fieldName": "text",
          "identifier": "CLUSTER",
          "identifierName": "text"
        },
        "timeTruncGroupBy": {
          "resolution": "HOUR"
        }
      }
    ]
  },
  "showWhitelistedAnomalies": true
}
{
  "status": "SUCCESS",
  "code": "DEFAULT_ERROR_CODE",
  "message": "text",
  "correlationId": "text",
  "errors": [
    {
      "fieldId": "text",
      "error": "text"
    }
  ]
}

Update feedback for given anomaly

put

Update feedback for given anomaly

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

anomalyIdstringOptional
feedbackstringOptional
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
put/anomaly/v2/update/feedback
PUT /gateway/ccm/api/anomaly/v2/update/feedback?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Accept: */*
{
  "status": "SUCCESS",
  "code": "DEFAULT_ERROR_CODE",
  "message": "text",
  "correlationId": "text",
  "errors": [
    {
      "fieldId": "text",
      "error": "text"
    }
  ]
}

Update status for given anomaly

put

Update status for given anomaly

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

anomalyIdstringOptional
statusstringOptional
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
put/anomaly/v2/update/status
PUT /gateway/ccm/api/anomaly/v2/update/status?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Accept: */*
{
  "status": "SUCCESS",
  "code": "DEFAULT_ERROR_CODE",
  "message": "text",
  "correlationId": "text",
  "errors": [
    {
      "fieldId": "text",
      "error": "text"
    }
  ]
}

Last updated

Was this helpful?