Hetzner · Capability
Hetzner Cloud API — Floating IP Actions
Hetzner Cloud API — Floating IP Actions. 8 operations. Lead operation: List Actions. Self-contained Naftiko capability covering one Hetzner business surface.
What You Can Do
GET
Listfloatingipsactions
— List Actions
/v1/floating-ips/actions
GET
Getfloatingipsaction
— Get an Action
/v1/floating-ips/actions/{id}
GET
Listfloatingipactions
— List Actions for a Floating IP
/v1/floating-ips/{id}/actions
POST
Assignfloatingip
— Assign a Floating IP to a Server
/v1/floating-ips/{id}/actions/assign
POST
Changefloatingipdnsptr
— Change reverse DNS records for a Floating IP
/v1/floating-ips/{id}/actions/change-dns-ptr
POST
Changefloatingipprotection
— Change Floating IP Protection
/v1/floating-ips/{id}/actions/change-protection
POST
Unassignfloatingip
— Unassign a Floating IP
/v1/floating-ips/{id}/actions/unassign
GET
Getfloatingipaction
— Get an Action for a Floating IP
/v1/floating-ips/{id}/actions/{action-id}
MCP Tools
list-actions
List Actions
read-only
idempotent
get-action
Get an Action
read-only
idempotent
list-actions-floating-ip
List Actions for a Floating IP
read-only
idempotent
assign-floating-ip-server
Assign a Floating IP to a Server
change-reverse-dns-records-floating
Change reverse DNS records for a Floating IP
change-floating-ip-protection
Change Floating IP Protection
unassign-floating-ip
Unassign a Floating IP
get-action-floating-ip
Get an Action for a Floating IP
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Hetzner Cloud API — Floating IP Actions
description: 'Hetzner Cloud API — Floating IP Actions. 8 operations. Lead operation: List Actions. Self-contained Naftiko
capability covering one Hetzner business surface.'
tags:
- Hetzner
- Floating IP Actions
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
HETZNER_API_KEY: HETZNER_API_KEY
capability:
consumes:
- type: http
namespace: hetzner-floating-ip-actions
baseUri: https://api.hetzner.cloud/v1
description: Hetzner Cloud API — Floating IP Actions business capability. Self-contained, no shared references.
resources:
- name: floating_ips-actions
path: /floating_ips/actions
operations:
- name: listfloatingipsactions
method: GET
description: List Actions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: query
type: array
description: Filter the actions by ID. May be used multiple times.
- name: sort
in: query
type: array
description: Sort actions by field and direction. May be used multiple times.
- name: status
in: query
type: array
description: Filter the actions by status. May be used multiple times.
- 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)".
- name: floating_ips-actions-id
path: /floating_ips/actions/{id}
operations:
- name: getfloatingipsaction
method: GET
description: Get an Action
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: ID of the Action.
required: true
- name: floating_ips-id-actions
path: /floating_ips/{id}/actions
operations:
- name: listfloatingipactions
method: GET
description: List Actions for a Floating IP
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: ID of the Floating IP.
required: true
- name: sort
in: query
type: array
description: Sort actions by field and direction. May be used multiple times.
- name: status
in: query
type: array
description: Filter the actions by status. May be used multiple times.
- 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)".
- name: floating_ips-id-actions-assign
path: /floating_ips/{id}/actions/assign
operations:
- name: assignfloatingip
method: POST
description: Assign a Floating IP to a Server
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: ID of the Floating IP.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: floating_ips-id-actions-change_dns_ptr
path: /floating_ips/{id}/actions/change_dns_ptr
operations:
- name: changefloatingipdnsptr
method: POST
description: Change reverse DNS records for a Floating IP
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: ID of the Floating IP.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: floating_ips-id-actions-change_protection
path: /floating_ips/{id}/actions/change_protection
operations:
- name: changefloatingipprotection
method: POST
description: Change Floating IP Protection
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: ID of the Floating IP.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: floating_ips-id-actions-unassign
path: /floating_ips/{id}/actions/unassign
operations:
- name: unassignfloatingip
method: POST
description: Unassign a Floating IP
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: ID of the Floating IP.
required: true
- name: floating_ips-id-actions-action_id
path: /floating_ips/{id}/actions/{action_id}
operations:
- name: getfloatingipaction
method: GET
description: Get an Action for a Floating IP
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: ID of the Floating IP.
required: true
- name: action_id
in: path
type: integer
description: ID of the Action.
required: true
authentication:
type: bearer
token: '{{env.HETZNER_API_KEY}}'
exposes:
- type: rest
namespace: hetzner-floating-ip-actions-rest
port: 8080
description: REST adapter for Hetzner Cloud API — Floating IP Actions. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/floating-ips/actions
name: floating-ips-actions
description: REST surface for floating_ips-actions.
operations:
- method: GET
name: listfloatingipsactions
description: List Actions
call: hetzner-floating-ip-actions.listfloatingipsactions
with:
id: rest.id
sort: rest.sort
status: rest.status
page: rest.page
per_page: rest.per_page
outputParameters:
- type: object
mapping: $.
- path: /v1/floating-ips/actions/{id}
name: floating-ips-actions-id
description: REST surface for floating_ips-actions-id.
operations:
- method: GET
name: getfloatingipsaction
description: Get an Action
call: hetzner-floating-ip-actions.getfloatingipsaction
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/floating-ips/{id}/actions
name: floating-ips-id-actions
description: REST surface for floating_ips-id-actions.
operations:
- method: GET
name: listfloatingipactions
description: List Actions for a Floating IP
call: hetzner-floating-ip-actions.listfloatingipactions
with:
id: rest.id
sort: rest.sort
status: rest.status
page: rest.page
per_page: rest.per_page
outputParameters:
- type: object
mapping: $.
- path: /v1/floating-ips/{id}/actions/assign
name: floating-ips-id-actions-assign
description: REST surface for floating_ips-id-actions-assign.
operations:
- method: POST
name: assignfloatingip
description: Assign a Floating IP to a Server
call: hetzner-floating-ip-actions.assignfloatingip
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/floating-ips/{id}/actions/change-dns-ptr
name: floating-ips-id-actions-change-dns-ptr
description: REST surface for floating_ips-id-actions-change_dns_ptr.
operations:
- method: POST
name: changefloatingipdnsptr
description: Change reverse DNS records for a Floating IP
call: hetzner-floating-ip-actions.changefloatingipdnsptr
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/floating-ips/{id}/actions/change-protection
name: floating-ips-id-actions-change-protection
description: REST surface for floating_ips-id-actions-change_protection.
operations:
- method: POST
name: changefloatingipprotection
description: Change Floating IP Protection
call: hetzner-floating-ip-actions.changefloatingipprotection
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/floating-ips/{id}/actions/unassign
name: floating-ips-id-actions-unassign
description: REST surface for floating_ips-id-actions-unassign.
operations:
- method: POST
name: unassignfloatingip
description: Unassign a Floating IP
call: hetzner-floating-ip-actions.unassignfloatingip
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/floating-ips/{id}/actions/{action-id}
name: floating-ips-id-actions-action-id
description: REST surface for floating_ips-id-actions-action_id.
operations:
- method: GET
name: getfloatingipaction
description: Get an Action for a Floating IP
call: hetzner-floating-ip-actions.getfloatingipaction
with:
id: rest.id
action_id: rest.action_id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: hetzner-floating-ip-actions-mcp
port: 9090
transport: http
description: MCP adapter for Hetzner Cloud API — Floating IP Actions. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: list-actions
description: List Actions
hints:
readOnly: true
destructive: false
idempotent: true
call: hetzner-floating-ip-actions.listfloatingipsactions
with:
id: tools.id
sort: tools.sort
status: tools.status
page: tools.page
per_page: tools.per_page
outputParameters:
- type: object
mapping: $.
- name: get-action
description: Get an Action
hints:
readOnly: true
destructive: false
idempotent: true
call: hetzner-floating-ip-actions.getfloatingipsaction
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: list-actions-floating-ip
description: List Actions for a Floating IP
hints:
readOnly: true
destructive: false
idempotent: true
call: hetzner-floating-ip-actions.listfloatingipactions
with:
id: tools.id
sort: tools.sort
status: tools.status
page: tools.page
per_page: tools.per_page
outputParameters:
- type: object
mapping: $.
- name: assign-floating-ip-server
description: Assign a Floating IP to a Server
hints:
readOnly: false
destructive: false
idempotent: false
call: hetzner-floating-ip-actions.assignfloatingip
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: change-reverse-dns-records-floating
description: Change reverse DNS records for a Floating IP
hints:
readOnly: false
destructive: false
idempotent: false
call: hetzner-floating-ip-actions.changefloatingipdnsptr
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: change-floating-ip-protection
description: Change Floating IP Protection
hints:
readOnly: false
destructive: false
idempotent: false
call: hetzner-floating-ip-actions.changefloatingipprotection
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: unassign-floating-ip
description: Unassign a Floating IP
hints:
readOnly: false
destructive: false
idempotent: false
call: hetzner-floating-ip-actions.unassignfloatingip
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: get-action-floating-ip
description: Get an Action for a Floating IP
hints:
readOnly: true
destructive: false
idempotent: true
call: hetzner-floating-ip-actions.getfloatingipaction
with:
id: tools.id
action_id: tools.action_id
outputParameters:
- type: object
mapping: $.