Azure Cost Management Providers API

The tenant- and scope-level Cost Management surface that is not a managed resource: Query, Forecast, Dimensions, cost details and detailed cost report generation, price sheet downloads, benefit recommendations and benefit utilization summaries.

Operations 28

GET /{billingScope}/providers/Microsoft.CostManagement/benefitRecommendations #
POST /{scope}/providers/Microsoft.CostManagement/checkNameAvailability #
GET /{scope}/providers/Microsoft.CostManagement/dimensions #
POST /{scope}/providers/Microsoft.CostManagement/forecast #
POST /{scope}/providers/Microsoft.CostManagement/generateCostDetailsReport #
POST /{scope}/providers/Microsoft.CostManagement/generateDetailedCostReport #
POST /{scope}/providers/Microsoft.CostManagement/query #
GET /providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/alerts #
GET /providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/dimensions #
POST /providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/forecast #
POST /providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/query #
POST /providers/Microsoft.CostManagement/checkNameAvailability #
POST /providers/microsoft.Billing/billingAccounts/{billingAccountId}/billingPeriods/{billingPeriodName}/providers/Microsoft.CostManagement/pricesheets/default/download #
POST /providers/microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices/{invoiceName}/providers/Microsoft.CostManagement/pricesheets/default/download #
GET /providers/microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/benefitUtilizationSummaries #
POST /providers/microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/generateBenefitUtilizationSummariesReport #
POST /providers/microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/generateReservationDetailsReport #
POST /providers/microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/providers/Microsoft.CostManagement/pricesheets/default/download #
GET /providers/microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/benefitUtilizationSummaries #
POST /providers/microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules/checkNameAvailability #
POST /providers/microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/generateBenefitUtilizationSummariesReport #
POST /providers/microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/generateReservationDetailsReport #
GET /providers/microsoft.BillingBenefits/savingsPlanOrders/{savingsPlanOrderId}/providers/Microsoft.CostManagement/benefitUtilizationSummaries #
POST /providers/microsoft.BillingBenefits/savingsPlanOrders/{savingsPlanOrderId}/providers/Microsoft.CostManagement/generateBenefitUtilizationSummariesReport #
GET /providers/microsoft.BillingBenefits/savingsPlanOrders/{savingsPlanOrderId}/savingsPlans/{savingsPlanId}/providers/Microsoft.CostManagement/benefitUtilizationSummaries #
POST /providers/microsoft.BillingBenefits/savingsPlanOrders/{savingsPlanOrderId}/savingsPlans/{savingsPlanId}/providers/Microsoft.CostManagement/generateBenefitUtilizationSummariesReport #
POST /providers/microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.CostManagement/generateBenefitUtilizationSummariesReport #
POST /providers/microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.CostManagement/generateBenefitUtilizationSummariesReport #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/microsoft-azure-cost-management-providers-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

microsoft-azure-cost-management-providers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CostManagementClient Providers API
  version: '2026-06-01'
  description: CostManagement management client provides access to CostManagement resources for Azure Enterprise Subscriptions.
  x-typespec-generated:
  - emitter: '@azure-tools/typespec-autorest'
  x-api-evangelist-common-types: Azure Resource Manager common-types v5 components referenced by this contract were inlined
    from https://github.com/Azure/azure-rest-api-specs/tree/main/specification/common-types/resource-management/v5 and prefixed
    Arm, so the document resolves standalone. Microsoft's published document $refs them by relative path across repository
    directories.
servers:
- url: https://management.azure.com
security:
- azure_auth:
  - user_impersonation
tags:
- name: Providers
paths:
  /{billingScope}/providers/Microsoft.CostManagement/benefitRecommendations:
    get:
      operationId: BenefitRecommendations_List
      description: List of recommendations for purchasing savings plan.
      externalDocs:
        url: https://docs.microsoft.com/en-us/rest/api/CostManagement/
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: $filter
        in: query
        description: 'Can be used to filter benefitRecommendations by: properties/scope with allowed values [''Single'', ''Shared'']
          and default value ''Shared''; and properties/lookBackPeriod with allowed values [''Last7Days'', ''Last30Days'',
          ''Last60Days''] and default value ''Last60Days''; properties/term with allowed values [''P1Y'', ''P3Y''] and default
          value ''P3Y''; properties/subscriptionId; properties/resourceGroup'
        required: false
        schema:
          type: string
      - name: $orderby
        in: query
        description: 'May be used to order the recommendations by: properties/armSkuName. For the savings plan, the results
          are in order by default. There is no need to use this clause.'
        required: false
        schema:
          type: string
      - name: $expand
        in: query
        description: 'May be used to expand the properties by: properties/usage, properties/allRecommendationDetails'
        required: false
        schema:
          type: string
      - name: billingScope
        in: path
        description: The scope associated with benefit recommendation operations. This includes '/subscriptions/{subscriptionId}/'
          for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group
          scope, /providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for enterprise agreement scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
          for billing profile scope
        required: true
        x-ms-skip-url-encoding: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/benefitRecommendationsListResult'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-ms-examples:
        BenefitRecommendationsBillingAccountList:
          $ref: ../examples/BenefitRecommendationsByBillingAccount.json
        BenefitRecommendationsManagementGroupList:
          $ref: ../examples/BenefitRecommendationsByBillingAccountForManagementGroup.json
      x-ms-pageable:
        nextLinkName: nextLink
      tags:
      - Providers
  /{scope}/providers/Microsoft.CostManagement/checkNameAvailability:
    post:
      operationId: ScheduledActions_CheckNameAvailabilityByScope
      description: Checks availability and correctness of the name for a scheduled action within the given scope.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: scope
        in: path
        description: 'The scope associated with scheduled action operations. 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.CostManagement/externalBillingAccounts/{externalBillingAccountName}''
          for External Billing Account scope and ''providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}''
          for External Subscription scope. Note: Insight Alerts are only available on subscription scope.'
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArmCheckNameAvailabilityResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseWithNestedDetails'
      x-ms-examples:
        ScheduledActionCheckNameAvailabilityByScope:
          $ref: ../examples/scheduledActions/checkNameAvailability-shared-scheduledAction.json
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArmCheckNameAvailabilityRequest'
        description: Scheduled action to be created or updated.
        required: true
      tags:
      - Providers
  /{scope}/providers/Microsoft.CostManagement/dimensions:
    get:
      operationId: Dimensions_List
      description: Lists the dimensions by the defined scope.
      externalDocs:
        url: https://docs.microsoft.com/en-us/rest/api/costmanagement/
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: scope
        in: path
        description: The scope associated with dimension operations. 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.Management/managementGroups/{managementGroupId}' for Management
          Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
          for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
          for invoiceSection scope, and 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
          specific for partners.
        required: true
        x-ms-skip-url-encoding: true
        schema:
          type: string
      - name: $filter
        in: query
        description: May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd.
          Supported operators are 'eq','lt', 'gt', 'le', 'ge'.
        required: false
        schema:
          type: string
      - name: $expand
        in: query
        description: May be used to expand the properties/data within a dimension category. By default, data is not included
          when listing dimensions.
        required: false
        schema:
          type: string
      - name: $skiptoken
        in: query
        description: Skiptoken is only used if a previous operation returned a partial result. If a previous response contains
          a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting
          point to use for subsequent calls.
        required: false
        schema:
          type: string
      - name: $top
        in: query
        description: May be used to limit the number of results to the most recent N dimension data.
        required: false
        schema:
          type: integer
          format: int32
          maximum: 1000
          minimum: 1
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DimensionsListResult'
        '204':
          description: There is no content to send for this request, but the headers may be useful.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-ms-examples:
        BillingAccountDimensionsList-Legacy:
          $ref: ../examples/BillingAccountDimensionsList.json
        BillingAccountDimensionsList-MCA:
          $ref: ../examples/MCABillingAccountDimensionsList.json
        BillingAccountDimensionsListExpandAndTop-Legacy:
          $ref: ../examples/BillingAccountDimensionsListExpandAndTop.json
        BillingAccountDimensionsListExpandAndTop-MCA:
          $ref: ../examples/MCABillingAccountDimensionsListExpandAndTop.json
        BillingAccountDimensionsListWithFilter-Legacy:
          $ref: ../examples/BillingAccountDimensionsListWithFilter.json
        BillingAccountDimensionsListWithFilter-MCA:
          $ref: ../examples/MCABillingAccountDimensionsListWithFilter.json
        BillingProfileDimensionsList-MCA:
          $ref: ../examples/MCABillingProfileDimensionsList.json
        BillingProfileDimensionsListExpandAndTop-MCA:
          $ref: ../examples/MCABillingProfileDimensionsListExpandAndTop.json
        BillingProfileDimensionsListWithFilter-MCA:
          $ref: ../examples/MCABillingProfileDimensionsListWithFilter.json
        CustomerDimensionsList-MCA:
          $ref: ../examples/MCACustomerDimensionsList.json
        CustomerDimensionsListExpandAndTop-MCA:
          $ref: ../examples/MCACustomerDimensionsListExpandAndTop.json
        CustomerDimensionsListWithFilter-MCA:
          $ref: ../examples/MCACustomerDimensionsListWithFilter.json
        DepartmentDimensionsList-Legacy:
          $ref: ../examples/DepartmentDimensionsList.json
        DepartmentDimensionsListExpandAndTop-Legacy:
          $ref: ../examples/DepartmentDimensionsListExpandAndTop.json
        DepartmentDimensionsListWithFilter-Legacy:
          $ref: ../examples/DepartmentDimensionsListWithFilter.json
        EnrollmentAccountDimensionsList-Legacy:
          $ref: ../examples/EnrollmentAccountDimensionsList.json
        EnrollmentAccountDimensionsListExpandAndTop-Legacy:
          $ref: ../examples/EnrollmentAccountDimensionsListExpandAndTop.json
        EnrollmentAccountDimensionsListWithFilter-Legacy:
          $ref: ../examples/EnrollmentAccountDimensionsListWithFilter.json
        InvoiceSectionDimensionsList-MCA:
          $ref: ../examples/MCAInvoiceSectionDimensionsList.json
        InvoiceSectionDimensionsListExpandAndTop-MCA:
          $ref: ../examples/MCAInvoiceSectionDimensionsListExpandAndTop.json
        InvoiceSectionDimensionsListWithFilter-MCA:
          $ref: ../examples/MCAInvoiceSectionDimensionsListWithFilter.json
        ManagementGroupDimensionsList-Legacy:
          $ref: ../examples/ManagementGroupDimensionsList.json
        ManagementGroupDimensionsListExpandAndTop-Legacy:
          $ref: ../examples/ManagementGroupDimensionsListExpandAndTop.json
        ManagementGroupDimensionsListWithFilter-Legacy:
          $ref: ../examples/ManagementGroupDimensionsListWithFilter.json
        ResourceGroupDimensionsList-Legacy:
          $ref: ../examples/ResourceGroupDimensionsList.json
        SubscriptionDimensionsList-Legacy:
          $ref: ../examples/SubscriptionDimensionsList.json
      x-ms-pageable:
        nextLinkName: nextLink
      tags:
      - Providers
  /{scope}/providers/Microsoft.CostManagement/forecast:
    post:
      operationId: Forecast_Usage
      description: Lists the forecast charges for scope defined.
      externalDocs:
        url: https://docs.microsoft.com/en-us/rest/api/costmanagement/
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: $filter
        in: query
        description: May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain.
          The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.
        required: false
        schema:
          type: string
      - name: scope
        in: path
        description: The scope associated with forecast operations. This includes '/subscriptions/{subscriptionId}/' for subscription
          scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}'
          for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}'
          for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}'
          for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management
          Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
          for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
          for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
          specific for partners.
        required: true
        x-ms-skip-url-encoding: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForecastResult'
        '204':
          description: There is no content to send for this request, but the headers may be useful.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-ms-examples:
        BillingAccountForecast:
          $ref: ../examples/BillingAccountForecast.json
        BillingProfileForecast:
          $ref: ../examples/BillingProfileForecast.json
        DepartmentForecast:
          $ref: ../examples/DepartmentForecast.json
        EnrollmentAccountForecast:
          $ref: ../examples/EnrollmentAccountForecast.json
        InvoiceSectionForecast:
          $ref: ../examples/InvoiceSectionForecast.json
        ResourceGroupForecast:
          $ref: ../examples/ResourceGroupForecast.json
        SubscriptionForecast:
          $ref: ../examples/SubscriptionForecast.json
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ForecastDefinition'
        description: Parameters supplied to the CreateOrUpdate Forecast Config operation.
        required: true
      tags:
      - Providers
  /{scope}/providers/Microsoft.CostManagement/generateCostDetailsReport:
    post:
      operationId: GenerateCostDetailsReport_CreateOperation
      description: This API is the replacement for all previously release Usage Details APIs. Request to generate a cost details
        report for the provided date range, billing period (Only enterprise customers) or Invoice Id asynchronously at a certain
        scope. The initial call to request a report will return a 202 with a 'Location' and 'Retry-After' header. The 'Location'
        header will provide the endpoint to poll to get the result of the report generation. The 'Retry-After' provides the
        duration to wait before polling for the generated report. A call to poll the report operation will provide a 202 response
        with a 'Location' header if the operation is still in progress. Once the report generation operation completes, the
        polling endpoint will provide a 200 response along with details on the report blob(s) that are available for download.
        The details on the file(s) available for download will be available in the polling response body. To Understand cost
        details (formerly known as usage details) fields found in files ,see https://learn.microsoft.com/en-us/azure/cost-management-billing/automate/understand-usage-details-fields
      externalDocs:
        url: https://docs.microsoft.com/en-us/rest/api/costmanagement/
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: scope
        in: path
        description: The ARM Resource ID for subscription, billing account, or other billing scopes.Currently Resource Group
          and Management Group are not supported. For details, see https://aka.ms/costmgmt/scopes.
        required: true
        x-ms-skip-url-encoding: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostDetailsOperationResults'
        '202':
          description: Resource operation accepted.
          headers:
            Location:
              description: The Location header contains the URL where the status of the long running operation can be checked.
              schema:
                type: string
        '204':
          description: There is no content to send for this request, but the headers may be useful.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateCostDetailsReportErrorResponse'
      x-ms-examples:
        GenerateCostDetailsReportByBillingAccountEnterpriseAgreementCustomerAndBillingPeriod:
          $ref: ../examples/GenerateCostDetailsReportByBillingAccountEnterpriseAgreementCustomerAndBillingPeriod.json
        GenerateCostDetailsReportByBillingProfileAndInvoiceId:
          $ref: ../examples/GenerateCostDetailsReportByBillingProfileAndInvoiceId.json
        GenerateCostDetailsReportByBillingProfileAndInvoiceIdAndCustomerId:
          $ref: ../examples/GenerateCostDetailsReportByBillingProfileAndInvoiceIdAndCustomerId.json
        GenerateCostDetailsReportByCustomerAndTimePeriod:
          $ref: ../examples/GenerateCostDetailsReportByCustomerAndTimePeriod.json
        GenerateCostDetailsReportByDepartmentsAndTimePeriod:
          $ref: ../examples/GenerateCostDetailsReportByDepartmentsAndTimePeriod.json
        GenerateCostDetailsReportByEnrollmentAccountsAndTimePeriod:
          $ref: ../examples/GenerateCostDetailsReportByEnrollmentAccountsAndTimePeriod.json
        GenerateCostDetailsReportBySubscriptionAndTimePeriod:
          $ref: ../examples/GenerateCostDetailsReportBySubscriptionAndTimePeriod.json
      x-ms-long-running-operation-options:
        final-state-via: location
        final-state-schema: '#/definitions/CostDetailsOperationResults'
      x-ms-long-running-operation: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateCostDetailsReportRequestDefinition'
        description: Parameters supplied to the Create cost details operation.
        required: true
      tags:
      - Providers
  /{scope}/providers/Microsoft.CostManagement/generateDetailedCostReport:
    post:
      operationId: GenerateDetailedCostReport_CreateOperation
      description: Generates the detailed cost report for provided date range, billing period(only enterprise customers) or
        Invoice ID asynchronously at a certain scope. Call returns a 202 with header Azure-Consumption-AsyncOperation providing
        a link to the operation created. A call on the operation will provide the status and if the operation is completed
        the blob file where generated detailed cost report is being stored.
      externalDocs:
        url: https://docs.microsoft.com/en-us/rest/api/costmanagement/
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: scope
        in: path
        description: The ARM Resource ID for subscription, resource group, billing account, or other billing scopes. For details,
          see https://aka.ms/costmgmt/scopes.
        required: true
        x-ms-skip-url-encoding: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateDetailedCostReportOperationResult'
        '202':
          description: The request has been accepted for processing, but processing has not yet completed.
          headers:
            Azure-AsyncOperation:
              description: A link to the status monitor
              schema:
                type: string
                format: uri
            Azure-Consumption-AsyncOperation:
              description: The URL to check the status of the asynchronous operation.
              schema:
                type: string
            Location:
              description: The Location header contains the URL where the status of the long running operation can be checked.
              schema:
                type: string
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateDetailedCostReportErrorResponse'
      x-ms-examples:
        GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod:
          $ref: ../examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json
        GenerateDetailedCostReportByBillingProfileAndInvoiceId:
          $ref: ../examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json
        GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId:
          $ref: ../examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json
        GenerateDetailedCostReportByCustomerAndTimePeriod:
          $ref: ../examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json
        GenerateDetailedCostReportBySubscriptionAndTimePeriod:
          $ref: ../examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json
      x-ms-long-running-operation-options:
        final-state-via: location
        final-state-schema: '#/definitions/GenerateDetailedCostReportOperationResult'
      x-ms-long-running-operation: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateDetailedCostReportDefinition'
        description: Parameters supplied to the Create detailed cost report operation.
        required: true
      tags:
      - Providers
  /{scope}/providers/Microsoft.CostManagement/query:
    post:
      operationId: Query_Usage
      description: Query the usage data for scope defined.
      externalDocs:
        url: https://docs.microsoft.com/en-us/rest/api/costmanagement/
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: scope
        in: path
        description: The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/'
          for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
          '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}'
          for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}'
          for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management
          Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
          for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
          for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
          specific for partners.
        required: true
        x-ms-skip-url-encoding: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryResult'
        '204':
          description: There is no content to send for this request, but the headers may be useful.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-ms-examples:
        BillingAccountQuery-Legacy:
          $ref: ../examples/BillingAccountQuery.json
        BillingAccountQuery-MCA:
          $ref: ../examples/MCABillingAccountQuery.json
        BillingAccountQueryGrouping-Legacy:
          $ref: ../examples/BillingAccountQueryGrouping.json
        BillingAccountQueryGrouping-MCA:
          $ref: ../examples/MCABillingAccountQueryGrouping.json
        BillingProfileQuery-MCA:
          $ref: ../examples/MCABillingProfileQuery.json
        BillingProfileQueryGrouping-MCA:
          $ref: ../examples/MCABillingProfileQueryGrouping.json
        CustomerQuery-MCA:
          $ref: ../examples/MCACustomerQuery.json
        CustomerQueryGrouping-MCA:
          $ref: ../examples/MCACustomerQueryGrouping.json
        DepartmentQuery-Legacy:
          $ref: ../examples/DepartmentQuery.json
        DepartmentQueryGrouping-Legacy:
          $ref: ../examples/DepartmentQueryGrouping.json
        EnrollmentAccountQuery-Legacy:
          $ref: ../examples/EnrollmentAccountQuery.json
        EnrollmentAccountQueryGrouping-Legacy:
          $ref: ../examples/EnrollmentAccountQueryGrouping.json
        InvoiceSectionQuery-MCA:
          $ref: ../examples/MCAInvoiceSectionQuery.json
        InvoiceSectionQueryGrouping-MCA:
          $ref: ../examples/MCAInvoiceSectionQueryGrouping.json
        ManagementGroupQuery-Legacy:
          $ref: ../examples/ManagementGroupQuery.json
        ManagementGroupQueryGrouping-Legacy:
          $ref: ../examples/ManagementGroupQueryGrouping.json
        ResourceGroupQuery-Legacy:
          $ref: ../examples/ResourceGroupQuery.json
        ResourceGroupQueryGrouping-Legacy:
          $ref: ../examples/ResourceGroupQueryGrouping.json
        SubscriptionQuery-Legacy:
          $ref: ../examples/SubscriptionQuery.json
        SubscriptionQueryGrouping-Legacy:
          $ref: ../examples/SubscriptionQueryGrouping.json
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryDefinition'
        description: Parameters supplied to the CreateOrUpdate Query Config operation.
        required: true
      tags:
      - Providers
  /providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/alerts:
    get:
      operationId: Alerts_ListExternal
      description: Lists the Alerts for external cloud provider type defined.
      externalDocs:
        url: https://docs.microsoft.com/en-us/rest/api/costmanagement/
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: externalCloudProviderType
        in: path
        description: The external cloud provider type associated with dimension/query operations. This includes 'externalSubscriptions'
          for linked account and 'externalBillingAccounts' for consolidated account.
        required: true
        x-ms-enum:
          name: ExternalCloudProviderType
          modelAsString: true
          values:
          - name: externalSubscriptions
            value: externalSubscriptions
          - name: externalBillingAccounts
            value: externalBillingAccounts
        schema:
          type: string
          enum:
          - externalSubscriptions
          - externalBillingAccounts
      - name: externalCloudProviderId
        in: path
        description: This can be '{externalSubscriptionId}' for linked account or '{externalBillingAccountId}' for consolidated
          account used with dimension/query operations.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertsResult'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-ms-examples:
        ExternalBillingAccountAlerts:
          $ref: ../examples/ExternalBillingAccountAlerts.json
        ExternalSubscriptionAlerts:
          $ref: ../examples/ExternalSubscriptionAlerts.json
      tags:
      - Providers
  /providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/dimensions:
    get:
      operationId: Dimensions_ByExternalCloudProviderType
      description: Lists the dimensions by the external cloud provider type.
      externalDocs:
        url: https://docs.microsoft.com/en-us/rest/api/costmanagement/
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: externalCloudProviderType
        in: path
        description: The external cloud provider type associated with dimension/query operations. This includes 'externalSubscriptions'
          for linked account and 'externalBillingAccounts' for consolidated account.
        required: true
        x-ms-enum:
          name: ExternalCloudProviderType
          modelAsString: true
          values:
          - name: externalSubscriptions
            value: externalSubscriptions
          - name: externalBillingAccounts
            value: externalBillingAccounts
        schema:
          type: string
          enum:
          - externalSubscriptions
          - externalBillingAccounts
      - name: externalCloudProviderId
        in: path
        description: This can be '{externalSubscriptionId}' for linked account or '{externalBillingAccountId}' for consolidated
          account used with dimension/query operations.
        required: true
        schema:
          type: string
      - name: $filter
        in: query
        description: May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd.
          Supported operators are 'eq','lt', 'gt', 'le', 'ge'.
        required: false
        schema:
          type: string
      - name: $expand
        in: query
        description: May be used to expand the properties/data within a dimension category. By default, data is not included
          when listing dimensions.
        required: false
        schema:
          type: string
      - name: $skiptoken
        in: query
        descr

# --- truncated at 32 KB (150 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure-cost-management/refs/heads/main/openapi/microsoft-azure-cost-management-providers-api-openapi.yml