Hetzner · Capability

Hetzner Cloud API

# Overview This is the official documentation for the Hetzner Cloud API. ## Introduction The Hetzner Cloud API operates over HTTPS and uses JSON as its data format. The API is a RESTful API and utilizes HTTP methods and HTTP status codes to specify requests and responses. As an alternative to working directly with our API you may also consider to use: - Our CLI program [hcloud](https://github.com/hetznercloud/cli) - Our [library for Go](https://github.com/hetznercloud/hcloud-go) - Our [library for Python](https://github.com/hetznercloud/hcloud-python) You can find even more libraries, tools an

Run with Naftiko HetznerAPI

What You Can Do

GET
Get actions — Get multiple Actions
/actions
GET
Get action — Get an Action
/actions/{id}
GET
List certificates — List Certificates
/certificates
POST
Create certificate — Create a Certificate
/certificates
GET
List certificates actions — List Actions
/certificates/actions
GET
Get certificates action — Get an Action
/certificates/actions/{id}
GET
Get certificate — Get a Certificate
/certificates/{id}
PUT
Update certificate — Update a Certificate
/certificates/{id}
DELETE
Delete certificate — Delete a Certificate
/certificates/{id}
GET
List certificate actions — List Actions for a Certificate
/certificates/{id}/actions
POST
Retry certificate — Retry Issuance or Renewal
/certificates/{id}/actions/retry
GET
Get certificate action — Get an Action for a Certificate
/certificates/{id}/actions/{action_id}
GET
List datacenters — List Data Centers
/datacenters
GET
Get datacenter — Get a Data Center
/datacenters/{id}
GET
List firewalls — List Firewalls
/firewalls
POST
Create firewall — Create a Firewall
/firewalls
GET
List firewalls actions — List Actions
/firewalls/actions
GET
Get firewalls action — Get an Action
/firewalls/actions/{id}
GET
Get firewall — Get a Firewall
/firewalls/{id}
PUT
Update firewall — Update a Firewall
/firewalls/{id}
DELETE
Delete firewall — Delete a Firewall
/firewalls/{id}
GET
List firewall actions — List Actions for a Firewall
/firewalls/{id}/actions
POST
Apply firewall to resources — Apply to Resources
/firewalls/{id}/actions/apply_to_resources
POST
Remove firewall from resources — Remove from Resources
/firewalls/{id}/actions/remove_from_resources
POST
Set firewall rules — Set Rules
/firewalls/{id}/actions/set_rules
GET
Get firewall action — Get an Action for a Firewall
/firewalls/{id}/actions/{action_id}
GET
List floating ips — List Floating IPs
/floating_ips
POST
Create floating ip — Create a Floating IP
/floating_ips
GET
List floating ips actions — List Actions
/floating_ips/actions
GET
Get floating ips action — Get an Action
/floating_ips/actions/{id}
GET
Get floating ip — Get a Floating IP
/floating_ips/{id}
PUT
Update floating ip — Update a Floating IP
/floating_ips/{id}
DELETE
Delete floating ip — Delete a Floating IP
/floating_ips/{id}
GET
List floating ip actions — List Actions for a Floating IP
/floating_ips/{id}/actions
POST
Assign floating ip — Assign a Floating IP to a Server
/floating_ips/{id}/actions/assign
POST
Change floating ip dns ptr — Change reverse DNS records for a Floating IP
/floating_ips/{id}/actions/change_dns_ptr
POST
Change floating ip protection — Change Floating IP Protection
/floating_ips/{id}/actions/change_protection
POST
Unassign floating ip — Unassign a Floating IP
/floating_ips/{id}/actions/unassign
GET
Get floating ip action — Get an Action for a Floating IP
/floating_ips/{id}/actions/{action_id}
GET
List images — List Images
/images
GET
List images actions — List Actions
/images/actions
GET
Get images action — Get an Action
/images/actions/{id}
GET
Get image — Get an Image
/images/{id}
PUT
Update image — Update an Image
/images/{id}
DELETE
Delete image — Delete an Image
/images/{id}
GET
List image actions — List Actions for an Image
/images/{id}/actions
POST
Change image protection — Change Image Protection
/images/{id}/actions/change_protection
GET
Get image action — Get an Action for an Image
/images/{id}/actions/{action_id}
GET
List isos — List ISOs
/isos
GET
Get iso — Get an ISO
/isos/{id}
GET
List load balancer types — List Load Balancer Types
/load_balancer_types
GET
Get load balancer type — Get a Load Balancer Type
/load_balancer_types/{id}
GET
List load balancers — List Load Balancers
/load_balancers
POST
Create load balancer — Create a Load Balancer
/load_balancers
GET
List load balancers actions — List Actions
/load_balancers/actions
GET
Get load balancers action — Get an Action
/load_balancers/actions/{id}
GET
Get load balancer — Get a Load Balancer
/load_balancers/{id}
PUT
Update load balancer — Update a Load Balancer
/load_balancers/{id}
DELETE
Delete load balancer — Delete a Load Balancer
/load_balancers/{id}
GET
List load balancer actions — List Actions for a Load Balancer
/load_balancers/{id}/actions

MCP Tools

get-actions

Get multiple Actions

read-only idempotent
get-action

Get an Action

read-only idempotent
list-certificates

List Certificates

read-only idempotent
create-certificate

Create a Certificate

list-certificates-actions

List Actions

read-only idempotent
get-certificates-action

Get an Action

read-only idempotent
get-certificate

Get a Certificate

read-only idempotent
update-certificate

Update a Certificate

idempotent
delete-certificate

Delete a Certificate

idempotent
list-certificate-actions

List Actions for a Certificate

read-only idempotent
retry-certificate

Retry Issuance or Renewal

get-certificate-action

Get an Action for a Certificate

read-only idempotent
list-datacenters

List Data Centers

read-only idempotent
get-datacenter

Get a Data Center

read-only idempotent
list-firewalls

List Firewalls

read-only idempotent
create-firewall

Create a Firewall

list-firewalls-actions

List Actions

read-only idempotent
get-firewalls-action

Get an Action

read-only idempotent
get-firewall

Get a Firewall

read-only idempotent
update-firewall

Update a Firewall

idempotent
delete-firewall

Delete a Firewall

idempotent
list-firewall-actions

List Actions for a Firewall

read-only idempotent
apply-firewall-to-resources

Apply to Resources

remove-firewall-from-resources

Remove from Resources

set-firewall-rules

Set Rules

get-firewall-action

Get an Action for a Firewall

read-only idempotent
list-floating-ips

List Floating IPs

read-only idempotent
create-floating-ip

Create a Floating IP

list-floating-ips-actions

List Actions

read-only idempotent
get-floating-ips-action

Get an Action

read-only idempotent
get-floating-ip

Get a Floating IP

read-only idempotent
update-floating-ip

Update a Floating IP

idempotent
delete-floating-ip

Delete a Floating IP

idempotent
list-floating-ip-actions

List Actions for a Floating IP

read-only idempotent
assign-floating-ip

Assign a Floating IP to a Server

change-floating-ip-dns-ptr

Change reverse DNS records for a Floating IP

change-floating-ip-protection

Change Floating IP Protection

unassign-floating-ip

Unassign a Floating IP

get-floating-ip-action

Get an Action for a Floating IP

read-only idempotent
list-images

List Images

read-only idempotent
list-images-actions

List Actions

read-only idempotent
get-images-action

Get an Action

read-only idempotent
get-image

Get an Image

read-only idempotent
update-image

Update an Image

idempotent
delete-image

Delete an Image

idempotent
list-image-actions

List Actions for an Image

read-only idempotent
change-image-protection

Change Image Protection

get-image-action

Get an Action for an Image

read-only idempotent
list-isos

List ISOs

read-only idempotent
get-iso

Get an ISO

read-only idempotent
list-load-balancer-types

List Load Balancer Types

read-only idempotent
get-load-balancer-type

Get a Load Balancer Type

read-only idempotent
list-load-balancers

List Load Balancers

read-only idempotent
create-load-balancer

Create a Load Balancer

list-load-balancers-actions

List Actions

read-only idempotent
get-load-balancers-action

Get an Action

read-only idempotent
get-load-balancer

Get a Load Balancer

read-only idempotent
update-load-balancer

Update a Load Balancer

idempotent
delete-load-balancer

Delete a Load Balancer

idempotent
list-load-balancer-actions

List Actions for a Load Balancer

read-only idempotent

Capability Spec

hetzner-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Hetzner Cloud API
  description: '# Overview This is the official documentation for the Hetzner Cloud API. ## Introduction The Hetzner Cloud
    API operates over HTTPS and uses JSON as its data format. The API is a RESTful API and utilizes HTTP methods and HTTP
    status codes to specify requests and responses. As an alternative to working directly with our API you may also consider
    to use: - Our CLI program [hcloud](https://github.com/hetznercloud/cli) - Our [library for Go](https://github.com/hetznercloud/hcloud-go)
    - Our [library for Python](https://github.com/hetznercloud/hcloud-python) You can find even more libraries, tools an'
  tags:
  - Hetzner
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: hetzner
    baseUri: https://api.hetzner.cloud/v1
    description: Hetzner Cloud API HTTP API.
    authentication:
      type: bearer
      token: '{{HETZNER_TOKEN}}'
    resources:
    - name: actions
      path: /actions
      operations:
      - name: get-actions
        method: GET
        description: Get multiple Actions
        inputParameters:
        - name: id
          in: query
          type: array
          required: true
          description: Filter the actions by ID. May be used multiple times. The response will only contain actions matching
            the specified IDs.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: actions-id
      path: /actions/{id}
      operations:
      - name: get-action
        method: GET
        description: Get an Action
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Action.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: certificates
      path: /certificates
      operations:
      - name: list-certificates
        method: GET
        description: List Certificates
        inputParameters:
        - name: sort
          in: query
          type: array
          description: Sort resources by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: name
          in: query
          type: string
          description: Filter resources by their name. The response will only contain the resources matching exactly the specified
            name.
        - name: label_selector
          in: query
          type: string
          description: Filter resources by labels. The response will only contain resources matching the label selector. For
            more information, see "[Label Selector](#description/label
        - name: type
          in: query
          type: array
          description: Filter resources by type. May be used multiple times. The response will only contain the resources
            with the specified type.
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-certificate
        method: POST
        description: Create a Certificate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: certificates-actions
      path: /certificates/actions
      operations:
      - name: list-certificates-actions
        method: GET
        description: List Actions
        inputParameters:
        - name: id
          in: query
          type: array
          description: Filter the actions by ID. May be used multiple times. The response will only contain actions matching
            the specified IDs.
        - name: sort
          in: query
          type: array
          description: Sort actions by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: status
          in: query
          type: array
          description: Filter the actions by status. May be used multiple times. The response will only contain actions matching
            the specified statuses.
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: certificates-actions-id
      path: /certificates/actions/{id}
      operations:
      - name: get-certificates-action
        method: GET
        description: Get an Action
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Action.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: certificates-id
      path: /certificates/{id}
      operations:
      - name: get-certificate
        method: GET
        description: Get a Certificate
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Certificate.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-certificate
        method: PUT
        description: Update a Certificate
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Certificate.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: delete-certificate
        method: DELETE
        description: Delete a Certificate
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Certificate.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: certificates-id-actions
      path: /certificates/{id}/actions
      operations:
      - name: list-certificate-actions
        method: GET
        description: List Actions for a Certificate
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Certificate.
        - name: sort
          in: query
          type: array
          description: Sort actions by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: status
          in: query
          type: array
          description: Filter the actions by status. May be used multiple times. The response will only contain actions matching
            the specified statuses.
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: certificates-id-actions-retry
      path: /certificates/{id}/actions/retry
      operations:
      - name: retry-certificate
        method: POST
        description: Retry Issuance or Renewal
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Certificate.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: certificates-id-actions-action-id
      path: /certificates/{id}/actions/{action_id}
      operations:
      - name: get-certificate-action
        method: GET
        description: Get an Action for a Certificate
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Certificate.
        - name: action_id
          in: path
          type: integer
          required: true
          description: ID of the Action.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: datacenters
      path: /datacenters
      operations:
      - name: list-datacenters
        method: GET
        description: List Data Centers
        inputParameters:
        - name: name
          in: query
          type: string
          description: Filter resources by their name. The response will only contain the resources matching exactly the specified
            name.
        - name: sort
          in: query
          type: array
          description: Sort resources by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: datacenters-id
      path: /datacenters/{id}
      operations:
      - name: get-datacenter
        method: GET
        description: Get a Data Center
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Data Center.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: firewalls
      path: /firewalls
      operations:
      - name: list-firewalls
        method: GET
        description: List Firewalls
        inputParameters:
        - name: sort
          in: query
          type: array
          description: Sort resources by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: name
          in: query
          type: string
          description: Filter resources by their name. The response will only contain the resources matching exactly the specified
            name.
        - name: label_selector
          in: query
          type: string
          description: Filter resources by labels. The response will only contain resources matching the label selector. For
            more information, see "[Label Selector](#description/label
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-firewall
        method: POST
        description: Create a Firewall
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: firewalls-actions
      path: /firewalls/actions
      operations:
      - name: list-firewalls-actions
        method: GET
        description: List Actions
        inputParameters:
        - name: id
          in: query
          type: array
          description: Filter the actions by ID. May be used multiple times. The response will only contain actions matching
            the specified IDs.
        - name: sort
          in: query
          type: array
          description: Sort actions by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: status
          in: query
          type: array
          description: Filter the actions by status. May be used multiple times. The response will only contain actions matching
            the specified statuses.
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: firewalls-actions-id
      path: /firewalls/actions/{id}
      operations:
      - name: get-firewalls-action
        method: GET
        description: Get an Action
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Action.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: firewalls-id
      path: /firewalls/{id}
      operations:
      - name: get-firewall
        method: GET
        description: Get a Firewall
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Firewall.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-firewall
        method: PUT
        description: Update a Firewall
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Firewall.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: delete-firewall
        method: DELETE
        description: Delete a Firewall
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Firewall.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: firewalls-id-actions
      path: /firewalls/{id}/actions
      operations:
      - name: list-firewall-actions
        method: GET
        description: List Actions for a Firewall
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Firewall.
        - name: sort
          in: query
          type: array
          description: Sort actions by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: status
          in: query
          type: array
          description: Filter the actions by status. May be used multiple times. The response will only contain actions matching
            the specified statuses.
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: firewalls-id-actions-apply-to-resources
      path: /firewalls/{id}/actions/apply_to_resources
      operations:
      - name: apply-firewall-to-resources
        method: POST
        description: Apply to Resources
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Firewall.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: firewalls-id-actions-remove-from-resources
      path: /firewalls/{id}/actions/remove_from_resources
      operations:
      - name: remove-firewall-from-resources
        method: POST
        description: Remove from Resources
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Firewall.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: firewalls-id-actions-set-rules
      path: /firewalls/{id}/actions/set_rules
      operations:
      - name: set-firewall-rules
        method: POST
        description: Set Rules
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Firewall.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: firewalls-id-actions-action-id
      path: /firewalls/{id}/actions/{action_id}
      operations:
      - name: get-firewall-action
        method: GET
        description: Get an Action for a Firewall
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Firewall.
        - name: action_id
          in: path
          type: integer
          required: true
          description: ID of the Action.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: floating-ips
      path: /floating_ips
      operations:
      - name: list-floating-ips
        method: GET
        description: List Floating IPs
        inputParameters:
        - name: name
          in: query
          type: string
          description: Filter resources by their name. The response will only contain the resources matching exactly the specified
            name.
        - name: label_selector
          in: query
          type: string
          description: Filter resources by labels. The response will only contain resources matching the label selector. For
            more information, see "[Label Selector](#description/label
        - name: sort
          in: query
          type: array
          description: Sort resources by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-floating-ip
        method: POST
        description: Create a Floating IP
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: floating-ips-actions
      path: /floating_ips/actions
      operations:
      - name: list-floating-ips-actions
        method: GET
        description: List Actions
        inputParameters:
        - name: id
          in: query
          type: array
          description: Filter the actions by ID. May be used multiple times. The response will only contain actions matching
            the specified IDs.
        - name: sort
          in: query
          type: array
          description: Sort actions by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: status
          in: query
          type: array
          description: Filter the actions by status. May be used multiple times. The response will only contain actions matching
            the specified statuses.
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: floating-ips-actions-id
      path: /floating_ips/actions/{id}
      operations:
      - name: get-floating-ips-action
        method: GET
        description: Get an Action
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Action.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: floating-ips-id
      path: /floating_ips/{id}
      operations:
      - name: get-floating-ip
        method: GET
        description: Get a Floating IP
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Floating IP.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-floating-ip
        method: PUT
        description: Update a Floating IP
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Floating IP.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: delete-floating-ip
        method: DELETE
        description: Delete a Floating IP
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Floating IP.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: floating-ips-id-actions
      path: /floating_ips/{id}/actions
      operations:
      - name: list-floating-ip-actions
        method: GET
        description: List Actions for a Floating IP
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Floating IP.
        - name: sort
          in: query
          type: array
          description: Sort actions by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: status
          in: query
          type: array
          description: Filter the actions by status. May be used multiple times. The response will only contain actions matching
            the specified statuses.
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: floating-ips-id-actions-assign
      path: /floating_ips/{id}/actions/assign
      operations:
      - name: assign-floating-ip
        method: POST
        description: Assign a Floating IP to a Server
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Floating IP.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: floating-ips-id-actions-change-dns-ptr
      path: /floating_ips/{id}/actions/change_dns_ptr
      operations:
      - name: change-floating-ip-dns-ptr
        method: POST
        description: Change reverse DNS records for a Floating IP
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Floating IP.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: floating-ips-id-actions-change-protection
      path: /floating_ips/{id}/actions/change_protection
      operations:
      - name: change-floating-ip-protection
        method: POST
        description: Change Floating IP Protection
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Floating IP.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: floating-ips-id-actions-unassign
      path: /floating_ips/{id}/actions/unassign
      operations:
      - name: unassign-floating-ip
        method: POST
        description: Unassign a Floating IP
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Floating IP.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: floating-ips-id-actions-action-id
      path: /floating_ips/{id}/actions/{action_id}
      operations:
      - name: get-floating-ip-action
        method: GET
        description: Get an Action for a Floating IP
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Floating IP.
        - name: action_id
          in: path
          type: integer
          required: true
          description: ID of the Action.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: images
      path: /images
      operations:
      - name: list-images
        method: GET
        description: List Images
        inputParameters:
        - name: sort
          in: query
          type: array
          description: Sort resources by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: type
          in: query
          type: array
          description: Filter resources by type. May be used multiple times. The response will only contain the resources
            with the specified type.
        - name: status
          in: query
          type: array
          description: Filter resources by status. May be used multiple times. The response will only contain the resources
            with the specified status.
        - name: bound_to
          in: query
          type: array
          description: Filter Images by their linked Server ID. May be used multiple times. Only available for Images of type
            `backup`.
        - name: include_deprecated
          in: query
          type: boolean
          description: Include deprecated Images.
        - name: name
          in: query
          type: string
          description: Filter resources by their name. The response will only contain the resources matching exactly the specified
            name.
        - name: label_selector
          in: query
          type: string
          description: Filter resources by labels. The response will only contain resources matching the label selector. For
            more information, see "[Label Selector](#description/label
        - name: architecture
          in: query
          type: string
          description: Filter resources by cpu architecture. The response will only contain the resources with the specified
            cpu architecture.
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: images-actions
      path: /images/actions
      operations:
      - name: list-images-actions
        method: GET
        description: List Actions
        inputParameters:
        - name: id
          in: query
          type: array
          description: Filter the actions by ID. May be used multiple times. The response will only contain actions matching
            the specified IDs.
        - name: sort
          in: query
          type: array
          description: Sort actions by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)".
        - name: status
          in: query
          type: array
          description: Filter the actions by status. May be used multiple times. The response will only contain actions matching
            the specified statuses.
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: images-actions-id
      path: /images/actions/{id}
      operations:
      - name: get-images-action
        method: GET
        description: Get an Action
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Action.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: images-id
      path: /images/{id}
      operations:
      - name: get-image
        method: GET
        description: Get an Image
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Image.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-image
        method: PUT
        description: Update an Image
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Image.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: delete-image
        method: DELETE
        description: Delete an Image
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the Image.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: images-id-actions
      path: /images/{id}/actions


# --- truncated at 32 KB (103 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hetzner/refs/heads/main/capabilities/hetzner-capability.yaml