> ## 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/v1alpha1/calculators/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/v1alpha1/calculators/estimate-batch:
    post:
      tags:
        - nebius.billing.v1alpha1.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/billingV1alpha1EstimateBatchRequest'
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/billingV1alpha1EstimateBatchResponse'
          description: A successful response.
components:
  schemas:
    billingV1alpha1EstimateBatchRequest:
      properties:
        offerTypes:
          description: Type of offers to be applied to the cost estimate.
          items:
            $ref: '#/components/schemas/billingV1alpha1OfferType'
          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/billingV1alpha1ResourceSpec'
          type: array
      type: object
    billingV1alpha1EstimateBatchResponse:
      properties:
        hourlyCost:
          $ref: '#/components/schemas/v1alpha1ResourceGroupCost'
        monthlyCost:
          $ref: '#/components/schemas/v1alpha1ResourceGroupCost'
      type: object
    billingV1alpha1OfferType:
      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
    billingV1alpha1ResourceSpec:
      description: >-
        Resource specification for cost estimation.

        Contains the specifications for creating and updating different types of
        resources.
      properties:
        computeDiskSpec:
          $ref: '#/components/schemas/v1CreateDiskRequest'
        computeDiskUpdateSpec:
          $ref: '#/components/schemas/v1UpdateDiskRequest'
        computeFilesystemSpec:
          $ref: '#/components/schemas/v1CreateFilesystemRequest'
        computeFilesystemUpdateSpec:
          $ref: '#/components/schemas/v1UpdateFilesystemRequest'
        computeInstanceSpec:
          $ref: '#/components/schemas/computeV1CreateInstanceRequest'
        computeInstanceUpdateSpec:
          $ref: '#/components/schemas/computeV1UpdateInstanceRequest'
      type: object
    v1alpha1ResourceGroupCost:
      description: Cost information for a group of resources.
      properties:
        general:
          $ref: '#/components/schemas/v1alpha1GeneralTotalCost'
      type: object
    v1CreateDiskRequest:
      properties:
        metadata:
          $ref: '#/components/schemas/commonV1ResourceMetadata'
        spec:
          $ref: '#/components/schemas/nebiusComputeV1DiskSpec'
      type: object
    v1UpdateDiskRequest:
      properties:
        metadata:
          $ref: '#/components/schemas/commonV1ResourceMetadata'
        spec:
          $ref: '#/components/schemas/nebiusComputeV1DiskSpec'
      type: object
    v1CreateFilesystemRequest:
      properties:
        metadata:
          $ref: '#/components/schemas/commonV1ResourceMetadata'
        spec:
          $ref: '#/components/schemas/v1FilesystemSpec'
      type: object
    v1UpdateFilesystemRequest:
      properties:
        metadata:
          $ref: '#/components/schemas/commonV1ResourceMetadata'
        spec:
          $ref: '#/components/schemas/v1FilesystemSpec'
      type: object
    computeV1CreateInstanceRequest:
      properties:
        metadata:
          $ref: '#/components/schemas/commonV1ResourceMetadata'
        spec:
          $ref: '#/components/schemas/computeV1InstanceSpec'
      type: object
    computeV1UpdateInstanceRequest:
      properties:
        metadata:
          $ref: '#/components/schemas/commonV1ResourceMetadata'
        spec:
          $ref: '#/components/schemas/computeV1InstanceSpec'
      type: object
    v1alpha1GeneralTotalCost:
      description: |-
        General total cost with a single fixed amount.
        Used for resources with predictable, non-variable pricing.
      properties:
        total:
          $ref: '#/components/schemas/billingV1alpha1CostBreakdown'
      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
    nebiusComputeV1DiskSpec:
      properties:
        blockSizeBytes:
          description: >-
            Block size in bytes.

            The block size must be a power of two between 4096 bytes (4 KiB) and
            131072 bytes (128 KiB).

            The default value is 4096 bytes (4 KiB).
          format: int64
          type: string
        diskEncryption:
          $ref: '#/components/schemas/v1DiskEncryption'
        forbidDeletion:
          title: Prevents deletion whilst set
          type: boolean
        sizeBytes:
          format: int64
          type: string
        sizeGibibytes:
          format: int64
          type: string
        sizeKibibytes:
          format: int64
          type: string
        sizeMebibytes:
          format: int64
          type: string
        sourceImageFamily:
          $ref: '#/components/schemas/v1SourceImageFamily'
        sourceImageId:
          type: string
        sourceSnapshotId:
          type: string
        type:
          $ref: '#/components/schemas/nebiusComputeV1DiskSpecDiskType'
      required:
        - type
      type: object
    v1FilesystemSpec:
      properties:
        blockSizeBytes:
          description: >-
            Block size in bytes.

            The block size must be a power of two between 4096 bytes (4 KiB) and
            131072 bytes (128 KiB).

            The default value is 4096 bytes (4 KiB).
          format: int64
          type: string
        forbidDeletion:
          title: Prevents deletion whilst set
          type: boolean
        sizeBytes:
          format: int64
          type: string
        sizeGibibytes:
          format: int64
          type: string
        sizeKibibytes:
          format: int64
          type: string
        sizeMebibytes:
          format: int64
          type: string
        type:
          $ref: '#/components/schemas/FilesystemSpecFilesystemType'
      required:
        - type
      type: object
    computeV1InstanceSpec:
      properties:
        bootDisk:
          $ref: '#/components/schemas/v1AttachedDiskSpec'
        cloudInitUserData:
          title: >-
            Data in cloud-init format for customizing instance initialization.

            For details, see
            https://docs.nebius.com/compute/virtual-machines/manage#user-data
          type: string
        filesystems:
          description: List of Shared Filesystems attached to the instance.
          items:
            $ref: '#/components/schemas/nebiusComputeV1AttachedFilesystemSpec'
          type: array
        gpuCluster:
          $ref: '#/components/schemas/v1InstanceGpuClusterSpec'
        hostname:
          description: >-
            Instance's hostname. Used to generate default DNS record in format
            `<hostname>.<network_id>.compute.internal.`

            or `<instance_id>.<network_id>.compute.internal.` if hostname is not
            specified.
          type: string
        localDisks:
          $ref: '#/components/schemas/nebiusComputeV1LocalDisksSpec'
        networkInterfaces:
          description: List of network interfaces attached to the instance.
          items:
            $ref: '#/components/schemas/v1NetworkInterfaceSpec'
          type: array
        nvlInstanceGroupId:
          title: NVLink Instance Group ID associated with the VM
          type: string
        preemptible:
          $ref: '#/components/schemas/nebiusComputeV1PreemptibleSpec'
        recoveryPolicy:
          $ref: '#/components/schemas/v1InstanceRecoveryPolicy'
        reservationPolicy:
          $ref: '#/components/schemas/nebiusComputeV1ReservationPolicy'
        resources:
          $ref: '#/components/schemas/nebiusComputeV1ResourcesSpec'
        secondaryDisks:
          description: >-
            List of additional data disks attached to the instance beyond the
            boot disk.
          items:
            $ref: '#/components/schemas/v1AttachedDiskSpec'
          type: array
        serviceAccountId:
          title: >-
            Unique identifier of the service account associated with this
            instance.

            For details, see https://docs.nebius.com/iam/service-accounts/manage
          type: string
        stopped:
          description: Indicates whether the instance should be stopped.
          type: boolean
      required:
        - resources
        - bootDisk
      type: object
    billingV1alpha1CostBreakdown:
      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
      type: object
    v1DiskEncryption:
      properties:
        type:
          $ref: '#/components/schemas/DiskEncryptionDiskEncryptionType'
      type: object
    v1SourceImageFamily:
      properties:
        imageFamily:
          type: string
        parentId:
          type: string
      required:
        - imageFamily
      type: object
    nebiusComputeV1DiskSpecDiskType:
      default: UNSPECIFIED
      enum:
        - UNSPECIFIED
        - NETWORK_SSD
        - NETWORK_HDD
        - NETWORK_SSD_NON_REPLICATED
        - NETWORK_SSD_IO_M3
      title: >-
        the list of available types will be clarified later, it is not final
        version
      type: string
    FilesystemSpecFilesystemType:
      default: UNSPECIFIED
      enum:
        - UNSPECIFIED
        - NETWORK_SSD
        - NETWORK_HDD
        - WEKA
        - VAST
      title: >-
        - NETWORK_SSD: the list of available types will be clarified later, it
        is not final version
      type: string
    v1AttachedDiskSpec:
      properties:
        attachMode:
          $ref: '#/components/schemas/v1AttachedDiskSpecAttachMode'
        deviceId:
          description: >-
            Specifies the user-defined identifier, allowing to use
            '/dev/disk/by-id/virtio-{device_id}' as a device path in mount
            command.
          type: string
        existingDisk:
          $ref: '#/components/schemas/v1ExistingDisk'
        managedDisk:
          $ref: '#/components/schemas/v1ManagedDisk'
      required:
        - attachMode
      type: object
    nebiusComputeV1AttachedFilesystemSpec:
      properties:
        attachMode:
          $ref: '#/components/schemas/nebiusComputeV1AttachedFilesystemSpecAttachMode'
        existingFilesystem:
          $ref: '#/components/schemas/nebiusComputeV1ExistingFilesystem'
        mountTag:
          description: >-
            Specifies the user-defined identifier, allowing to use it as a
            device in mount command.
          type: string
      required:
        - attachMode
        - mountTag
      type: object
    v1InstanceGpuClusterSpec:
      properties:
        id:
          title: >-
            If you want to interconnect several instances in a GPU cluster via
            NVIDIA InfiniBand,

            set the ID of an existing GPU cluster.

            You can only add the VM to the cluster when creating the VM.

            For details, see https://docs.nebius.com/compute/clusters/gpu
          type: string
      type: object
    nebiusComputeV1LocalDisksSpec:
      properties:
        passthroughGroup:
          $ref: '#/components/schemas/nebiusComputeV1PassthroughGroupRequest'
      type: object
    v1NetworkInterfaceSpec:
      description: Describes the specification of a network interface.
      properties:
        aliases:
          items:
            $ref: '#/components/schemas/v1IPAlias'
          title: Assign ranges of IP addresses as aliases
          type: array
        ipAddress:
          $ref: '#/components/schemas/v1IPAddress'
        name:
          description: >-
            Interface name

            Value of this field configures the name of the network interface
            inside VM's OS.

            Longer values will persist in the specification but will be
            truncated to 15 symbols before being passed to VM configuration.
          type: string
        publicIpAddress:
          $ref: '#/components/schemas/nebiusComputeV1PublicIPAddress'
        securityGroups:
          description: >-
            Security groups associated with the network interface.

            If an empty list is provided, the default security group for the
            network will be used.

            Effective security groups can be seen in the status.
          items:
            $ref: '#/components/schemas/nebiusComputeV1SecurityGroup'
          type: array
        subnetId:
          title: Subnet ID
          type: string
      required:
        - subnetId
        - name
        - ipAddress
      type: object
    nebiusComputeV1PreemptibleSpec:
      properties:
        onPreemption:
          $ref: '#/components/schemas/PreemptibleSpecPreemptionPolicy'
        priority:
          format: int32
          type: integer
      required:
        - onPreemption
      type: object
    v1InstanceRecoveryPolicy:
      default: RECOVER
      enum:
        - RECOVER
        - FAIL
        - ALWAYS
      type: string
    nebiusComputeV1ReservationPolicy:
      properties:
        policy:
          $ref: '#/components/schemas/nebiusComputeV1ReservationPolicyPolicy'
        reservationIds:
          items:
            type: string
          title: Capacity block groups, order matters
          type: array
      type: object
    nebiusComputeV1ResourcesSpec:
      properties:
        platform:
          type: string
        preset:
          type: string
      required:
        - platform
      type: object
    DiskEncryptionDiskEncryptionType:
      default: DISK_ENCRYPTION_UNSPECIFIED
      description: >2-
         - DISK_ENCRYPTION_UNSPECIFIED: No encryption is applied unless explicitly specified.
         - DISK_ENCRYPTION_MANAGED: Enables encryption using the platform's default root key from KMS.
        Available for disks with NETWORK_SSD_NON_REPLICATED and
        NETWORK_SSD_IO_M3 types only.
      enum:
        - DISK_ENCRYPTION_UNSPECIFIED
        - DISK_ENCRYPTION_MANAGED
      type: string
    v1AttachedDiskSpecAttachMode:
      default: UNSPECIFIED
      enum:
        - UNSPECIFIED
        - READ_ONLY
        - READ_WRITE
      type: string
    v1ExistingDisk:
      properties:
        id:
          type: string
      required:
        - id
      type: object
    v1ManagedDisk:
      properties:
        labels:
          additionalProperties:
            type: string
          description: Labels associated with disk resource.
          type: object
        name:
          description: |-
            Name of a dependent disk.
            Use it to convert an ExistingDisk to a dependent disk.
            Changing the name will replace the disk and cause data loss.
          type: string
        spec:
          $ref: '#/components/schemas/nebiusComputeV1DiskSpec'
      required:
        - name
        - spec
      type: object
    nebiusComputeV1AttachedFilesystemSpecAttachMode:
      default: UNSPECIFIED
      enum:
        - UNSPECIFIED
        - READ_ONLY
        - READ_WRITE
      type: string
    nebiusComputeV1ExistingFilesystem:
      properties:
        id:
          type: string
      required:
        - id
      type: object
    nebiusComputeV1PassthroughGroupRequest:
      properties:
        requested:
          description: >-
            Passthrough local disks from the underlying host.


            Devices are expected to appear in the guest as NVMe devices (nvme0,
            nvme1, ...),

            but the exact number depends on the preset.

            Enabled only when this field is explicitly set.
          type: boolean
      type: object
    v1IPAlias:
      properties:
        allocationId:
          title: ID of allocation
          type: string
      required:
        - allocationId
      type: object
    v1IPAddress:
      description: Describes an IPv4 address.
      properties:
        allocationId:
          description: Allocation identifier if it was created before.
          type: string
      type: object
    nebiusComputeV1PublicIPAddress:
      description: Describes a public IP address.
      properties:
        allocationId:
          description: Allocation identifier if it was created before.
          type: string
        static:
          title: >-
            If false - Allocation will be created/deleted during
            NetworkInterface.Allocate/NetworkInterface.Deallocate

            If true  - Allocation will be created/deleted during
            NetworkInterface.Create/NetworkInterface.Delete

            False by default
          type: boolean
      type: object
    nebiusComputeV1SecurityGroup:
      properties:
        id:
          title: Security group identifier
          type: string
      type: object
    PreemptibleSpecPreemptionPolicy:
      default: UNSPECIFIED
      enum:
        - UNSPECIFIED
        - STOP
      type: string
    nebiusComputeV1ReservationPolicyPolicy:
      default: AUTO
      description: >2-
         - AUTO: 1) Will try to launch instance in any reservation_ids if provided.
        2) Will try to launch instance in any of the available capacity block.

        3) Will try to launch instance in PAYG if 1 & 2 are not satisfied.
         - FORBID: The instance is launched only using on-demand (PAYG) capacity.
        No attempt is made to find or use a Capacity Block.

        It's an error to provide reservation_ids with policy = FORBID
         - STRICT: 1) Will try to launch the instance in Capacity Blocks from reservation_ids if provided.
        2) If reservation_ids are not provided will try to launch instance in
        suitable & available Capacity Block.

        3) Fail otherwise.
      enum:
        - AUTO
        - FORBID
        - STRICT
      type: string
  securitySchemes:
    bearerAuth:
      description: The Authorization header expects a Bearer token.
      scheme: bearer
      type: http

````