Microsoft Azure Billing Benefits Rp

Microsoft Azure Billing Benefits RP is a service provided by Microsoft Azure that offers a comprehensive and easy-to-use platform for managing billing and cost analysis. With this service, users are able to track and monitor their Azure usage in real-time, view detailed reports on costs and usage trends, and optimize their spending by identifying areas for potential cost savings.

OpenAPI Specification

billing-benefits-rp-openapi-original.yml Raw ↑
swagger: '2.0'
info:
  version: '2022-11-01'
  title: Microsoft Azure Billing benefits RP
  description: Azure Benefits RP let users create and manage benefits like savings plan.
host: management.azure.com
schemes:
  - https
consumes:
  - application/json
produces:
  - application/json
security:
  - azure_auth:
      - user_impersonation
securityDefinitions:
  azure_auth:
    type: oauth2
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    flow: implicit
    description: Azure Active Directory OAuth2 Flow
    scopes:
      user_impersonation: impersonate your user account
paths:
  /providers/Microsoft.BillingBenefits/operations:
    get:
      summary: 'Microsoft Azure Get Operations'
      description: List all the operations.
      operationId: microsoftAzureOperationsList
      x-ms-examples:
        OperationsGet:
          $ref: ./examples/OperationsGet.json
      x-ms-pageable:
        nextLinkName: nextLink
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
      tags:
        - Benefits Operations
      responses:
        '200':
          description: List all the operations.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult
        default:
          description: Error response describing why the operation failed
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
  /providers/Microsoft.BillingBenefits/savingsPlanOrderAliases/{savingsPlanOrderAliasName}:
    put:
      description: >-
        Create a savings plan. Learn more about permissions needed at
        https://go.microsoft.com/fwlink/?linkid=2215851
      operationId: microsoftAzureSavingsplanorderaliasCreate
      externalDocs:
        url: https://go.microsoft.com/fwlink/?linkid=2215851/
      tags:
        - Savings Plan Order Aliases
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
      x-ms-examples:
        SavingsPlanOrderAliasCreate:
          $ref: ./examples/SavingsPlanOrderAliasCreate.json
        SavingsPlanOrderAliasCreateSingleScope:
          $ref: ./examples/SavingsPlanOrderAliasCreateSingleScope.json
      parameters:
        - $ref: '#/parameters/SavingsPlanOrderAliasNameParameter'
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SavingsPlanOrderAliasRequestParameter'
      responses:
        '200':
          description: The resource has been created.
          schema:
            $ref: '#/definitions/SavingsPlanOrderAliasModel'
        '201':
          description: The request is being processed.
          schema:
            $ref: '#/definitions/SavingsPlanOrderAliasModel'
          headers:
            Azure-AsyncOperation:
              type: string
              description: URL for checking the ongoing status of the operation.
            Retry-After:
              type: integer
              format: int32
              description: >-
                Clients should wait for the Retry-After interval before polling
                again
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: >-
        Microsoft Azure Put Providers Microsoft Billingbenefits Savingsplanorderaliases Savingsplanorderaliasname
    get:
      description: Get a savings plan.
      operationId: microsoftAzureSavingsplanorderaliasGet
      tags:
        - Savings Plan Order Aliases
      x-ms-examples:
        SavingsPlanOrderAliasGet:
          $ref: ./examples/SavingsPlanOrderAliasGet.json
      parameters:
        - $ref: '#/parameters/SavingsPlanOrderAliasNameParameter'
        - $ref: '#/parameters/ApiVersionParameter'
      responses:
        '200':
          description: The request is completed.
          schema:
            $ref: '#/definitions/SavingsPlanOrderAliasModel'
        default:
          description: Unexpected error.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: >-
        Microsoft Azure Get Providers Microsoft Billingbenefits Savingsplanorderaliases Savingsplanorderaliasname
  /providers/Microsoft.BillingBenefits/savingsPlanOrders/{savingsPlanOrderId}:
    get:
      description: Get a savings plan order.
      operationId: microsoftAzureSavingsplanorderGet
      tags:
        - Savings Plan Order
      x-ms-examples:
        SavingsPlanOrderGet:
          $ref: ./examples/SavingsPlanOrderGet.json
        SavingsPlanOrderWithExpandedPaymentsGet:
          $ref: ./examples/SavingsPlanOrderExpandedGet.json
      parameters:
        - $ref: '#/parameters/SavingsPlanOrderIdParameter'
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/ExpandParameter'
      responses:
        '200':
          description: The request is completed.
          schema:
            $ref: '#/definitions/SavingsPlanOrderModel'
        default:
          description: Unexpected error.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: >-
        Microsoft Azure Get Providers Microsoft Billingbenefits Savingsplanorders Savingsplanorderid
  /providers/Microsoft.BillingBenefits/savingsPlanOrders/{savingsPlanOrderId}/elevate:
    post:
      description: Elevate as owner on savings plan order based on billing permissions.
      operationId: microsoftAzureSavingsplanorderElevate
      tags:
        - Savings Plan Order
      x-ms-examples:
        SavingsPlanOrderElevate:
          $ref: ./examples/SavingsPlanOrderElevate.json
      parameters:
        - $ref: '#/parameters/SavingsPlanOrderIdParameter'
        - $ref: '#/parameters/ApiVersionParameter'
      responses:
        '200':
          description: The request is completed.
          schema:
            $ref: '#/definitions/RoleAssignmentEntity'
        default:
          description: Unexpected error.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: >-
        Microsoft Azure Post Providers Microsoft Billingbenefits Savingsplanorders Savingsplanorderid Elevate
  /providers/Microsoft.BillingBenefits/savingsPlanOrders:
    get:
      description: List all Savings plan orders.
      operationId: microsoftAzureSavingsplanorderList
      tags:
        - Savings Plan Order
      x-ms-pageable:
        nextLinkName: nextLink
      x-ms-examples:
        SavingsPlanOrderList:
          $ref: ./examples/SavingsPlanOrderList.json
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
      responses:
        '200':
          description: The request is completed.
          schema:
            $ref: '#/definitions/SavingsPlanOrderModelList'
        default:
          description: Unexpected error.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: Microsoft Azure Get Providers Microsoft Billingbenefits Savingsplanorders
  /providers/Microsoft.BillingBenefits/savingsPlanOrders/{savingsPlanOrderId}/savingsPlans:
    get:
      description: List savings plans in an order.
      operationId: microsoftAzureSavingsplanList
      tags:
        - Savings Plan
      x-ms-pageable:
        nextLinkName: nextLink
      x-ms-examples:
        SavingsPlansInOrderList:
          $ref: ./examples/SavingsPlansInOrderList.json
      parameters:
        - $ref: '#/parameters/SavingsPlanOrderIdParameter'
        - $ref: '#/parameters/ApiVersionParameter'
      responses:
        '200':
          description: The request is completed.
          schema:
            $ref: '#/definitions/SavingsPlanModelList'
        default:
          description: Unexpected error.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: >-
        Microsoft Azure Get Providers Microsoft Billingbenefits Savingsplanorders Savingsplanorderid Savingsplans
  /providers/Microsoft.BillingBenefits/savingsPlans:
    get:
      description: List savings plans.
      operationId: microsoftAzureSavingsplanListall
      tags:
        - Savings Plan
      x-ms-pageable:
        nextLinkName: nextLink
      x-ms-examples:
        SavingsPlansList:
          $ref: ./examples/SavingsPlansList.json
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - name: $filter
          description: >-
            May be used to filter by reservation properties. The filter supports
            'eq', 'or', and 'and'. It does not currently support 'ne', 'gt',
            'le', 'ge', or 'not'. Reservation properties include sku/name,
            properties/{appliedScopeType, archived, displayName,
            displayProvisioningState, effectiveDateTime, expiryDate,
            provisioningState, quantity, renew, reservedResourceType, term,
            userFriendlyAppliedScopeType, userFriendlyRenewState}
          in: query
          required: false
          type: string
        - name: $orderby
          description: May be used to sort order by reservation properties.
          in: query
          required: false
          type: string
        - name: refreshSummary
          description: >-
            To indicate whether to refresh the roll up counts of the savings
            plans group by provisioning states
          in: query
          required: false
          type: string
        - name: $skiptoken
          description: >-
            The number of savings plans to skip from the list before returning
            results
          in: query
          required: false
          type: number
        - name: selectedState
          description: The selected provisioning state
          in: query
          required: false
          type: string
        - name: take
          description: To number of savings plans to return
          in: query
          required: false
          type: number
      responses:
        '200':
          description: The request is completed.
          schema:
            $ref: '#/definitions/SavingsPlanModelListResult'
        default:
          description: Unexpected error.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: Microsoft Azure Get Providers Microsoft Billingbenefits Savingsplans
  /providers/Microsoft.BillingBenefits/savingsPlanOrders/{savingsPlanOrderId}/savingsPlans/{savingsPlanId}:
    get:
      description: Get savings plan.
      operationId: microsoftAzureSavingsplanGet
      tags:
        - Savings Plan
      x-ms-examples:
        SavingsPlanItemGet:
          $ref: ./examples/SavingsPlanItemGet.json
        SavingsPlanItemWithExpandedRenewPropertiesGet:
          $ref: ./examples/SavingsPlanItemExpandedGet.json
      parameters:
        - $ref: '#/parameters/SavingsPlanOrderIdParameter'
        - $ref: '#/parameters/SavingsPlanIdParameter'
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/ExpandParameter'
      responses:
        '200':
          description: The request is completed.
          schema:
            $ref: '#/definitions/SavingsPlanModel'
        default:
          description: Unexpected error.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: >-
        Microsoft Azure Get Providers Microsoft Billingbenefits Savingsplanorders Savingsplanorderid Savingsplans Savingsplanid
    patch:
      description: Update savings plan.
      operationId: microsoftAzureSavingsplanUpdate
      tags:
        - Savings Plan
      x-ms-examples:
        SavingsPlanUpdate:
          $ref: ./examples/SavingsPlanUpdate.json
      parameters:
        - $ref: '#/parameters/SavingsPlanOrderIdParameter'
        - $ref: '#/parameters/SavingsPlanIdParameter'
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SavingsPlanUpdateRequestParameter'
      responses:
        '200':
          description: The request is completed.
          schema:
            $ref: '#/definitions/SavingsPlanModel'
        '202':
          description: The request is accepted.
          headers:
            Location:
              type: string
        '404':
          description: Not found.
          x-ms-error-response: true
        default:
          description: Unexpected error.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: >-
        Microsoft Azure Patch Providers Microsoft Billingbenefits Savingsplanorders Savingsplanorderid Savingsplans Savingsplanid
  /providers/Microsoft.BillingBenefits/savingsPlanOrders/{savingsPlanOrderId}/savingsPlans/{savingsPlanId}/validate:
    post:
      description: Validate savings plan patch.
      operationId: microsoftAzureSavingsplanValidateupdate
      tags:
        - Savings Plan
      x-ms-examples:
        SavingsPlanValidateUpdate:
          $ref: ./examples/SavingsPlanValidateUpdate.json
      parameters:
        - $ref: '#/parameters/SavingsPlanOrderIdParameter'
        - $ref: '#/parameters/SavingsPlanIdParameter'
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SavingsPlanUpdateValidateRequestParameter'
      responses:
        '200':
          description: The request is completed.
          schema:
            $ref: '#/definitions/SavingsPlanValidateResponse'
        default:
          description: Unexpected error.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: >-
        Microsoft Azure Post Providers Microsoft Billingbenefits Savingsplanorders Savingsplanorderid Savingsplans Savingsplanid Validate
  /providers/Microsoft.BillingBenefits/validate:
    post:
      description: Validate savings plan purchase.
      operationId: microsoftAzureValidatepurchase
      tags:
        - Savings Plan
      x-ms-examples:
        SavingsPlanValidatePurchase:
          $ref: ./examples/SavingsPlanValidatePurchase.json
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SavingsPlanPurchaseValidateRequestParameter'
      responses:
        '200':
          description: The request is completed.
          schema:
            $ref: '#/definitions/SavingsPlanValidateResponse'
        default:
          description: Unexpected error.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: Microsoft Azure Post Providers Microsoft Billingbenefits Validate
  /providers/Microsoft.BillingBenefits/reservationOrderAliases/{reservationOrderAliasName}:
    put:
      description: Create a reservation order alias.
      operationId: microsoftAzureReservationorderaliasCreate
      tags:
        - Reservation Order Aliases
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
      x-ms-examples:
        ReservationOrderAliasCreate:
          $ref: ./examples/ReservationOrderAliasCreate.json
      parameters:
        - $ref: '#/parameters/ReservationOrderAliasNameParameter'
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/ReservationOrderAliasRequestParameter'
      responses:
        '200':
          description: The resource has been created.
          schema:
            $ref: '#/definitions/ReservationOrderAliasResponse'
        '201':
          description: The request is being processed.
          schema:
            $ref: '#/definitions/ReservationOrderAliasResponse'
          headers:
            Azure-AsyncOperation:
              type: string
              description: URL for checking the ongoing status of the operation.
            Retry-After:
              type: integer
              format: int32
              description: >-
                Clients should wait for the Retry-After interval before polling
                again
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: >-
        Microsoft Azure Put Providers Microsoft Billingbenefits Reservationorderaliases Reservationorderaliasname
    get:
      description: Get a reservation order alias.
      operationId: microsoftAzureReservationorderaliasGet
      tags:
        - Reservation Order Aliases
      x-ms-examples:
        ReservationOrderAliasGet:
          $ref: ./examples/ReservationOrderAliasGet.json
      parameters:
        - $ref: '#/parameters/ReservationOrderAliasNameParameter'
        - $ref: '#/parameters/ApiVersionParameter'
      responses:
        '200':
          description: The request is completed.
          schema:
            $ref: '#/definitions/ReservationOrderAliasResponse'
        default:
          description: Unexpected error.
          schema:
            $ref: >-
              ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse
      summary: >-
        Microsoft Azure Get Providers Microsoft Billingbenefits Reservationorderaliases Reservationorderaliasname
definitions:
  Sku:
    type: object
    description: The SKU to be applied for this resource
    properties:
      name:
        type: string
        description: Name of the SKU to be applied
  SavingsPlanOrderAliasModel:
    type: object
    description: Savings plan order alias
    required:
      - sku
    allOf:
      - $ref: >-
          ../../../../../common-types/resource-management/v3/types.json#/definitions/Resource
    properties:
      sku:
        description: Savings plan SKU
        $ref: '#/definitions/Sku'
      kind:
        type: string
        description: Resource provider kind
      properties:
        description: Savings plan order alias properties
        x-ms-client-flatten: true
        $ref: '#/definitions/SavingsPlanOrderAliasProperties'
    x-ms-azure-resource: true
  SavingsPlanOrderAliasProperties:
    type: object
    description: Savings plan properties
    properties:
      displayName:
        $ref: '#/definitions/DisplayName'
      savingsPlanOrderId:
        type: string
        description: Identifier of the savings plan created
        readOnly: true
      provisioningState:
        $ref: '#/definitions/ProvisioningState'
      billingScopeId:
        $ref: '#/definitions/BillingScopeId'
      term:
        $ref: '#/definitions/Term'
      billingPlan:
        $ref: '#/definitions/BillingPlan'
      appliedScopeType:
        $ref: '#/definitions/AppliedScopeType'
      appliedScopeProperties:
        $ref: '#/definitions/AppliedScopeProperties'
      commitment:
        $ref: '#/definitions/Commitment'
      renew:
        $ref: '#/definitions/Renew'
  BillingScopeId:
    type: string
    description: Subscription that will be charged for purchasing the benefit
  BillingProfileId:
    type: string
    readOnly: true
    description: >-
      Fully-qualified identifier of the billing profile where the savings plan
      is applied. Present only for Field-led or Customer-led customers.
  CustomerId:
    type: string
    readOnly: true
    description: >-
      Fully-qualified identifier of the customer where the savings plan is
      applied. Present only for Partner-led customers.
  BillingAccountId:
    type: string
    readOnly: true
    description: >-
      Fully-qualified identifier of the billing account where the savings plan
      is applied. Present only for Enterprise Agreement customers.
  ReservedResourceType:
    type: string
    description: The type of the resource that is being reserved.
    enum:
      - VirtualMachines
      - SqlDatabases
      - SuseLinux
      - CosmosDb
      - RedHat
      - SqlDataWarehouse
      - VMwareCloudSimple
      - RedHatOsa
      - Databricks
      - AppService
      - ManagedDisk
      - BlockBlob
      - RedisCache
      - AzureDataExplorer
      - MySql
      - MariaDb
      - PostgreSql
      - DedicatedHost
      - SapHana
      - SqlAzureHybridBenefit
      - AVS
      - DataFactory
      - NetAppStorage
      - AzureFiles
      - SqlEdge
      - VirtualMachineSoftware
    x-ms-enum:
      name: ReservedResourceType
      modelAsString: true
  ProvisioningState:
    type: string
    description: Provisioning state
    readOnly: true
    enum:
      - Creating
      - PendingBilling
      - ConfirmedBilling
      - Created
      - Succeeded
      - Cancelled
      - Expired
      - Failed
    x-ms-enum:
      name: ProvisioningState
      modelAsString: true
  BillingPlan:
    type: string
    description: >-
      Represents the billing plan in ISO 8601 format. Required only for monthly
      billing plans.
    enum:
      - P1M
    x-ms-enum:
      name: BillingPlan
      modelAsString: true
  Term:
    type: string
    description: Represent benefit term in ISO 8601 format.
    enum:
      - P1Y
      - P3Y
      - P5Y
    x-ms-enum:
      name: Term
      modelAsString: true
  DisplayName:
    type: string
    description: Display name
  AppliedScopeType:
    type: string
    description: Type of the Applied Scope.
    enum:
      - Single
      - Shared
      - ManagementGroup
    x-ms-enum:
      name: AppliedScopeType
      modelAsString: true
  AppliedScopeProperties:
    type: object
    description: Properties specific to applied scope type. Not required if not applicable.
    properties:
      tenantId:
        $ref: '#/definitions/TenantId'
      managementGroupId:
        $ref: '#/definitions/ManagementGroupId'
      subscriptionId:
        $ref: '#/definitions/SubscriptionId'
      resourceGroupId:
        $ref: '#/definitions/ResourceGroupId'
      displayName:
        type: string
        description: Display name
  TenantId:
    type: string
    description: Tenant ID where the benefit is applied.
  ManagementGroupId:
    type: string
    description: >-
      Fully-qualified identifier of the management group where the benefit must
      be applied.
  SubscriptionId:
    type: string
    description: Fully-qualified identifier of the subscription.
  ResourceGroupId:
    type: string
    description: Fully-qualified identifier of the resource group.
  Renew:
    type: boolean
    default: false
    description: >-
      Setting this to true will automatically purchase a new benefit on the
      expiration date time.
  Commitment:
    type: object
    description: Commitment towards the benefit.
    allOf:
      - $ref: '#/definitions/Price'
    properties:
      grain:
        type: string
        description: Commitment grain.
        enum:
          - Hourly
        x-ms-enum:
          name: CommitmentGrain
          modelAsString: true
  Utilization:
    readOnly: true
    type: object
    description: Savings plan utilization
    properties:
      trend:
        description: The number of days trend for a savings plan
        readOnly: true
        type: string
      aggregates:
        description: The array of aggregates of a savings plan's utilization
        type: array
        items:
          $ref: '#/definitions/UtilizationAggregates'
        x-ms-identifiers: []
  UtilizationAggregates:
    description: The aggregate values of savings plan utilization
    type: object
    properties:
      grain:
        description: The grain of the aggregate
        readOnly: true
        type: number
      grainUnit:
        description: The grain unit of the aggregate
        readOnly: true
        type: string
      value:
        description: The aggregate value
        readOnly: true
        type: number
      valueUnit:
        description: The aggregate value unit
        readOnly: true
        type: string
  SavingsPlanId:
    type: string
    description: Identifier of the savings plan
    readOnly: true
  EffectiveDateTime:
    type: string
    format: date-time
    description: DateTime of the savings plan starts providing benefit from.
    readOnly: true
  ExpiryDateTime:
    type: string
    description: Expiry date time
    readOnly: true
    format: date-time
  PurchaseDateTime:
    type: string
    description: Date time when the savings plan was purchased
    readOnly: true
    format: date-time
  BenefitStartTime:
    type: string
    format: date-time
    description: This is the DateTime when the savings plan benefit started.
  SavingsPlanModelListResult:
    type: object
    properties:
      value:
        description: The list of savings plans.
        type: array
        readOnly: true
        items:
          $ref: '#/definitions/SavingsPlanModel'
      nextLink:
        type: string
        readOnly: true
        description: Url to get the next page.
      additionalProperties:
        description: The roll out count summary of the savings plans
        type: array
        readOnly: true
        items:
          $ref: '#/definitions/SavingsPlanSummary'
        x-ms-identifiers: []
  SavingsPlanModelList:
    type: object
    properties:
      value:
        type: array
        items:
          $ref: '#/definitions/SavingsPlanModel'
        x-ms-identifiers: []
      nextLink:
        type: string
        description: Url to get the next page.
  SavingsPlanModel:
    type: object
    description: Savings plan
    required:
      - sku
    allOf:
      - $ref: >-
          ../../../../../common-types/resource-management/v3/types.json#/definitions/Resource
    properties:
      sku:
        description: Savings plan SKU
        $ref: '#/definitions/Sku'
      properties:
        description: Savings plan properties
        x-ms-client-flatten: true
        $ref: '#/definitions/SavingsPlanModelProperties'
  SavingsPlanModelProperties:
    type: object
    description: Savings plan properties
    properties:
      displayName:
        $ref: '#/definitions/DisplayName'
      provisioningState:
        $ref: '#/definitions/ProvisioningState'
      displayProvisioningState:
        description: The provisioning state of the savings plan for display, e.g. Succeeded
        type: string
        readOnly: true
      billingScopeId:
        $ref: '#/definitions/BillingScopeId'
      billingProfileId:
        $ref: '#/definitions/BillingProfileId'
      customerId:
        $ref: '#/definitions/CustomerId'
      billingAccountId:
        $ref: '#/definitions/BillingAccountId'
      term:
        $ref: '#/definitions/Term'
      billingPlan:
        $ref: '#/definitions/BillingPlan'
      appliedScopeType:
        $ref: '#/definitions/AppliedScopeType'
      userFriendlyAppliedScopeType:
        description: The applied scope type of the savings plan for display, e.g. Shared
        type: string
        readOnly: true
      appliedScopeProperties:
        $ref: '#/definitions/AppliedScopeProperties'
      commitment:
        $ref: '#/definitions/Commitment'
      effectiveDateTime:
        $ref: '#/definitions/EffectiveDateTime'
      expiryDateTime:
        $ref: '#/definitions/ExpiryDateTime'
      purchaseDateTime:
        $ref: '#/definitions/PurchaseDateTime'
      benefitStartTime:
        $ref: '#/definitions/BenefitStartTime'
      extendedStatusInfo:
        $ref: '#/definitions/ExtendedStatusInfo'
      renew:
        $ref: '#/definitions/Renew'
      utilization:
        $ref: '#/definitions/Utilization'
      renewSource:
        $ref: '#/definitions/RenewSource'
      renewDestination:
        $ref: '#/definitions/RenewDestination'
      renewProperties:
        $ref: '#/definitions/RenewProperties'
  SavingsPlanOrderModelList:
    type: object
    properties:
      value:
        type: array
        items:
          $ref: '#/definitions/SavingsPlanOrderModel'
      nextLink:
        type: string
        description: Url to get the next page.
  SavingsPlanOrderModel:
    type: object
    description: Savings plan order
    required:
      - sku
    allOf:
      - $ref: >-
          ../../../../../common-types/resource-management/v3/types.json#/definitions/Resource
    properties:
      sku:
        description: Savings plan SKU
        $ref: '#/definitions/Sku'
      properties:
        description: Savings plan order properties
        x-ms-client-flatten: true
        $ref: '#/definitions/SavingsPlanOrderModelProperties'
  SavingsPlanOrderModelProperties:
    type: object
    description: Savings plan order properties
    properties:
      displayName:
        $ref: '#/definitions/DisplayName'
      provisioningState:
        $ref: '#/definitions/ProvisioningState'
      billingScopeId:
        $ref: '#/definitions/BillingScopeId'
      billingProfileId:
        $ref: '#/definitions/BillingProfileId'
      customerId:
        $ref: '#/definitions/CustomerId'
      billingAccountId:
        $ref: '#/definitions/BillingAccountId'
      term:
        $ref: '#/definitions/Term'
      billingPlan:
        $ref: '#/definitions/BillingPlan'
      expiryDateTime:
        $ref: '#/definitions/ExpiryDateTime'
      benefitStartTime:
        $ref: '#/definitions/BenefitStartTime'
      planInformation:
        $ref: '#/definitions/BillingPlanInformation'
      savingsPlans:
        type: array
        items:
          $ref: '#/definitions/SavingsPlanId'
      extendedStatusInfo:
        $ref: '#/definitions/ExtendedStatusInfo'
  SavingsPlanUpdateRequest:
    type: object
    description: Savings plan patch request
    properties:
      properties:
        $ref: '#/definitions/SavingsPlanUpdateRequestProperties'
  SavingsPlanUpdateRequestProperties:
    type: object
    description: Savings plan patch request
    properties:
      displayName:
        $ref: '#/definitions/DisplayName'
      appliedScopeType:
        $ref: '#/definitions/AppliedScopeType'
      appliedScopeProperties:
        $ref: '#/definitions/AppliedScopeProperties'
      renew:
        $ref: '#/definitions/Renew'
      renewProperties:
        $ref: '#/definitions/RenewProperties'
  Price:
    type: object
    properties:
      currencyCode:
        type: string
        description: >-
          The ISO 4217 3-letter currency code for the currency used by this
          purchase record.
      amount:
        type: number
        format: double
  BillingPlanInformation:
    type: object
    description: Information describing the type of billing plan for this savings plan.
    properties:
      pricingCurrencyTotal:
        $ref: '#/definitions/Price'
        description: Amount of money to be paid for the Order. Tax is not included.
      startDate:
        type: string
        format: date
        description: Date when the billing plan has started.
      nextPaymentDueDate:
        type: string
        format: date
        description: >-
          For recurring billing plans, indicates the date when next payment will
          be processed. Null when total is paid off.
      transactions:
        type: array
        items:
          $ref: '#/definitions/PaymentDetail'
        x-ms-identifiers: []
  PaymentDetail:
    type: object
    description: Information about payment related to a savings plan order.
    properties:
      dueDate:
        type: string
        format: date
        description: Date when the payment needs to be done.
      paymentDate:
        type: string
        format: date
        description: Date when the transaction is completed. Is null when it is scheduled.
      pricingCurrencyTotal:
        $ref: '#/definitions/Price'
        description: Amount in pricing currency. Tax not included.
      billingCurrencyTotal:
        $ref: '#/definitions/Price'
        description: >-
          Amount charged in Billing currency. Tax not included. Is null for
          future payments
      status:
        $ref: '#/definitions/PaymentStatus'
      extendedStatusInfo:
        $ref: '#/definitions/ExtendedStatusInfo'
      billingAccount:
        type: string
        description: Billing account
  PaymentStatus:
    type: string
    description: >-
      Describes w

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure/refs/heads/main/openapi/billing-benefits-rp-openapi-original.yml