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

# Check virtual GPU cluster quota

> Check if regional quota is exceeded for virtual GPU cluster creation.
If exceeded, calculate additional quotas needed.



## OpenAPI

````yaml /api-reference/services_docs_mintlify/cloud_api.yaml post /cloud/v3/gpu/virtual/{project_id}/{region_id}/check_limits
openapi: 3.1.0
info:
  title: Gcore OpenAPI – Cloud API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: 4d49f7ec9cca
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: Bare Metal
  - name: Container as a Service
  - name: Cost Reports
  - name: DDoS Protection
  - name: Everywhere Inference
  - name: Everywhere Inference Apps
  - name: File Shares
  - name: Floating IPs
  - name: Function as a Service
  - name: GPU Bare Metal
  - name: GPU Virtual
  - name: IP Ranges
  - name: Images
  - name: Instances
  - name: Load Balancers
  - name: Logging
  - name: Managed Kubernetes
  - name: Managed PostgreSQL
  - name: Networks
  - name: Placement Groups
  - name: Ports
  - name: Projects
  - name: Quotas
  - name: Regions
  - name: Registry
  - name: Reservations
  - name: Reserved IPs
  - name: Routers
  - name: SSH Keys
  - name: Secrets
  - name: Security Groups
  - name: Snapshot Schedules
  - name: Snapshots
  - name: Tasks
  - name: User Actions
  - name: User Role Assignments
  - name: Volumes
paths:
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/check_limits:
    post:
      tags:
        - GPU Virtual
      summary: Check virtual GPU cluster quota
      description: |-
        Check if regional quota is exceeded for virtual GPU cluster creation.
        If exceeded, calculate additional quotas needed.
      operationId: CheckVirtualGpuLimits.post
      parameters:
        - in: path
          name: project_id
          required: true
          description: Project ID
          schema:
            description: Project ID
            example: 1
            examples:
              - 1
            title: Project Id
            type: integer
        - in: path
          name: region_id
          required: true
          description: Region ID
          schema:
            description: Region ID
            example: 7
            examples:
              - 7
            title: Region Id
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/CheckQuotaBeforeVirtualGpuClusterCreationSerializer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualGpuRequiredQuotaSerializer'
components:
  schemas:
    CheckQuotaBeforeVirtualGpuClusterCreationSerializer:
      properties:
        existing_cluster:
          default: false
          description: >-
            Set to true when checking limits for a resize/scale-up of an
            existing cluster. The cluster's InfiniBand network already exists,
            so it is not counted against the quota.
          example: false
          examples:
            - false
          title: Existing Cluster
          type: boolean
        flavor:
          description: Cluster flavor
          example: g3-ai-32-192-1500-l40s-48-1
          examples:
            - g3-ai-32-192-1500-l40s-48-1
          title: Flavor
          type: string
        servers_count:
          description: Number of servers in the cluster
          example: 3
          examples:
            - 3
          exclusiveMaximum: 1000
          exclusiveMinimum: 0
          title: Servers Count
          type: integer
        servers_settings:
          $ref: '#/components/schemas/VirtualGpuServerSettingsQuotaSerializer'
          description: Configuration settings for the servers in the cluster
      required:
        - flavor
        - servers_count
      title: CheckQuotaBeforeVirtualGpuClusterCreationSerializer
      type: object
    VirtualGpuRequiredQuotaSerializer:
      properties:
        baremetal_network_count_limit:
          description: Bare metal Network Count limit
          example: 1
          examples:
            - 1
          title: Baremetal Network Count Limit
          type: integer
        baremetal_network_count_requested:
          description: Bare metal Network Count requested
          example: 1
          examples:
            - 1
          title: Baremetal Network Count Requested
          type: integer
        baremetal_network_count_usage:
          description: Bare metal Network Count usage
          example: 1
          examples:
            - 1
          title: Baremetal Network Count Usage
          type: integer
        external_ip_count_limit:
          description: External IP Count limit
          example: 10
          examples:
            - 10
          title: External Ip Count Limit
          type: integer
        external_ip_count_requested:
          description: External IP Count requested
          example: 1
          examples:
            - 1
          title: External Ip Count Requested
          type: integer
        external_ip_count_usage:
          description: External IP Count usage
          example: 1
          examples:
            - 1
          title: External Ip Count Usage
          type: integer
        floating_count_limit:
          description: Floating IP Count usage
          example: 1
          examples:
            - 1
          title: Floating Count Limit
          type: integer
        floating_count_requested:
          description: Floating IP Count requested
          example: 1
          examples:
            - 1
          title: Floating Count Requested
          type: integer
        floating_count_usage:
          description: External IP Count requested
          example: 1
          examples:
            - 1
          title: Floating Count Usage
          type: integer
        gpu_virtual_a100_count_limit:
          description: Virtual A100 GPU card count limit
          example: 10
          examples:
            - 10
          title: Gpu Virtual A100 Count Limit
          type: integer
        gpu_virtual_a100_count_requested:
          description: Virtual A100 GPU card count requested
          example: 1
          examples:
            - 1
          title: Gpu Virtual A100 Count Requested
          type: integer
        gpu_virtual_a100_count_usage:
          description: Virtual A100 GPU card count usage
          example: 1
          examples:
            - 1
          title: Gpu Virtual A100 Count Usage
          type: integer
        gpu_virtual_h100_count_limit:
          description: Virtual H100 GPU card count limit
          example: 10
          examples:
            - 10
          title: Gpu Virtual H100 Count Limit
          type: integer
        gpu_virtual_h100_count_requested:
          description: Virtual H100 GPU card count requested
          example: 1
          examples:
            - 1
          title: Gpu Virtual H100 Count Requested
          type: integer
        gpu_virtual_h100_count_usage:
          description: Virtual H100 GPU card count usage
          example: 1
          examples:
            - 1
          title: Gpu Virtual H100 Count Usage
          type: integer
        gpu_virtual_h200_count_limit:
          description: Virtual H200 GPU card count limit
          example: 10
          examples:
            - 10
          title: Gpu Virtual H200 Count Limit
          type: integer
        gpu_virtual_h200_count_requested:
          description: Virtual H200 GPU card count requested
          example: 1
          examples:
            - 1
          title: Gpu Virtual H200 Count Requested
          type: integer
        gpu_virtual_h200_count_usage:
          description: Virtual H200 GPU card count usage
          example: 1
          examples:
            - 1
          title: Gpu Virtual H200 Count Usage
          type: integer
        gpu_virtual_l40s_count_limit:
          description: Virtual L40S GPU card count limit
          example: 10
          examples:
            - 10
          title: Gpu Virtual L40S Count Limit
          type: integer
        gpu_virtual_l40s_count_requested:
          description: Virtual L40S GPU card count requested
          example: 1
          examples:
            - 1
          title: Gpu Virtual L40S Count Requested
          type: integer
        gpu_virtual_l40s_count_usage:
          description: Virtual L40S GPU card count usage
          example: 1
          examples:
            - 1
          title: Gpu Virtual L40S Count Usage
          type: integer
        volume_count_limit:
          description: Volumes Count limit
          example: 10
          examples:
            - 10
          title: Volume Count Limit
          type: integer
        volume_count_requested:
          description: Volumes Count requested
          example: 1
          examples:
            - 1
          title: Volume Count Requested
          type: integer
        volume_count_usage:
          description: Volumes Count usage
          example: 1
          examples:
            - 1
          title: Volume Count Usage
          type: integer
        volume_size_limit:
          description: Volumes Size, GiB limit
          example: 10
          examples:
            - 10
          title: Volume Size Limit
          type: integer
        volume_size_requested:
          description: Volumes Size, GiB requested
          example: 1
          examples:
            - 1
          title: Volume Size Requested
          type: integer
        volume_size_usage:
          description: Volumes Size, GiB usage
          example: 1
          examples:
            - 1
          title: Volume Size Usage
          type: integer
      title: VirtualGpuRequiredQuotaSerializer
      type: object
    VirtualGpuServerSettingsQuotaSerializer:
      properties:
        interfaces:
          description: List of interfaces
          items:
            discriminator:
              mapping:
                any_subnet:
                  $ref: '#/components/schemas/AnySubnetInterfaceInputSerializer'
                external:
                  $ref: '#/components/schemas/ExternalInterfaceInputSerializer'
                subnet:
                  $ref: '#/components/schemas/SubnetInterfaceInputSerializer'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/ExternalInterfaceInputSerializer'
              - $ref: '#/components/schemas/SubnetInterfaceInputSerializer'
              - $ref: '#/components/schemas/AnySubnetInterfaceInputSerializer'
          title: Interfaces
          type: array
        volumes:
          description: List of volumes
          items:
            discriminator:
              mapping:
                image:
                  $ref: >-
                    #/components/schemas/CreateVirtualGpuClusterImageVolumeCheckLimitsSerializer
                new:
                  $ref: >-
                    #/components/schemas/CreateVirtualGpuClusterNewVolumeCheckLimitsSerializer
              propertyName: source
            oneOf:
              - $ref: >-
                  #/components/schemas/CreateVirtualGpuClusterNewVolumeCheckLimitsSerializer
              - $ref: >-
                  #/components/schemas/CreateVirtualGpuClusterImageVolumeCheckLimitsSerializer
          title: Volumes
          type: array
      title: VirtualGpuServerSettingsQuotaSerializer
      type: object
    AnySubnetInterfaceInputSerializer:
      properties:
        floating_ip:
          $ref: '#/components/schemas/NewFloatingIpInterfaceSerializer'
          description: Floating IP config for this subnet attachment
        ip_family:
          default: ipv4
          description: 'Which subnets should be selected: IPv4, IPv6, or use dual stack'
          enum:
            - dual
            - ipv4
            - ipv6
          example: ipv4
          examples:
            - ipv4
          title: Ip Family
          type: string
        name:
          description: Interface name
          maxLength: 37
          title: Name
          type: string
        network_id:
          description: >-
            Network ID the subnet belongs to. Port will be plugged in this
            network
          example: 59905c8e-2619-420a-b046-536096473370
          examples:
            - 59905c8e-2619-420a-b046-536096473370
          format: uuid4
          title: Network Id
          type: string
        port_security_enabled:
          description: >-
            Controls port security for this interface. When omitted, the default
            applies (port security enabled, default security group attached).
            When false, the port is created with port security off and no
            security group attached; `security_groups` must not be set in that
            case. Not allowed for interfaces on a public network, nor for bare
            metal servers without a DPU (their ports cannot enforce port
            security).
          example: true
          examples:
            - true
          title: Port Security Enabled
          type: boolean
        security_groups:
          description: >-
            Security group UUIDs applied to this interface. If omitted (or
            empty), the top-level `security_groups` value applies; if both are
            omitted, the project's default security group is applied.
          example:
            - id: b4849ffa-89f2-45a1-951f-0ae5b7809d98
          examples:
            - - id: b4849ffa-89f2-45a1-951f-0ae5b7809d98
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        type:
          const: any_subnet
          title: Type
          type: string
      required:
        - network_id
        - type
      title: AnySubnetInterfaceInputSerializer
      type: object
    ExternalInterfaceInputSerializer:
      properties:
        ip_family:
          default: ipv4
          description: 'Which subnets should be selected: IPv4, IPv6, or use dual stack.'
          enum:
            - dual
            - ipv4
            - ipv6
          example: ipv4
          examples:
            - ipv4
          title: Ip Family
          type: string
        name:
          description: Interface name
          example: eth0
          examples:
            - eth0
          maxLength: 37
          title: Name
          type: string
        port_security_enabled:
          description: >-
            Controls port security for this interface. When omitted, the default
            applies (port security enabled, default security group attached).
            When false, the port is created with port security off and no
            security group attached; `security_groups` must not be set in that
            case. Not allowed for interfaces on a public network, nor for bare
            metal servers without a DPU (their ports cannot enforce port
            security).
          example: true
          examples:
            - true
          title: Port Security Enabled
          type: boolean
        security_groups:
          description: >-
            Security group UUIDs applied to this interface. If omitted (or
            empty), the top-level `security_groups` value applies; if both are
            omitted, the project's default security group is applied.
          example:
            - id: b4849ffa-89f2-45a1-951f-0ae5b7809d98
          examples:
            - - id: b4849ffa-89f2-45a1-951f-0ae5b7809d98
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        type:
          const: external
          title: Type
          type: string
      required:
        - type
      title: ExternalInterfaceInputSerializer
      type: object
    SubnetInterfaceInputSerializer:
      properties:
        floating_ip:
          $ref: '#/components/schemas/NewFloatingIpInterfaceSerializer'
          description: Floating IP config for this subnet attachment
        name:
          description: Interface name
          maxLength: 37
          title: Name
          type: string
        network_id:
          description: >-
            Network ID the subnet belongs to. Port will be plugged in this
            network
          example: 59905c8e-2619-420a-b046-536096473370
          examples:
            - 59905c8e-2619-420a-b046-536096473370
          format: uuid4
          title: Network Id
          type: string
        port_security_enabled:
          description: >-
            Controls port security for this interface. When omitted, the default
            applies (port security enabled, default security group attached).
            When false, the port is created with port security off and no
            security group attached; `security_groups` must not be set in that
            case. Not allowed for interfaces on a public network, nor for bare
            metal servers without a DPU (their ports cannot enforce port
            security).
          example: true
          examples:
            - true
          title: Port Security Enabled
          type: boolean
        security_groups:
          description: >-
            Security group UUIDs applied to this interface. If omitted (or
            empty), the top-level `security_groups` value applies; if both are
            omitted, the project's default security group is applied.
          example:
            - id: b4849ffa-89f2-45a1-951f-0ae5b7809d98
          examples:
            - - id: b4849ffa-89f2-45a1-951f-0ae5b7809d98
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        subnet_id:
          description: Port is assigned an IP address from this subnet
          example: e3c6ee77-48cb-416b-b204-11b492cc776e3
          examples:
            - e3c6ee77-48cb-416b-b204-11b492cc776e3
          format: uuid4
          title: Subnet Id
          type: string
        type:
          const: subnet
          title: Type
          type: string
      required:
        - network_id
        - type
        - subnet_id
      title: SubnetInterfaceInputSerializer
      type: object
    CreateVirtualGpuClusterImageVolumeCheckLimitsSerializer:
      properties:
        image_id:
          description: Image ID for the volume
          example: 3793c250-0b3b-4678-bab3-e11afbc29657
          examples:
            - 3793c250-0b3b-4678-bab3-e11afbc29657
          title: Image Id
          type: string
        size:
          description: Volume size in GiB
          example: 100
          examples:
            - 100
          exclusiveMaximum: 102400
          exclusiveMinimum: 0
          title: Size
          type: integer
        source:
          const: image
          title: Source
          type: string
        type:
          $ref: '#/components/schemas/AllVolumeTypeEnum'
          description: Volume type
          examples:
            - ssd
      required:
        - size
        - type
        - source
        - image_id
      title: CreateVirtualGpuClusterImageVolumeCheckLimitsSerializer
      type: object
    CreateVirtualGpuClusterNewVolumeCheckLimitsSerializer:
      properties:
        size:
          description: Volume size in GiB
          example: 100
          examples:
            - 100
          exclusiveMaximum: 102400
          exclusiveMinimum: 0
          title: Size
          type: integer
        source:
          const: new
          title: Source
          type: string
        type:
          $ref: '#/components/schemas/AllVolumeTypeEnum'
          description: Volume type
          examples:
            - ssd
      required:
        - size
        - type
        - source
      title: CreateVirtualGpuClusterNewVolumeCheckLimitsSerializer
      type: object
    NewFloatingIpInterfaceSerializer:
      properties:
        source:
          const: new
          title: Source
          type: string
      required:
        - source
      title: NewFloatingIpInterfaceSerializer
      type: object
    MandatoryIdSerializerPydantic:
      properties:
        id:
          description: Resource ID
          example: ae74714c-c380-48b4-87f8-758d656cdad6
          examples:
            - ae74714c-c380-48b4-87f8-758d656cdad6
          format: uuid4
          title: Id
          type: string
      required:
        - id
      title: MandatoryIdSchema schema
      type: object
    AllVolumeTypeEnum:
      enum:
        - cold
        - ssd_hiiops
        - ssd_local
        - ssd_lowlatency
        - standard
        - ultra
      title: AllVolumeTypeEnum
      type: string
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234$abcdef`
      type: apiKey
      in: header
      name: Authorization

````