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

# List bare metal images

> Retrieve a list of available images for bare metal servers.
The list can be filtered by visibility, tags, and other parameters.
Returned entities may or may not be owned by the project.



## OpenAPI

````yaml /api-reference/services_documented/cloud_api.yaml get /cloud/v1/bmimages/{project_id}/{region_id}
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: '2026-05-07T20:33:46.548242+00:00'
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: Bare Metal
    x-displayName: Bare Metal
  - name: Container as a Service
    x-displayName: Container as a Service
  - name: Cost Reports
    x-displayName: Cost Reports
  - name: DDoS Protection
    x-displayName: DDoS Protection
  - name: Everywhere Inference
    x-displayName: Everywhere Inference
  - name: Everywhere Inference Apps
    x-displayName: Everywhere Inference Apps
  - name: File Shares
    x-displayName: File Shares
  - name: Floating IPs
    x-displayName: Floating IPs
  - name: Function as a Service
    x-displayName: Function as a Service
  - name: GPU Bare Metal
    x-displayName: GPU Bare Metal
  - name: GPU Virtual
    x-displayName: GPU Virtual
  - name: IP Ranges
    x-displayName: IP Ranges
  - name: Images
    x-displayName: Images
  - name: Instances
    x-displayName: Instances
  - name: Load Balancers
    x-displayName: Load Balancers
  - name: Logging
    x-displayName: Logging
  - name: Managed Kubernetes
    x-displayName: Managed Kubernetes
  - name: Managed PostgreSQL
    x-displayName: Managed PostgreSQL
  - name: Networks
    x-displayName: Networks
  - name: Placement Groups
    x-displayName: Placement Groups
  - name: Projects
    x-displayName: Projects
  - name: Quotas
    x-displayName: Quotas
  - name: Regions
    x-displayName: Regions
  - name: Registry
    x-displayName: Registry
  - name: Reservations
    x-displayName: Reservations
  - name: Reserved IPs
    x-displayName: Reserved IPs
  - name: Routers
    x-displayName: Routers
  - name: SSH Keys
    x-displayName: SSH Keys
  - name: Secrets
    x-displayName: Secrets
  - name: Security Groups
    x-displayName: Security Groups
  - name: Snapshot Schedules
    x-displayName: Snapshot Schedules
  - name: Snapshots
    x-displayName: Snapshots
  - name: Tasks
    x-displayName: Tasks
  - name: User Actions
    x-displayName: User Actions
  - name: User Role Assignments
    x-displayName: User Role Assignments
  - name: Volumes
    x-displayName: Volumes
paths:
  /cloud/v1/bmimages/{project_id}/{region_id}:
    get:
      tags:
        - Images
      summary: List bare metal images
      description: |-
        Retrieve a list of available images for bare metal servers.
        The list can be filtered by visibility, tags, and other parameters.
        Returned entities may or may not be owned by the project.
      operationId: BmImagesViewSet.get
      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
        - in: query
          name: include_prices
          required: false
          description: Show price.
          schema:
            description: Show price.
            title: Include Prices
            type: boolean
        - in: query
          name: private
          required: false
          description: Any value to show private images
          schema:
            description: Any value to show private images
            title: Private
            type: string
        - in: query
          name: tag_key
          required: false
          description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
          schema:
            description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
            example:
              - key1
              - key2
            examples:
              - - key1
                - key2
            items:
              description: >-
                Tag key. Maximum 255 characters. Cannot contain spaces, tabs,
                newlines, empty string or '=' character.
              example: my-tag
              examples:
                - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
              type: string
            title: Tag Key
            type: array
        - in: query
          name: tag_key_value
          required: false
          description: Optional. Filter by tag key-value pairs.
          schema:
            contentMediaType: application/json
            contentSchema:
              patternProperties:
                ^[^\s=]+$:
                  description: >-
                    Tag value. Maximum 255 characters. Cannot contain tabs,
                    newlines, empty string or start/end with whitespace.
                  example: my-tag-value
                  examples:
                    - my-tag-value
                  maxLength: 255
                  minLength: 1
                  pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
                  type: string
              propertyNames:
                description: >-
                  Tag key. Maximum 255 characters. Cannot contain spaces, tabs,
                  newlines, empty string or '=' character.
                examples:
                  - my-tag
                maxLength: 255
                minLength: 1
              type: object
            description: Optional. Filter by tag key-value pairs.
            example:
              key: value
            examples:
              - key: value
            title: Tag Key Value
            type: string
        - in: query
          name: visibility
          required: false
          description: Image visibility. Globally visible images are public
          schema:
            $ref: '#/components/schemas/VisibilityTypeEnum'
            description: Image visibility. Globally visible images are public
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BareMetalImageCollectionSerializer'
      x-codeSamples:
        - lang: Python
          source: |-
            import os
            from gcore import Gcore

            client = Gcore(
                api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
            )
            baremetal_image_list = client.cloud.baremetal.images.list(
                project_id=1,
                region_id=7,
            )
            print(baremetal_image_list.count)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/G-Core/gcore-go\"\n\t\"github.com/G-Core/gcore-go/cloud\"\n\t\"github.com/G-Core/gcore-go/option\"\n)\n\nfunc main() {\n\tclient := gcore.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tbaremetalImageList, err := client.Cloud.Baremetal.Images.List(context.TODO(), cloud.BaremetalImageListParams{\n\t\tProjectID: gcore.Int(1),\n\t\tRegionID:  gcore.Int(7),\n\t})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", baremetalImageList.Count)\n}\n"
components:
  schemas:
    VisibilityTypeEnum:
      enum:
        - private
        - public
        - shared
      title: VisibilityTypeEnum
      type: string
    BareMetalImageCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
            - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/BareMetalImageSerializer'
          title: Results
          type: array
      required:
        - count
        - results
      title: BareMetalImageCollectionSerializer
      type: object
    BareMetalImageSerializer:
      properties:
        architecture:
          $ref: '#/components/schemas/ImageArchitectureTypeEnum'
          description: 'An image architecture type: aarch64, `x86_64`.'
          examples:
            - x86_64
        created_at:
          description: Datetime when the image was created
          example: '2024-05-05T14:51:26.570866'
          examples:
            - '2024-05-05T14:51:26.570866'
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Task that created this entity
          examples:
            - b10dd116-07f5-4225-abb7-f42da5cb78fb
          title: Creator Task Id
        currency_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Currency code. Shown if the `include_prices` query parameter if set
            to true
          examples:
            - USD
          title: Currency Code
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: Image description
          examples:
            - string
          title: Description
        disk_format:
          description: Disk format
          example: raw
          examples:
            - raw
          title: Disk Format
          type: string
        display_order:
          anyOf:
            - type: integer
            - type: 'null'
          description: ''
          examples:
            - 2010
          title: Display Order
        gpu_driver:
          anyOf:
            - type: string
            - type: 'null'
          description: Name of the GPU driver vendor
          examples:
            - nvidia
          title: Gpu Driver
        gpu_driver_type:
          anyOf:
            - type: string
            - type: 'null'
          description: Type of the GPU driver
          examples:
            - open
          title: Gpu Driver Type
        gpu_driver_version:
          anyOf:
            - type: string
            - type: 'null'
          description: Version of the installed GPU driver
          examples:
            - 570.148.08
          title: Gpu Driver Version
        hw_firmware_type:
          anyOf:
            - $ref: '#/components/schemas/ImageHwFirmwareTypeEnum'
            - type: 'null'
          description: Specifies the type of firmware with which to boot the guest.
          examples:
            - bios
        hw_machine_type:
          anyOf:
            - $ref: '#/components/schemas/HwMachineTypeEnum'
            - type: 'null'
          description: A virtual chipset type.
          examples:
            - q35
        id:
          description: Image ID
          example: 44e136a7-15c1-4b5f-a086-20b7b3237d40
          examples:
            - 44e136a7-15c1-4b5f-a086-20b7b3237d40
          title: Id
          type: string
        is_baremetal:
          anyOf:
            - type: boolean
            - type: 'null'
          description: For bare metal servers this value is always set to true
          examples:
            - true
          title: Is Baremetal
        min_disk:
          description: Minimal boot volume required
          example: 3
          examples:
            - 3
          title: Min Disk
          type: integer
        min_ram:
          description: Minimal VM RAM required
          example: 0
          examples:
            - 0
          title: Min Ram
          type: integer
        name:
          description: Image display name
          example: ubuntu-20.10-x64
          examples:
            - ubuntu-20.10-x64
          title: Name
          type: string
        os_distro:
          description: OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.
          example: ubuntu
          examples:
            - ubuntu
          title: Os Distro
          type: string
        os_type:
          $ref: '#/components/schemas/ImageOsTypeEnum'
          description: The operating system installed on the image.
          examples:
            - linux
        os_version:
          description: OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian
          example: '20.10'
          examples:
            - '20.10'
          title: Os Version
          type: string
        price_per_hour:
          anyOf:
            - type: number
            - type: integer
            - type: 'null'
          description: >-
            Price per hour. Shown if the `include_prices` query parameter if set
            to true
          examples:
            - 1
          title: Price Per Hour
        price_per_month:
          anyOf:
            - type: number
            - type: integer
            - type: 'null'
          description: >-
            Price per month. Shown if the `include_prices` query parameter if
            set to true
          examples:
            - 720
          title: Price Per Month
        price_status:
          anyOf:
            - $ref: '#/components/schemas/PriceDisplayStatus'
            - type: 'null'
          description: Price status for the UI
          examples:
            - show
        project_id:
          description: Project ID
          example: 1337
          examples:
            - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
            - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
            - 7
          title: Region Id
          type: integer
        size:
          anyOf:
            - type: integer
            - type: 'null'
          description: Image size in bytes
          examples:
            - 2361393152
          title: Size
        ssh_key:
          anyOf:
            - $ref: '#/components/schemas/SshKeyEnum'
            - type: 'null'
          description: Whether the image supports SSH key or not
          examples:
            - allow
        status:
          description: Image status, i.e. active
          example: active
          examples:
            - active
          title: Status
          type: string
        tags:
          description: >-
            List of key-value tags associated with the resource. A tag is a
            key-value pair that can be associated with a resource, enabling
            efficient filtering and grouping for better organization and
            management. Some tags are read-only and cannot be modified by the
            user. Tags are also integrated with cost reports, allowing cost data
            to be filtered based on tag keys or values.
          example:
            - key: my-tag
              read_only: false
              value: my-tag-value
          examples:
            - - key: my-tag
                read_only: false
                value: my-tag-value
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The UUID of the active task that currently holds a lock on the
            resource. This lock prevents concurrent modifications to ensure
            consistency. If `null`, the resource is not locked.
          examples:
            - null
          title: Task Id
        updated_at:
          description: Datetime when the image was updated
          example: '2024-05-05T14:51:26.570866'
          examples:
            - '2024-05-05T14:51:26.570866'
          format: date-time
          title: Updated At
          type: string
        visibility:
          description: Image visibility. Globally visible images are public
          example: public
          examples:
            - public
          title: Visibility
          type: string
      required:
        - currency_code
        - price_per_hour
        - price_per_month
        - price_status
        - project_id
        - region_id
        - region
        - id
        - name
        - description
        - status
        - visibility
        - min_disk
        - min_ram
        - os_distro
        - os_version
        - ssh_key
        - display_order
        - created_at
        - updated_at
        - size
        - creator_task_id
        - task_id
        - disk_format
        - is_baremetal
        - os_type
        - hw_firmware_type
        - hw_machine_type
        - architecture
        - tags
        - gpu_driver
        - gpu_driver_version
        - gpu_driver_type
      title: Image schema
      type: object
    ImageArchitectureTypeEnum:
      enum:
        - aarch64
        - x86_64
      title: ImageArchitectureTypeEnum
      type: string
    ImageHwFirmwareTypeEnum:
      enum:
        - bios
        - uefi
      title: ImageHwFirmwareTypeEnum
      type: string
    HwMachineTypeEnum:
      enum:
        - i440
        - q35
      title: HwMachineTypeEnum
      type: string
    ImageOsTypeEnum:
      enum:
        - linux
        - windows
      title: ImageOsTypeEnum
      type: string
    PriceDisplayStatus:
      enum:
        - error
        - hide
        - show
      title: PriceDisplayStatus
      type: string
    SshKeyEnum:
      enum:
        - allow
        - deny
        - required
      title: SshKeyEnum
      type: string
    TagSerializer:
      description: >-
        A tag is a key-value pair that can be associated with a resource,

        enabling efficient filtering and grouping for better organization and
        management.

        Some tags are read-only and cannot be modified by the user.

        Tags are also integrated with cost reports, allowing cost data to be
        filtered based on tag keys or values.
      properties:
        key:
          description: >-
            Tag key. Maximum 255 characters. Cannot contain spaces, tabs,
            newlines, empty string or '=' character.
          example: my-tag
          examples:
            - my-tag
          title: Key
          type: string
        read_only:
          description: If true, the tag is read-only and cannot be modified by the user
          example: false
          examples:
            - false
          title: Read Only
          type: boolean
        value:
          description: >-
            Tag value. Maximum 255 characters. Cannot contain spaces, tabs,
            newlines, empty string or '=' character.
          example: my-tag-value
          examples:
            - my-tag-value
          title: Value
          type: string
      required:
        - key
        - value
        - read_only
      title: TagSerializer
      type: object
  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

````