Harness · Schema
CostDetailsQueryParams
Common query parameters for all cost details APIs
DevOpsGitOpsInternal Developer PortalLifecycleSoftware DeliveryCI/CDContinuous DeliveryContinuous Integration
Properties
| Name | Type | Description |
|---|---|---|
| filters | array | Filters to be applied on the response. |
| groupBy | array | Fields on which the response will be grouped by. |
| timeResolution | string | Only applicable for Time Series Endpoints, defaults to DAY |
| limit | integer | Limit on the number of cost values returned, 0 by default. |
| sortOrder | string | Order of sorting on cost, Descending by default. |
| offset | integer | Offset on the cost values returned, 10 by default. |
| skipRoundOff | boolean | Skip Rounding off the cost values returned, false by default. |
| viewParams | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/harness/main/json-schema/harness-cost-details-query-params-schema.json",
"title": "CostDetailsQueryParams",
"description": "Common query parameters for all cost details APIs",
"x-generated": "2026-10-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/harness-cost-details-api-openapi.yml#/components/schemas/CostDetailsQueryParams",
"type": "object",
"properties": {
"filters": {
"type": "array",
"description": "Filters to be applied on the response.",
"items": {
"$ref": "#/$defs/FieldFilter"
}
},
"groupBy": {
"type": "array",
"description": "Fields on which the response will be grouped by.",
"items": {
"type": "string",
"description": "List of all possible Fields",
"enum": [
"PERSPECTIVE_ID",
"ANOMALY_ID",
"WORKLOAD",
"WORKLOAD_TYPE",
"CLUSTER_ID",
"CLUSTER_NAME",
"CLUSTER_NAMESPACE",
"CLUSTER_NAMESPACE_ID",
"CLUSTER_WORKLOAD",
"CLUSTER_WORKLOAD_ID",
"CLUSTER_NODE",
"CLUSTER_POD",
"CLUSTER_PARENT_INSTANCE_ID",
"CLUSTER_STORAGE",
"CLUSTER_APPLICATION",
"CLUSTER_ENVIRONMENT",
"CLUSTER_SERVICE",
"CLUSTER_CLOUD_PROVIDER",
"CLUSTER_ECS_SERVICE",
"CLUSTER_ECS_SERVICE_ID",
"CLUSTER_ECS_TASK",
"CLUSTER_ECS_TASK_ID",
"CLUSTER_ECS_LAUNCH_TYPE",
"CLUSTER_ECS_LAUNCH_TYPE_ID",
"NAMESPACE",
"SERVICE",
"SERVICE_NAME",
"GCP_PRODUCT",
"GCP_PROJECT",
"GCP_SKU_ID",
"GCP_SKU_DESCRIPTION",
"GCP_RESOURCE_GLOBAL_NAME",
"AWS_ACCOUNT",
"AWS_SERVICE",
"AWS_INSTANCE_TYPE",
"AWS_USAGE_TYPE",
"AWS_BILLING_ENTITY",
"AWS_LINE_ITEM_TYPE",
"AWS_RESOURCE_ID",
"AZURE_SUBSCRIPTION_GUID",
"AZURE_METER_NAME",
"AZURE_METER_CATEGORY",
"AZURE_METER_SUBCATEGORY",
"AZURE_RESOURCE_ID",
"AZURE_RESOURCE_GROUP_NAME",
"AZURE_RESOURCE_TYPE",
"AZURE_RESOURCE",
"AZURE_SERVICE_NAME",
"AZURE_SERVICE_TIER",
"AZURE_INSTANCE_ID",
"AZURE_SUBSCRIPTION_NAME",
"AZURE_PUBLISHER_NAME",
"AZURE_PUBLISHER_TYPE",
"AZURE_RESERVATION_ID",
"AZURE_RESERVATION_NAME",
"AZURE_FREQUENCY",
"AZURE_CHARGE_TYPE",
"AZURE_PRICING_MODEL",
"AZURE_BENEFIT_NAME",
"AZURE_RESOURCE_NAME",
"OPENAI_PROJECT_ID",
"OPENAI_MODEL",
"OPENAI_USAGE_TYPE",
"ANTHROPIC_PROJECT_ID",
"ANTHROPIC_MODEL",
"ANTHROPIC_USAGE_TYPE",
"COMMON_PRODUCT",
"COMMON_REGION",
"COMMON_NONE",
"CLOUD_PROVIDER",
"STATUS",
"REGION",
"ANOMALY_TIME",
"ACTUAL_COST",
"EXPECTED_COST",
"ANOMALOUS_SPEND",
"COST_IMPACT",
"ALL",
"ANOMALOUS_SPEND_PERCENTAGE",
"TOTAL_COST",
"IDLE_COST",
"UNALLOCATED_COST",
"RULE_NAME",
"RULE_SET_NAME",
"POTENTIAL_SAVINGS",
"LAST_EVALUATED_AT",
"ANOMALY_STATUS",
"RECOMMENDATIONS_COUNT",
"ACTUAL_AMOUNT",
"CRITICALITY",
"DURATION",
"UPDATED_AT",
"UPDATED_BY",
"UPDATED_AT_RELATIVE",
"REPORTED_BY",
"COST_CATEGORY_NAME",
"COST_BUCKET_NAME",
"UNIT_METRIC_NAME"
]
}
},
"timeResolution": {
"type": "string",
"description": "Only applicable for Time Series Endpoints, defaults to DAY",
"enum": [
"HOUR",
"DAY",
"MONTH",
"WEEK",
"QUARTER",
"YEAR"
]
},
"limit": {
"type": "integer",
"description": "Limit on the number of cost values returned, 0 by default.",
"format": "int32"
},
"sortOrder": {
"type": "string",
"description": "Order of sorting on cost, Descending by default.",
"enum": [
"ASCENDING",
"DESCENDING"
]
},
"offset": {
"type": "integer",
"description": "Offset on the cost values returned, 10 by default.",
"format": "int32"
},
"skipRoundOff": {
"type": "boolean",
"description": "Skip Rounding off the cost values returned, false by default."
},
"viewParams": {
"$ref": "#/$defs/ViewParams"
}
},
"$defs": {
"FieldFilter": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "List of all possible Fields",
"enum": [
"PERSPECTIVE_ID",
"ANOMALY_ID",
"WORKLOAD",
"WORKLOAD_TYPE",
"CLUSTER_ID",
"CLUSTER_NAME",
"CLUSTER_NAMESPACE",
"CLUSTER_NAMESPACE_ID",
"CLUSTER_WORKLOAD",
"CLUSTER_WORKLOAD_ID",
"CLUSTER_NODE",
"CLUSTER_POD",
"CLUSTER_PARENT_INSTANCE_ID",
"CLUSTER_STORAGE",
"CLUSTER_APPLICATION",
"CLUSTER_ENVIRONMENT",
"CLUSTER_SERVICE",
"CLUSTER_CLOUD_PROVIDER",
"CLUSTER_ECS_SERVICE",
"CLUSTER_ECS_SERVICE_ID",
"CLUSTER_ECS_TASK",
"CLUSTER_ECS_TASK_ID",
"CLUSTER_ECS_LAUNCH_TYPE",
"CLUSTER_ECS_LAUNCH_TYPE_ID",
"NAMESPACE",
"SERVICE",
"SERVICE_NAME",
"GCP_PRODUCT",
"GCP_PROJECT",
"GCP_SKU_ID",
"GCP_SKU_DESCRIPTION",
"GCP_RESOURCE_GLOBAL_NAME",
"AWS_ACCOUNT",
"AWS_SERVICE",
"AWS_INSTANCE_TYPE",
"AWS_USAGE_TYPE",
"AWS_BILLING_ENTITY",
"AWS_LINE_ITEM_TYPE",
"AWS_RESOURCE_ID",
"AZURE_SUBSCRIPTION_GUID",
"AZURE_METER_NAME",
"AZURE_METER_CATEGORY",
"AZURE_METER_SUBCATEGORY",
"AZURE_RESOURCE_ID",
"AZURE_RESOURCE_GROUP_NAME",
"AZURE_RESOURCE_TYPE",
"AZURE_RESOURCE",
"AZURE_SERVICE_NAME",
"AZURE_SERVICE_TIER",
"AZURE_INSTANCE_ID",
"AZURE_SUBSCRIPTION_NAME",
"AZURE_PUBLISHER_NAME",
"AZURE_PUBLISHER_TYPE",
"AZURE_RESERVATION_ID",
"AZURE_RESERVATION_NAME",
"AZURE_FREQUENCY",
"AZURE_CHARGE_TYPE",
"AZURE_PRICING_MODEL",
"AZURE_BENEFIT_NAME",
"AZURE_RESOURCE_NAME",
"OPENAI_PROJECT_ID",
"OPENAI_MODEL",
"OPENAI_USAGE_TYPE",
"ANTHROPIC_PROJECT_ID",
"ANTHROPIC_MODEL",
"ANTHROPIC_USAGE_TYPE",
"COMMON_PRODUCT",
"COMMON_REGION",
"COMMON_NONE",
"CLOUD_PROVIDER",
"STATUS",
"REGION",
"ANOMALY_TIME",
"ACTUAL_COST",
"EXPECTED_COST",
"ANOMALOUS_SPEND",
"COST_IMPACT",
"ALL",
"ANOMALOUS_SPEND_PERCENTAGE",
"TOTAL_COST",
"IDLE_COST",
"UNALLOCATED_COST",
"RULE_NAME",
"RULE_SET_NAME",
"POTENTIAL_SAVINGS",
"LAST_EVALUATED_AT",
"ANOMALY_STATUS",
"RECOMMENDATIONS_COUNT",
"ACTUAL_AMOUNT",
"CRITICALITY",
"DURATION",
"UPDATED_AT",
"UPDATED_BY",
"UPDATED_AT_RELATIVE",
"REPORTED_BY",
"COST_CATEGORY_NAME",
"COST_BUCKET_NAME",
"UNIT_METRIC_NAME"
]
},
"operator": {
"type": "string",
"description": "List of all possible Operators",
"enum": [
"NOT_IN",
"IN",
"EQUALS",
"NOT_NULL",
"NULL",
"LIKE",
"GREATER_THAN",
"LESS_THAN",
"GREATER_THAN_EQUALS_TO",
"LESS_THAN_EQUALS_TO",
"AFTER",
"BEFORE"
]
},
"values": {
"type": "array",
"description": "List of all values of the filter.",
"items": {
"type": "string",
"description": "List of all values of the filter."
}
}
},
"description": "Filters return values as per the field, operator & List of string values provided"
},
"ViewParams": {
"type": "object",
"properties": {
"viewTimeGranularity": {
"type": "string",
"description": "Granularity of Perspective timeseries data",
"enum": [
"DAY",
"MONTH"
]
},
"isAITraceQuery": {
"type": "boolean",
"description": "When true, forces the query to use the AI Trace table (genai_aggregate_metrics)."
}
},
"description": "Optional parameters for perspective GraphQL queries"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/harness-cost-details-query-params"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.