> ## 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.

# Batch Get

> Retrieves detailed information about specific VMs by their IDs.
If instance cannot be retrieved (e.g. not found) error is returned in place of instance instead.



## OpenAPI

````yaml https://api.nebius.cloud/openapi.json get /compute/v1/instances/batch-get
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:
  /compute/v1/instances/batch-get:
    get:
      tags:
        - nebius.compute.v1.InstanceService
      summary: Batch Get
      description: >-
        Retrieves detailed information about specific VMs by their IDs.

        If instance cannot be retrieved (e.g. not found) error is returned in
        place of instance instead.
      operationId: InstanceService_BatchGet
      parameters:
        - description: List of instances to fetch.
          in: query
          name: instanceIds
          schema:
            items:
              required:
                - instance_ids
              type: string
            type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1BatchGetResponse'
          description: A successful response.
components:
  schemas:
    v1BatchGetResponse:
      properties:
        items:
          additionalProperties:
            $ref: '#/components/schemas/BatchGetResponseBatchGetResult'
          description: Map where key is instance id from original request array.
          type: object
      type: object
    BatchGetResponseBatchGetResult:
      properties:
        error:
          $ref: '#/components/schemas/googleRpcStatus'
        instance:
          $ref: '#/components/schemas/computeV1Instance'
      type: object
    googleRpcStatus:
      description: >-
        The `Status` type defines a logical error model that is suitable for

        different programming environments, including REST APIs and RPC APIs. It
        is

        used by [gRPC](https://github.com/grpc). Each `Status` message contains

        three pieces of data: error code, error message, and error details.


        You can find out more about this error model and how to work with it in
        the

        [API Design Guide](https://cloud.google.com/apis/design/errors).
      properties:
        code:
          description: |-
            The status code, which should be an enum value of
            [google.rpc.Code][google.rpc.Code].
          format: int32
          type: integer
        details:
          description: >-
            A list of messages that carry the error details.  There is a common
            set of

            message types for APIs to use.
          items:
            $ref: '#/components/schemas/protobufAny'
          type: array
        message:
          description: >-
            A developer-facing error message, which should be in English. Any

            user-facing error message should be localized and sent in the

            [google.rpc.Status.details][google.rpc.Status.details] field, or
            localized

            by the client.
          type: string
      type: object
    computeV1Instance:
      properties:
        metadata:
          $ref: '#/components/schemas/commonV1ResourceMetadata'
        spec:
          $ref: '#/components/schemas/computeV1InstanceSpec'
        status:
          $ref: '#/components/schemas/computeV1InstanceStatus'
      type: object
    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
    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
    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
    computeV1InstanceStatus:
      properties:
        diskAttachments:
          description: Status of the requested disk attachments.
          items:
            $ref: '#/components/schemas/v1DiskAttachmentStatus'
          type: array
        infinibandTopologyPath:
          $ref: '#/components/schemas/v1InstanceStatusInfinibandTopologyPath'
        maintenanceEventId:
          type: string
        networkInterfaces:
          items:
            $ref: '#/components/schemas/v1NetworkInterfaceStatus'
          type: array
        reconciling:
          title: Indicates whether there is an ongoing operation
          type: boolean
        reservationId:
          type: string
        state:
          $ref: '#/components/schemas/InstanceStatusInstanceState'
      type: object
    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
    v1DiskAttachmentStatus:
      properties:
        id:
          description: >-
            Disk ID.

            - For ExistingDisk, this is the referenced disk ID.

            - For ManagedDisk, may be empty while the attachment intent is still
            pending.
          type: string
        isManaged:
          description: >-
            Indicates whether this attachment is managed by the instance
            lifecycle.

            If true, the disk is expected to be deleted when the instance is
            deleted.

            If false, the disk is preserved and only detached on instance
            deletion.
          type: boolean
        name:
          description: >-
            Disk name used to match this status entry with the desired
            attachment

            from the instance specification.


            Consistency:

            - For ManagedDisk, this value is derived from the instance spec
            (ManagedDisk.name).

            - For ExistingDisk, this value is derived from the disk resource
            name and may lag behind
              in case of renaming. It is updated asynchronously and is eventually consistent.
          type: string
      type: object
    v1InstanceStatusInfinibandTopologyPath:
      properties:
        path:
          items:
            type: string
          type: array
      type: object
    v1NetworkInterfaceStatus:
      description: Describes the status of a network interface.
      properties:
        aliases:
          $ref: '#/components/schemas/v1IPAliasesStatus'
        fqdn:
          title: FQDN of the interface
          type: string
        index:
          format: int32
          title: The index of the network interface
          type: integer
        ipAddress:
          $ref: '#/components/schemas/v1IPAddressStatus'
        macAddress:
          title: MAC address
          type: string
        name:
          title: |-
            Name for interface.
            Unique within instance's network interfaces
          type: string
        publicIpAddress:
          $ref: '#/components/schemas/v1PublicIPAddressStatus'
        securityGroups:
          description: Effective security groups associated with the network interface.
          items:
            $ref: '#/components/schemas/nebiusComputeV1SecurityGroupStatus'
          type: array
      type: object
    InstanceStatusInstanceState:
      default: UNSPECIFIED
      enum:
        - UNSPECIFIED
        - CREATING
        - UPDATING
        - STARTING
        - RUNNING
        - STOPPING
        - STOPPED
        - DELETING
        - ERROR
      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
    v1IPAliasesStatus:
      properties:
        cidrs:
          items:
            type: string
          type: array
      type: object
    v1IPAddressStatus:
      properties:
        address:
          description: Effective private IPv4 address assigned to the interface.
          type: string
        allocationId:
          description: Allocation identifier.
          type: string
      type: object
    v1PublicIPAddressStatus:
      properties:
        address:
          description: Effective public IPv4 address assigned to the interface.
          type: string
        allocationId:
          description: Allocation identifier.
          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
    nebiusComputeV1SecurityGroupStatus:
      properties:
        id:
          title: Security group identifier
          type: string
      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
    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
    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
  securitySchemes:
    bearerAuth:
      description: The Authorization header expects a Bearer token.
      scheme: bearer
      type: http

````