Hetzner ISOs API

ISOs are read-only Images of DVDs. While we recommend using our Image functionality to install your Servers we also provide some stock ISOs so you can install more exotic operating systems by yourself. On request our support uploads a private ISO just for you. These are marked with type `private` and only visible in your Project. To attach an ISO to your Server use `POST /servers/{id}/actions/attach_iso`.

Operations 2

GET /isos List ISOs #
GET /isos/{id} Get an ISO #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hetzner-isos-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

hetzner-isos-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Hetzner Cloud IS Os API
  version: 1.0.0
  x-summary: 'Manage Hetzner Cloud services and resources linked to them, such as Floating IPs, Volumes and Load Balancers.

    '
  description: '# Overview


    This is the official documentation for the Hetzner Cloud API.'
servers:
- url: https://api.hetzner.cloud/v1
security:
- APIToken: []
tags:
- name: ISOs
  description: 'ISOs are read-only Images of DVDs. While we recommend using our Image functionality to install your Servers we also provide some stock ISOs so you can install more exotic operating systems by yourself.


    On request our support uploads a private ISO just for you. These are marked with type `private` and only visible in your Project.


    To attach an ISO to your Server use `POST /servers/{id}/actions/attach_iso`.'
paths:
  /isos:
    get:
      operationId: list_isos
      summary: List ISOs
      description: Returns all available ISO objects.
      tags:
      - ISOs
      parameters:
      - description: 'Filter resources by their name.


          The response will only contain the resources

          matching exactly the specified name.

          '
        name: name
        in: query
        required: false
        schema:
          type: string
      - description: 'Filter resources by cpu architecture.


          The response will only contain the resources with the specified cpu architecture.

          '
        name: architecture
        in: query
        required: false
        schema:
          description: CPU architecture of the Resource.
          type: string
          enum:
          - x86
          - arm
          example: x86
      - description: Include Images with wildcard architecture (architecture is null). Architecture filter must be specified.
        name: include_architecture_wildcard
        in: query
        required: false
        schema:
          type: boolean
      - description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        name: page
        in: query
        required: false
        schema:
          type: integer
          format: int64
          default: 1
          example: 1
      - description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        name: per_page
        in: query
        required: false
        schema:
          type: integer
          format: int64
          default: 25
          example: 25
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: object
                properties:
                  isos:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          description: ID of the [ISO](#tag/isos).
                          type: integer
                          format: int64
                          minimum: 1
                          maximum: 9007199254740991
                          example: 42
                        name:
                          description: Unique identifier of the ISO. Only set for public ISOs.
                          type:
                          - string
                          - 'null'
                          example: FreeBSD-11.0-RELEASE-amd64-dvd1
                        description:
                          description: Description of the ISO.
                          type: string
                          example: FreeBSD 11.0 x64
                        type:
                          description: Type of the ISO.
                          type:
                          - string
                          - 'null'
                          enum:
                          - public
                          - private
                        deprecation:
                          title: DeprecationInfo
                          description: 'Describes if, when and how the resource is deprecated. If this field is

                            set to `null` the resource is not deprecated. If a value is set, it is

                            considered deprecated.

                            '
                          type:
                          - object
                          - 'null'
                          properties:
                            unavailable_after:
                              description: 'Date of the deprecated resource removal.


                                Once this date is reached, the resource will not be returned

                                by resource type "list" endpoint, and the resource can not be

                                used to create new resources. For example, if this is an

                                image, you can not create new servers with this image after

                                the mentioned date.

                                '
                              type: string
                              format: date-time
                              example: '2023-09-01T00:00:00Z'
                            announced:
                              description: 'Date of the deprecation announcement.

                                '
                              type: string
                              format: date-time
                              example: '2023-06-01T00:00:00Z'
                          required:
                          - unavailable_after
                          - announced
                        architecture:
                          description: 'CPU architecture compatible with the ISO.


                            Null indicates no restriction on the architecture (wildcard).

                            '
                          type:
                          - string
                          - 'null'
                          enum:
                          - x86
                          - arm
                          example: x86
                      required:
                      - id
                      - name
                      - description
                      - type
                      - deprecation
                      - architecture
                  meta:
                    title: ListMeta
                    type: object
                    properties:
                      pagination:
                        description: See "[Pagination](#description/pagination)" for more information.
                        type: object
                        properties:
                          page:
                            description: Current page number.
                            type: integer
                            format: int64
                            example: 3
                          per_page:
                            description: Maximum number of entries returned per page.
                            type: integer
                            format: int64
                            example: 25
                          previous_page:
                            description: Page number of the previous page. Can be null if the current page is the first one.
                            type:
                            - integer
                            - 'null'
                            format: int64
                            example: 2
                          next_page:
                            description: Page number of the next page. Can be null if the current page is the last one.
                            type:
                            - integer
                            - 'null'
                            format: int64
                            example: 4
                          last_page:
                            description: Page number of the last page available. Can be null if the current page is the last one.
                            type:
                            - integer
                            - 'null'
                            format: int64
                            example: 4
                          total_entries:
                            description: Total number of entries that exist for this query. Can be null if unknown.
                            type:
                            - integer
                            - 'null'
                            format: int64
                            example: 100
                        required:
                        - page
                        - per_page
                        - previous_page
                        - next_page
                        - last_page
                        - total_entries
                    required:
                    - pagination
                required:
                - isos
                - meta
        4xx:
          description: Request failed with a user error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        description: Error code for machines.
                        type: string
                      message:
                        description: Error message for humans.
                        type: string
                      details:
                        description: Details about the error.
                        type:
                        - object
                        - 'null'
                    required:
                    - code
                    - message
                required:
                - error
                example:
                  error:
                    code: unauthorized
                    message: unable to authenticate
                    details: null
        5xx:
          description: Request failed with a server error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        description: Error code for machines.
                        type: string
                      message:
                        description: Error message for humans.
                        type: string
                      details:
                        description: Details about the error.
                        type:
                        - object
                        - 'null'
                    required:
                    - code
                    - message
                required:
                - error
                example:
                  error:
                    code: timeout
                    message: request timeout
                    details: null
      security:
      - APIToken: []
      x-codeSamples:
      - lang: Go
        label: Go
        source: "package examples\n\nimport (\n\t\"context\"\n\t\"os\"\n\n\t\"github.com/hetznercloud/hcloud-go/v2/hcloud\"\n)\n\nfunc main() {\n\ttoken := os.Getenv(\"HCLOUD_TOKEN\")\n\n\tclient := hcloud.NewClient(hcloud.WithToken(token))\n\tctx := context.TODO()\n\n\tisos, err := client.ISO.All(ctx)\n}"
      - lang: Python
        label: Python
        source: 'from __future__ import annotations


          from os import environ


          from hcloud import Client


          token = environ["HCLOUD_TOKEN"]

          client = Client(token=token)


          isos = client.isos.get_all()'
      - lang: Shell
        label: CLI
        source: hcloud iso list
  /isos/{id}:
    get:
      operationId: get_iso
      summary: Get an ISO
      description: Returns a specific ISO object.
      tags:
      - ISOs
      parameters:
      - description: ID of the ISO.
        name: id
        in: path
        required: true
        schema:
          description: ID of the [ISO](#tag/isos).
          type: integer
          format: int64
          minimum: 1
          maximum: 9007199254740991
          example: 42
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: object
                properties:
                  iso:
                    type: object
                    properties:
                      id:
                        description: ID of the [ISO](#tag/isos).
                        type: integer
                        format: int64
                        minimum: 1
                        maximum: 9007199254740991
                        example: 42
                      name:
                        description: Unique identifier of the ISO. Only set for public ISOs.
                        type:
                        - string
                        - 'null'
                        example: FreeBSD-11.0-RELEASE-amd64-dvd1
                      description:
                        description: Description of the ISO.
                        type: string
                        example: FreeBSD 11.0 x64
                      type:
                        description: Type of the ISO.
                        type:
                        - string
                        - 'null'
                        enum:
                        - public
                        - private
                      deprecation:
                        title: DeprecationInfo
                        description: 'Describes if, when and how the resource is deprecated. If this field is

                          set to `null` the resource is not deprecated. If a value is set, it is

                          considered deprecated.

                          '
                        type:
                        - object
                        - 'null'
                        properties:
                          unavailable_after:
                            description: 'Date of the deprecated resource removal.


                              Once this date is reached, the resource will not be returned

                              by resource type "list" endpoint, and the resource can not be

                              used to create new resources. For example, if this is an

                              image, you can not create new servers with this image after

                              the mentioned date.

                              '
                            type: string
                            format: date-time
                            example: '2023-09-01T00:00:00Z'
                          announced:
                            description: 'Date of the deprecation announcement.

                              '
                            type: string
                            format: date-time
                            example: '2023-06-01T00:00:00Z'
                        required:
                        - unavailable_after
                        - announced
                      architecture:
                        description: 'CPU architecture compatible with the ISO.


                          Null indicates no restriction on the architecture (wildcard).

                          '
                        type:
                        - string
                        - 'null'
                        enum:
                        - x86
                        - arm
                        example: x86
                    required:
                    - id
                    - name
                    - description
                    - type
                    - deprecation
                    - architecture
                required:
                - iso
        4xx:
          description: Request failed with a user error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        description: Error code for machines.
                        type: string
                      message:
                        description: Error message for humans.
                        type: string
                      details:
                        description: Details about the error.
                        type:
                        - object
                        - 'null'
                    required:
                    - code
                    - message
                required:
                - error
                example:
                  error:
                    code: unauthorized
                    message: unable to authenticate
                    details: null
        5xx:
          description: Request failed with a server error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        description: Error code for machines.
                        type: string
                      message:
                        description: Error message for humans.
                        type: string
                      details:
                        description: Details about the error.
                        type:
                        - object
                        - 'null'
                    required:
                    - code
                    - message
                required:
                - error
                example:
                  error:
                    code: timeout
                    message: request timeout
                    details: null
      security:
      - APIToken: []
      x-codeSamples:
      - lang: Go
        label: Go
        source: "package examples\n\nimport (\n\t\"context\"\n\t\"os\"\n\n\t\"github.com/hetznercloud/hcloud-go/v2/hcloud\"\n)\n\nfunc main() {\n\ttoken := os.Getenv(\"HCLOUD_TOKEN\")\n\n\tclient := hcloud.NewClient(hcloud.WithToken(token))\n\tctx := context.TODO()\n\n\tiso, _, err := client.ISO.GetByID(ctx, 123)\n}"
      - lang: Python
        label: Python
        source: 'from __future__ import annotations


          from os import environ


          from hcloud import Client


          token = environ["HCLOUD_TOKEN"]

          client = Client(token=token)


          iso = client.isos.get_by_id(123)'
      - lang: Shell
        label: CLI
        source: hcloud iso describe $ISO
components:
  securitySchemes:
    APIToken:
      type: http
      scheme: bearer
x-tagGroups:
- name: Actions
  tags:
  - Actions
- name: Servers
  tags:
  - Servers
  - Server Actions
  - Server Types
  - Images
  - Image Actions
  - ISOs
  - Placement Groups
  - Primary IPs
  - Primary IP Actions
- name: Volumes
  tags:
  - Volumes
  - Volume Actions
- name: Floating IPs
  tags:
  - Floating IPs
  - Floating IP Actions
- name: Firewalls
  tags:
  - Firewalls
  - Firewall Actions
- name: Load Balancers
  tags:
  - Load Balancers
  - Load Balancer Actions
  - Load Balancer Types
- name: Networks
  tags:
  - Networks
  - Network Actions
- name: DNS
  tags:
  - Zones
  - Zone Actions
  - Zone RRSets
  - Zone RRSet Actions
- name: Security
  tags:
  - Certificates
  - Certificate Actions
  - SSH Keys
- name: Locations
  tags:
  - Locations
  - Data Centers
- name: Billing
  tags:
  - Pricing