> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nebius.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Estimate Batch

> Estimates prices for multiple resources.
Returns aggregated hourly and monthly cost estimates for all specified resources.



## OpenAPI

````yaml https://api.nebius.cloud/openapi.json post /billing/v1/calculator/estimate-batch
openapi: 3.0.3
info:
  title: Nebius API
  version: version not set
servers:
  - url: https://api.nebius.cloud
security:
  - bearerAuth: []
tags:
  - name: nebius.ai.v1.EndpointService
  - name: nebius.ai.v1.JobService
  - name: nebius.applications.v1alpha1.K8sReleaseService
  - name: nebius.audit.v2.AuditEventExportService
  - name: nebius.audit.v2.AuditEventService
  - name: nebius.billing.v1.CalculatorService
  - name: nebius.billing.v1alpha1.CalculatorService
  - name: nebius.billing.v1alpha1.OneTimeExportService
  - name: nebius.capacity.v1.CapacityAllowanceService
  - name: nebius.capacity.v1.CapacityBlockGroupService
  - name: nebius.capacity.v1.CapacityIntervalService
  - name: nebius.capacity.v1.ResourceAdviceService
  - name: nebius.compute.v1.DiskService
  - name: nebius.compute.v1.DiskSnapshotService
  - name: nebius.compute.v1.FilesystemService
  - name: nebius.compute.v1.GpuClusterService
  - name: nebius.compute.v1.ImageService
  - name: nebius.compute.v1.InstanceService
  - name: nebius.compute.v1.MaintenanceService
  - name: nebius.compute.v1.NVLInstanceGroupService
  - name: nebius.compute.v1.NodeService
  - name: nebius.compute.v1.PlatformService
  - name: nebius.dns.v1.RecordService
  - name: nebius.dns.v1.ZoneService
  - name: nebius.iam.v1.AccessKeyService
  - name: nebius.iam.v1.AccessPermitService
  - name: nebius.iam.v1.AuthPublicKeyService
  - name: nebius.iam.v1.FederatedCredentialsService
  - name: nebius.iam.v1.FederationCertificateService
  - name: nebius.iam.v1.FederationService
  - name: nebius.iam.v1.GroupMembershipService
  - name: nebius.iam.v1.GroupService
  - name: nebius.iam.v1.InvitationService
  - name: nebius.iam.v1.ProfileService
  - name: nebius.iam.v1.ProjectService
  - name: nebius.iam.v1.ServiceAccountService
  - name: nebius.iam.v1.SessionManagementService
  - name: nebius.iam.v1.StaticKeyService
  - name: nebius.iam.v1.TenantService
  - name: nebius.iam.v1.TenantUserAccountService
  - name: nebius.iam.v1.TenantUserAccountWithAttributesService
  - name: nebius.iam.v2.AccessKeyService
  - name: nebius.iam.v2.ProjectService
  - name: nebius.iam.v2.TenantService
  - name: nebius.kms.v1.AsymmetricCryptoService
  - name: nebius.kms.v1.AsymmetricKeyService
  - name: nebius.kms.v1.SymmetricCryptoService
  - name: nebius.kms.v1.SymmetricKeyService
  - name: nebius.logging.agentmanager.v1.VersionService
  - name: nebius.logging.v1.LogExportService
  - name: nebius.maintenance.v1alpha1.MaintenanceService
  - name: nebius.mk8s.v1.ClusterService
  - name: nebius.mk8s.v1.NodeGroupService
  - name: nebius.mk8s.v1alpha1.ClusterService
  - name: nebius.mk8s.v1alpha1.NodeGroupService
  - name: nebius.msp.mlflow.v1alpha1.ClusterService
  - name: nebius.msp.postgresql.v1alpha1.BackupService
  - name: nebius.msp.postgresql.v1alpha1.ClusterService
  - name: nebius.mysterybox.v1.PayloadService
  - name: nebius.mysterybox.v1.SecretService
  - name: nebius.mysterybox.v1.SecretVersionService
  - name: nebius.quotas.v1.QuotaAllowanceService
  - name: nebius.registry.v1.ArtifactService
  - name: nebius.registry.v1.RegistryService
  - name: nebius.storage.v1.BucketService
  - name: nebius.storage.v1.TransferService
  - name: nebius.storage.v1alpha1.TransferService
  - name: nebius.tunnel.v1.TunnelService
  - name: nebius.vpc.v1.AllocationService
  - name: nebius.vpc.v1.NetworkService
  - name: nebius.vpc.v1.PoolService
  - name: nebius.vpc.v1.RouteService
  - name: nebius.vpc.v1.RouteTableService
  - name: nebius.vpc.v1.SecurityGroupService
  - name: nebius.vpc.v1.SecurityRuleService
  - name: nebius.vpc.v1.SubnetService
  - name: nebius.vpc.v1.TargetGroupService
  - name: nebius.vpc.v1alpha1.AllocationService
  - name: nebius.vpc.v1alpha1.NetworkService
  - name: nebius.vpc.v1alpha1.PoolService
  - name: nebius.vpc.v1alpha1.ScopeService
  - name: nebius.vpc.v1alpha1.SubnetService
paths:
  /billing/v1/calculator/estimate-batch:
    post:
      tags:
        - nebius.billing.v1.CalculatorService
      summary: Estimate Batch
      description: >-
        Estimates prices for multiple resources.

        Returns aggregated hourly and monthly cost estimates for all specified
        resources.
      operationId: CalculatorService_EstimateBatch
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/billingV1EstimateBatchRequest'
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/billingV1EstimateBatchResponse'
          description: A successful response.
components:
  schemas:
    billingV1EstimateBatchRequest:
      properties:
        currency:
          description: >-
            Currency for the cost estimate (e.g., "usd", "ils"). Defaults to
            "usd".
          type: string
        filterAggregationUnit:
          $ref: '#/components/schemas/v1FilterAggregationUnit'
        offerTypes:
          description: Type of offers to be applied to the cost estimate.
          items:
            $ref: '#/components/schemas/billingV1OfferType'
          type: array
        resourceSpecs:
          description: >-
            List of resource specifications for cost estimation.

            Each resource will be priced individually and then aggregated into
            total costs.
          items:
            $ref: '#/components/schemas/billingV1ResourceSpec'
          type: array
      type: object
    billingV1EstimateBatchResponse:
      properties:
        currency:
          description: Currency used for the estimate.
          type: string
        resourceCosts:
          items:
            $ref: '#/components/schemas/v1ResourceCost'
          type: array
        totalCosts:
          description: Total cost for all resource units.
          items:
            $ref: '#/components/schemas/v1TotalCost'
          type: array
      type: object
    v1FilterAggregationUnit:
      description: >-
        Filters only time-based aggregation units, e.g. hour, day, month, etc.

        If response contains other aggregation units like request, token, etc.,
        it will always be presented in response.
      properties:
        filterAggregationUnitValues:
          description: >-
            List of time aggregation unit values to filter by.

            Only costs for these time units will be included in the response,
            but it doesn't filter not time-based units.
          items:
            $ref: >-
              #/components/schemas/FilterAggregationUnitFilterAggregationUnitValue
          type: array
      type: object
    billingV1OfferType:
      default: OFFER_TYPE_UNSPECIFIED
      description: |-
        OfferType is a enum that specifies the type of offer.

         - OFFER_TYPE_CONTRACT_PRICE: Contract price is a special price for SKU.
      enum:
        - OFFER_TYPE_UNSPECIFIED
        - OFFER_TYPE_CONTRACT_PRICE
      type: string
    billingV1ResourceSpec:
      description: >-
        Resource specification for cost estimation.

        Contains the specifications for creating and updating different types of
        resources.
      properties:
        spec:
          $ref: '#/components/schemas/protobufAny'
      type: object
    v1ResourceCost:
      description: |-
        Cost information for a single resource.
        Contains metadata about the resource and its cost.
      properties:
        aggregationUnit:
          $ref: '#/components/schemas/v1AggregationUnit'
        autoscale:
          $ref: '#/components/schemas/v1AutoscaleResourceCost'
        fixedInstance:
          $ref: '#/components/schemas/v1FixedInstanceResourceCost'
        general:
          $ref: '#/components/schemas/v1GeneralResourceCost'
        metadata:
          $ref: '#/components/schemas/commonV1ResourceMetadata'
        overrideMetadata:
          $ref: '#/components/schemas/commonV1ResourceMetadata'
      type: object
    v1TotalCost:
      description: Total cost for a single resource unit.
      properties:
        aggregationUnit:
          $ref: '#/components/schemas/v1AggregationUnit'
        general:
          $ref: '#/components/schemas/v1GeneralResourceCost'
        range:
          $ref: '#/components/schemas/v1RangeTotalCost'
      type: object
    FilterAggregationUnitFilterAggregationUnitValue:
      default: FILTER_AGGREGATION_UNIT_UNSPECIFIED
      description: >-
        List of time aggregation unit values to filter by.

        Only costs for these time units will be included in the response, but it
        doesn't filter not time-based units.
      enum:
        - FILTER_AGGREGATION_UNIT_UNSPECIFIED
        - FILTER_AGGREGATION_UNIT_MINUTE
        - FILTER_AGGREGATION_UNIT_HOUR
        - FILTER_AGGREGATION_UNIT_DAY
        - FILTER_AGGREGATION_UNIT_WEEK
        - FILTER_AGGREGATION_UNIT_MONTH
      type: string
    protobufAny:
      additionalProperties: {}
      description: >-
        `Any` contains an arbitrary serialized protocol buffer message along
        with a

        URL that describes the type of the serialized message
      properties:
        '@type':
          description: >-
            A URL/resource name that uniquely identifies the type of the
            serialized

            protocol buffer message. This string must contain at least

            one "/" character. The last segment of the URL's path must represent

            the fully qualified name of the type (as in

            `path/google.protobuf.Duration`). The name should be in a canonical
            form

            (e.g., leading "." is not accepted).


            In practice, teams usually precompile into the binary all types that
            they

            expect it to use in the context of Any. However, for URLs which use
            the

            scheme `http`, `https`, or no scheme, one can optionally set up a
            type

            server that maps type URLs to message definitions as follows:


            * If no scheme is provided, `https` is assumed.

            * An HTTP GET on the URL must yield a [google.protobuf.Type][]
              value in binary format, or produce an error.
            * Applications are allowed to cache lookup results based on the
              URL, or have them precompiled into a binary to avoid any
              lookup. Therefore, binary compatibility needs to be preserved
              on changes to types. (Use versioned type names to manage
              breaking changes.)

            Note: this functionality is not currently available in the official

            protobuf release, and it is not used for type URLs beginning with

            type.googleapis.com. As of May 2023, there are no widely used type
            server

            implementations and no plans to implement one.


            Schemes other than `http`, `https` (or the empty scheme) might be

            used with implementation specific semantics.
          type: string
      type: object
    v1AggregationUnit:
      properties:
        unit:
          description: Resource unit value.
          type: string
        unitType:
          $ref: '#/components/schemas/AggregationUnitUnitType'
      type: object
    v1AutoscaleResourceCost:
      description: |-
        Autoscale resource cost.
        Used for resources that can automatically scale.
      properties:
        maxCost:
          $ref: '#/components/schemas/billingV1CostBreakdown'
        maxInstances:
          description: Maximum number of instances in the auto-scaling group.
          format: int32
          type: integer
        minCost:
          $ref: '#/components/schemas/billingV1CostBreakdown'
        minInstances:
          description: Minimum number of instances in the auto-scaling group.
          format: int32
          type: integer
        perInstance:
          $ref: '#/components/schemas/billingV1CostBreakdown'
      type: object
    v1FixedInstanceResourceCost:
      description: |-
        Fixed instance resource cost.
        Used for resources that have a fixed number of instances.
      properties:
        instanceCount:
          description: Number of instances in the configuration.
          format: int32
          type: integer
        perInstance:
          $ref: '#/components/schemas/billingV1CostBreakdown'
        total:
          $ref: '#/components/schemas/billingV1CostBreakdown'
      type: object
    v1GeneralResourceCost:
      description: >-
        General resource cost for single-unit resources.

        Used for resources like compute instances or disks where the unit count
        is not variable.
      properties:
        total:
          $ref: '#/components/schemas/billingV1CostBreakdown'
      type: object
    commonV1ResourceMetadata:
      description: Common resource metadata.
      properties:
        createdAt:
          description: Timestamp indicating when the resource was created.
          format: date-time
          readOnly: true
          type: string
        id:
          description: Identifier for the resource, unique for its resource type.
          type: string
        labels:
          additionalProperties:
            type: string
          description: Labels associated with the resource.
          type: object
        name:
          description: Human readable name for the resource.
          type: string
        parentId:
          description: Identifier of the parent resource to which the resource belongs.
          type: string
        resourceVersion:
          description: >-
            Version of the resource for safe concurrent modifications and
            consistent reads.

            Positive and monotonically increases on each resource spec change
            (but *not* on each change of the

            resource's container(s) or status).

            Service allows zero value or current.
          format: int64
          type: string
        updatedAt:
          description: Timestamp indicating when the resource was last updated.
          format: date-time
          readOnly: true
          type: string
      required:
        - parentId
      type: object
    v1RangeTotalCost:
      description: |-
        Range-based total cost with minimum and maximum bounds.
        Used for resources with variable pricing based on usage or scaling.
      properties:
        max:
          $ref: '#/components/schemas/billingV1CostBreakdown'
        min:
          $ref: '#/components/schemas/billingV1CostBreakdown'
      type: object
    AggregationUnitUnitType:
      default: UNIT_TYPE_UNSPECIFIED
      enum:
        - UNIT_TYPE_UNSPECIFIED
        - UNIT_TYPE_TIME_BASED
        - UNIT_TYPE_USAGE_BASED
      title: >-
        Aggregation unit type

        If unit type is one of minute, hour, day, week, month, then it's
        time-based

        Otherwise it's usage-based
      type: string
    billingV1CostBreakdown:
      description: Detailed cost breakdown showing individual SKU costs and totals.
      properties:
        cost:
          description: |-
            Total cost as a decimal string.
            Represents the sum of all SKU costs with full precision.
            Example: "42.123456789" for precise billing calculations.
          type: string
        costRounded:
          title: |-
            Total cost rounded up to 2 decimal places.
            Example: "42.13"
          type: string
        skuCosts:
          description: >-
            Individual costs for each SKU (Stock Keeping Unit) component.

            Each SKU represents a different billable component (e.g., CPU,
            memory, RAM, etc.).
          items:
            $ref: '#/components/schemas/v1SkuCost'
          type: array
      type: object
    v1SkuCost:
      description: |-
        Cost information for a specific SKU (Stock Keeping Unit).
        Represents a single billable component within a resource.
      properties:
        cost:
          description: |-
            Cost for this SKU as a decimal string.
            Calculated as quantity * unit_price with full precision.
            Example: "15.6789012345" for precise billing calculations.
          type: string
        costRounded:
          title: |-
            Cost for this SKU rounded up to 2 decimal places.
            Example: "15.68"
          type: string
        quantity:
          title: |-
            Quantity of the SKU being used as a decimal string.
            Example: "2.123"
          type: string
        quantityRounded:
          title: |-
            Quantity rounded up to 2 decimal places.
            Example: "2.13"
          type: string
        skuId:
          description: Unique identifier for the SKU.
          type: string
      type: object
  securitySchemes:
    bearerAuth:
      description: The Authorization header expects a Bearer token.
      scheme: bearer
      type: http

````