View

States and configurations of Cost Analysis.

Cost ManagementFinOpsCloud CostBillingBudgetsExportCost AnalysisForecastingChargebacksFocusMicrosoft AzureReserved Instances

Properties

Name Type Description
properties object The properties of the view.
eTag object eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
View JSON Schema on GitHub

JSON Schema

microsoft-azure-cost-management-view-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-cost-management/json-schema/microsoft-azure-cost-management-view-schema.json",
  "title": "View",
  "description": "States and configurations of Cost Analysis.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-cost-management-viewoperationgroup-api-openapi.yml#/components/schemas/View",
  "type": "object",
  "properties": {
    "properties": {
      "$ref": "#/$defs/ViewProperties",
      "description": "The properties of the view.",
      "x-ms-client-flatten": true
    },
    "eTag": {
      "$ref": "#/$defs/Azure.Core.eTag",
      "description": "eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not."
    }
  },
  "allOf": [
    {
      "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
    }
  ],
  "$defs": {
    "AccumulatedType": {
      "type": "string",
      "description": "Show costs accumulated over time.",
      "enum": [
        "true",
        "false"
      ],
      "x-ms-enum": {
        "name": "AccumulatedType",
        "modelAsString": true,
        "values": [
          {
            "name": "true",
            "value": "true"
          },
          {
            "name": "false",
            "value": "false"
          }
        ]
      }
    },
    "Azure.Core.eTag": {
      "type": "string",
      "description": "The ETag (or entity tag) HTTP response header is an identifier for a specific version of a resource.\nIt lets caches be more efficient and save bandwidth, as a web server does not need to resend a full response if the content was not changed.\n\nIt is a string of ASCII characters placed between double quotes, like \"675af34563dc-tr34\"."
    },
    "ChartType": {
      "type": "string",
      "description": "Chart type of the main view in Cost Analysis. Required.",
      "enum": [
        "Area",
        "Line",
        "StackedColumn",
        "GroupedColumn",
        "Table"
      ],
      "x-ms-enum": {
        "name": "ChartType",
        "modelAsString": true,
        "values": [
          {
            "name": "Area",
            "value": "Area"
          },
          {
            "name": "Line",
            "value": "Line"
          },
          {
            "name": "StackedColumn",
            "value": "StackedColumn"
          },
          {
            "name": "GroupedColumn",
            "value": "GroupedColumn"
          },
          {
            "name": "Table",
            "value": "Table"
          }
        ]
      }
    },
    "FunctionType": {
      "type": "string",
      "description": "The name of the aggregation function to use.",
      "enum": [
        "Sum"
      ],
      "x-ms-enum": {
        "name": "FunctionType",
        "modelAsString": true,
        "values": [
          {
            "name": "Sum",
            "value": "Sum"
          }
        ]
      }
    },
    "KpiProperties": {
      "type": "object",
      "description": "Each KPI must contain a 'type' and 'enabled' key.",
      "properties": {
        "type": {
          "$ref": "#/$defs/KpiTypeType",
          "description": "KPI type (Forecast, Budget)."
        },
        "id": {
          "type": "string",
          "description": "ID of resource related to metric (budget)."
        },
        "enabled": {
          "type": "boolean",
          "description": "show the KPI in the UI?"
        }
      }
    },
    "KpiTypeType": {
      "type": "string",
      "description": "KPI type (Forecast, Budget).",
      "enum": [
        "Forecast",
        "Budget"
      ],
      "x-ms-enum": {
        "name": "KpiTypeType",
        "modelAsString": true,
        "values": [
          {
            "name": "Forecast",
            "value": "Forecast"
          },
          {
            "name": "Budget",
            "value": "Budget"
          }
        ]
      }
    },
    "MetricType": {
      "type": "string",
      "description": "Metric to use when displaying costs.",
      "enum": [
        "ActualCost",
        "AmortizedCost",
        "AHUB"
      ],
      "x-ms-enum": {
        "name": "MetricType",
        "modelAsString": true,
        "values": [
          {
            "name": "ActualCost",
            "value": "ActualCost"
          },
          {
            "name": "AmortizedCost",
            "value": "AmortizedCost"
          },
          {
            "name": "AHUB",
            "value": "AHUB"
          }
        ]
      }
    },
    "OperatorType": {
      "type": "string",
      "description": "The operator to use for comparison.",
      "enum": [
        "In",
        "Contains"
      ],
      "x-ms-enum": {
        "name": "OperatorType",
        "modelAsString": true,
        "values": [
          {
            "name": "In",
            "value": "In"
          },
          {
            "name": "Contains",
            "value": "Contains"
          }
        ]
      }
    },
    "PivotProperties": {
      "type": "object",
      "description": "Each pivot must contain a 'type' and 'name'.",
      "properties": {
        "type": {
          "$ref": "#/$defs/PivotTypeType",
          "description": "Data type to show in view."
        },
        "name": {
          "type": "string",
          "description": "Data field to show in view."
        }
      }
    },
    "PivotTypeType": {
      "type": "string",
      "description": "Data type to show in view.",
      "enum": [
        "Dimension",
        "TagKey"
      ],
      "x-ms-enum": {
        "name": "PivotTypeType",
        "modelAsString": true,
        "values": [
          {
            "name": "Dimension",
            "value": "Dimension"
          },
          {
            "name": "TagKey",
            "value": "TagKey"
          }
        ]
      }
    },
    "QueryColumnType": {
      "type": "string",
      "description": "The type of the column in the report.",
      "enum": [
        "TagKey",
        "Dimension"
      ],
      "x-ms-enum": {
        "name": "QueryColumnType",
        "modelAsString": true,
        "values": [
          {
            "name": "TagKey",
            "value": "TagKey",
            "description": "The tag associated with the cost data."
          },
          {
            "name": "Dimension",
            "value": "Dimension",
            "description": "The dimension of cost data."
          }
        ]
      }
    },
    "ReportConfigAggregation": {
      "type": "object",
      "description": "The aggregation expression to be used in the report.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the column to aggregate."
        },
        "function": {
          "$ref": "#/$defs/FunctionType",
          "description": "The name of the aggregation function to use."
        }
      },
      "required": [
        "name",
        "function"
      ]
    },
    "ReportConfigComparisonExpression": {
      "type": "object",
      "description": "The comparison expression to be used in the report.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the column to use in comparison."
        },
        "operator": {
          "$ref": "#/$defs/OperatorType",
          "description": "The operator to use for comparison."
        },
        "values": {
          "type": "array",
          "description": "Array of values to use for comparison",
          "minItems": 1,
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "name",
        "operator",
        "values"
      ]
    },
    "ReportConfigDataset": {
      "type": "object",
      "description": "The definition of data present in the report.",
      "properties": {
        "granularity": {
          "$ref": "#/$defs/ReportGranularityType",
          "description": "The granularity of rows in the report."
        },
        "configuration": {
          "$ref": "#/$defs/ReportConfigDatasetConfiguration",
          "description": "Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided."
        },
        "aggregation": {
          "type": "object",
          "description": "Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses.",
          "additionalProperties": {
            "$ref": "#/$defs/ReportConfigAggregation"
          }
        },
        "grouping": {
          "type": "array",
          "description": "Array of group by expression to use in the report. Report can have up to 2 group by clauses.",
          "maxItems": 2,
          "items": {
            "$ref": "#/$defs/ReportConfigGrouping"
          },
          "x-ms-identifiers": [
            "name",
            "type"
          ]
        },
        "sorting": {
          "type": "array",
          "description": "Array of order by expression to use in the report.",
          "items": {
            "$ref": "#/$defs/ReportConfigSorting"
          },
          "x-ms-identifiers": []
        },
        "filter": {
          "$ref": "#/$defs/ReportConfigFilter",
          "description": "Has filter expression to use in the report."
        }
      }
    },
    "ReportConfigDatasetConfiguration": {
      "type": "object",
      "description": "The configuration of dataset in the report.",
      "properties": {
        "columns": {
          "type": "array",
          "description": "Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ReportConfigDefinition": {
      "type": "object",
      "description": "The definition of a report config.",
      "properties": {
        "type": {
          "$ref": "#/$defs/ReportType",
          "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates."
        },
        "timeframe": {
          "$ref": "#/$defs/ReportTimeframeType",
          "description": "The time frame for pulling data for the report. If custom, then a specific time period must be provided."
        },
        "timePeriod": {
          "$ref": "#/$defs/ReportConfigTimePeriod",
          "description": "Has time period for pulling data for the report."
        },
        "dataSet": {
          "$ref": "#/$defs/ReportConfigDataset",
          "description": "Has definition for data in this report config."
        },
        "includeMonetaryCommitment": {
          "type": "boolean",
          "description": "If true, report includes monetary commitment."
        }
      },
      "required": [
        "type",
        "timeframe"
      ]
    },
    "ReportConfigFilter": {
      "type": "object",
      "description": "The filter expression to be used in the report.",
      "properties": {
        "and": {
          "type": "array",
          "description": "The logical \"AND\" expression. Must have at least 2 items.",
          "minItems": 2,
          "items": {
            "$ref": "#/$defs/ReportConfigFilter"
          },
          "x-ms-identifiers": []
        },
        "or": {
          "type": "array",
          "description": "The logical \"OR\" expression. Must have at least 2 items.",
          "minItems": 2,
          "items": {
            "$ref": "#/$defs/ReportConfigFilter"
          },
          "x-ms-identifiers": []
        },
        "dimensions": {
          "$ref": "#/$defs/ReportConfigComparisonExpression",
          "description": "Has comparison expression for a dimension"
        },
        "tags": {
          "$ref": "#/$defs/ReportConfigComparisonExpression",
          "description": "Has comparison expression for a tag"
        }
      }
    },
    "ReportConfigGrouping": {
      "type": "object",
      "description": "The group by expression to be used in the report.",
      "properties": {
        "type": {
          "$ref": "#/$defs/QueryColumnType",
          "description": "Has type of the column to group."
        },
        "name": {
          "type": "string",
          "description": "The name of the column to group. This version supports subscription lowest possible grain."
        }
      },
      "required": [
        "type",
        "name"
      ]
    },
    "ReportConfigSorting": {
      "type": "object",
      "description": "The order by expression to be used in the report.",
      "properties": {
        "direction": {
          "$ref": "#/$defs/ReportConfigSortingType",
          "description": "Direction of sort."
        },
        "name": {
          "type": "string",
          "description": "The name of the column to sort."
        }
      },
      "required": [
        "name"
      ]
    },
    "ReportConfigSortingType": {
      "type": "string",
      "description": "Direction of sort.",
      "enum": [
        "Ascending",
        "Descending"
      ],
      "x-ms-enum": {
        "name": "ReportConfigSortingType",
        "modelAsString": true,
        "values": [
          {
            "name": "Ascending",
            "value": "Ascending"
          },
          {
            "name": "Descending",
            "value": "Descending"
          }
        ]
      }
    },
    "ReportConfigTimePeriod": {
      "type": "object",
      "description": "The start and end date for pulling data for the report.",
      "properties": {
        "from": {
          "type": "string",
          "format": "date-time",
          "description": "The start date to pull data from."
        },
        "to": {
          "type": "string",
          "format": "date-time",
          "description": "The end date to pull data to."
        }
      },
      "required": [
        "from",
        "to"
      ]
    },
    "ReportGranularityType": {
      "type": "string",
      "description": "The granularity of rows in the report.",
      "enum": [
        "Daily",
        "Monthly"
      ],
      "x-ms-enum": {
        "name": "ReportGranularityType",
        "modelAsString": true,
        "values": [
          {
            "name": "Daily",
            "value": "Daily"
          },
          {
            "name": "Monthly",
            "value": "Monthly"
          }
        ]
      }
    },
    "ReportTimeframeType": {
      "type": "string",
      "description": "The time frame for pulling data for the report. If custom, then a specific time period must be provided.",
      "enum": [
        "WeekToDate",
        "MonthToDate",
        "YearToDate",
        "Custom"
      ],
      "x-ms-enum": {
        "name": "ReportTimeframeType",
        "modelAsString": true,
        "values": [
          {
            "name": "WeekToDate",
            "value": "WeekToDate"
          },
          {
            "name": "MonthToDate",
            "value": "MonthToDate"
          },
          {
            "name": "YearToDate",
            "value": "YearToDate"
          },
          {
            "name": "Custom",
            "value": "Custom"
          }
        ]
      }
    },
    "ReportType": {
      "type": "string",
      "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates.",
      "enum": [
        "Usage"
      ],
      "x-ms-enum": {
        "name": "ReportType",
        "modelAsString": true,
        "values": [
          {
            "name": "Usage",
            "value": "Usage"
          }
        ]
      }
    },
    "ViewProperties": {
      "type": "object",
      "description": "The properties of the view.",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "User input name of the view. Required."
        },
        "scope": {
          "type": "string",
          "description": "Cost Management scope to save the view on. This includes 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope."
        },
        "createdOn": {
          "type": "string",
          "format": "date-time",
          "description": "Date the user created this view.",
          "readOnly": true
        },
        "modifiedOn": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the user last modified this view."
        },
        "dateRange": {
          "type": "string",
          "description": "Date range of the current view."
        },
        "currency": {
          "type": "string",
          "description": "Currency of the current view.",
          "readOnly": true
        },
        "query": {
          "$ref": "#/$defs/ReportConfigDefinition",
          "description": "Query body configuration. Required.",
          "x-ms-client-flatten": true
        },
        "chart": {
          "$ref": "#/$defs/ChartType",
          "description": "Chart type of the main view in Cost Analysis. Required."
        },
        "accumulated": {
          "$ref": "#/$defs/AccumulatedType",
          "description": "Show costs accumulated over time."
        },
        "metric": {
          "$ref": "#/$defs/MetricType",
          "description": "Metric to use when displaying costs."
        },
        "kpis": {
          "type": "array",
          "description": "List of KPIs to show in Cost Analysis UI.",
          "items": {
            "$ref": "#/$defs/KpiProperties"
          }
        },
        "pivots": {
          "type": "array",
          "description": "Configuration of 3 sub-views in the Cost Analysis UI.",
          "items": {
            "$ref": "#/$defs/PivotProperties"
          },
          "x-ms-identifiers": [
            "name"
          ]
        }
      }
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-azure-cost-management-view"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.