{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-cost-management/json-schema/microsoft-azure-cost-management-benefit-utilization-summaries-request-schema.json",
  "title": "BenefitUtilizationSummariesRequest",
  "description": "Properties of an async benefit utilization summaries request.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_superseded/microsoft-azure-cost-management-providers-api-openapi.yml#/components/schemas/BenefitUtilizationSummariesRequest",
  "type": "object",
  "properties": {
    "billingAccountId": {
      "type": "string",
      "description": "Billing account the benefit utilization summaries report is for. Required for billing account and billing profile scopes. Not supported for any benefit scopes."
    },
    "billingProfileId": {
      "type": "string",
      "description": "Billing profile id the benefit utilization summaries report is for. Required for billing profile scope. Not supported for billing account or any benefit scopes."
    },
    "benefitOrderId": {
      "type": "string",
      "description": "Benefit order id the benefit utilization summaries report is for. Required for benefit order and benefit id scopes. Not supported for any billing scopes."
    },
    "benefitId": {
      "type": "string",
      "description": "Benefit id the benefit utilization summaries report is for. Required for benefit id scope. Not supported for benefit order or any billing scopes."
    },
    "grain": {
      "$ref": "#/$defs/Grain",
      "description": "The grain the summaries data is served at in the report. Accepted values are 'Daily' or 'Monthly'."
    },
    "startDate": {
      "type": "string",
      "format": "date-time",
      "description": "The start date of the summaries data that will be served in the report."
    },
    "endDate": {
      "type": "string",
      "format": "date-time",
      "description": "The end date of the summaries data that will be served in the report."
    },
    "kind": {
      "$ref": "#/$defs/BenefitKind",
      "description": "The type of benefit data requested. Required for billing account and billing profile scopes. Implied and not to be passed at benefit scopes. Supported values are Reservation and SavingsPlan"
    }
  },
  "required": [
    "grain",
    "startDate",
    "endDate"
  ],
  "$defs": {
    "BenefitKind": {
      "type": "string",
      "description": "Kind/type of the benefit.",
      "enum": [
        "IncludedQuantity",
        "Reservation",
        "SavingsPlan"
      ],
      "x-ms-enum": {
        "name": "BenefitKind",
        "modelAsString": true,
        "values": [
          {
            "name": "IncludedQuantity",
            "value": "IncludedQuantity",
            "description": "Benefit is IncludedQuantity."
          },
          {
            "name": "Reservation",
            "value": "Reservation",
            "description": "Benefit is Reservation."
          },
          {
            "name": "SavingsPlan",
            "value": "SavingsPlan",
            "description": "Benefit is SavingsPlan."
          }
        ]
      }
    },
    "Grain": {
      "type": "string",
      "description": "Grain which corresponds to value.",
      "enum": [
        "Hourly",
        "Daily",
        "Monthly"
      ],
      "x-ms-enum": {
        "name": "Grain",
        "modelAsString": true,
        "values": [
          {
            "name": "Hourly",
            "value": "Hourly",
            "description": "Hourly grain corresponds to value per hour."
          },
          {
            "name": "Daily",
            "value": "Daily",
            "description": "Hourly grain corresponds to value per day."
          },
          {
            "name": "Monthly",
            "value": "Monthly",
            "description": "Hourly grain corresponds to value per month."
          }
        ]
      }
    }
  }
}