Hetzner Actions API
Actions represent asynchronous tasks within the API, targeting one or more resources. See [Actions](#description/actions) for more details.
Actions represent asynchronous tasks within the API, targeting one or more resources. See [Actions](#description/actions) for more details.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/hetzner-actions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Hetzner Cloud Actions 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: Actions
description: 'Actions represent asynchronous tasks within the API, targeting one or more resources.
See Actions for more details.'
paths:
/actions:
get:
operationId: get_actions
summary: Get multiple Actions
description: 'Returns multiple Action objects specified by the `id` parameter.
**Note**: This endpoint previously allowed listing all actions in the project. This functionality was deprecated in July 2023 and removed on 30 January 2025.
- Announcement: https://docs.hetzner.cloud/changelog#2023-07-20-actions-list-endpoint-is-deprecated
- Removal: https://docs.hetzner.cloud/changelog#2025-01-30-listing-arbitrary-actions-in-the-actions-list-endpoint-is-removed'
tags:
- Actions
parameters:
- description: 'Filter the actions by ID. May be used multiple times.
The response will only contain actions matching the specified IDs.
'
name: id
in: query
required: true
schema:
type: array
items:
description: ID of the [Action](#description/actions).
type: integer
format: int64
minimum: 1
maximum: 9007199254740991
example: 42
responses:
'200':
description: Request succeeded.
content:
application/json:
schema:
title: ActionListResponse
type: object
properties:
actions:
type: array
items:
title: Action
type: object
properties:
id:
description: ID of the [Action](#description/actions).
type: integer
format: int64
minimum: 1
maximum: 9007199254740991
example: 42
command:
description: Command executed in the Action.
type: string
example: start_resource
status:
description: Status of the Action.
type: string
enum:
- running
- success
- error
started:
description: Point in time when the Action was started (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format).
type: string
format: date-time
example: '2016-01-30T23:55:00Z'
finished:
description: Point in time when the Action was finished (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). Only set if the Action is finished otherwise null.
type:
- string
- 'null'
format: date-time
example: '2016-01-30T23:55:00Z'
progress:
description: Progress of the Action in percent.
type: integer
format: int32
example: 100
resources:
description: Resources the Action relates to.
type: array
items:
type: object
properties:
id:
description: ID of the Resource.
type: integer
format: int64
minimum: 1
maximum: 9007199254740991
example: 42
type:
description: Type of the Resource.
type: string
example: server
required:
- id
- type
error:
description: Error message for the Action if an error occurred, otherwise null.
type:
- object
- 'null'
properties:
code:
description: Fixed error code for machines.
type: string
example: action_failed
message:
description: Error message for humans.
type: string
example: Action failed
required:
- code
- message
required:
- id
- command
- status
- progress
- started
- finished
- resources
- error
required:
- actions
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\tactions, err := client.Action.AllWithOpts(ctx, hcloud.ActionListOpts{ID: []int64{123, 456}})\n}"
/actions/{id}:
get:
operationId: get_action
summary: Get an Action
description: Returns a specific Action object.
tags:
- Actions
parameters:
- description: ID of the Action.
name: id
in: path
required: true
schema:
description: ID of the [Action](#description/actions).
type: integer
format: int64
minimum: 1
maximum: 9007199254740991
example: 42
responses:
'200':
description: Request succeeded.
content:
application/json:
schema:
title: ActionResponse
type: object
properties:
action:
title: Action
type: object
properties:
id:
description: ID of the [Action](#description/actions).
type: integer
format: int64
minimum: 1
maximum: 9007199254740991
example: 42
command:
description: Command executed in the Action.
type: string
example: start_resource
status:
description: Status of the Action.
type: string
enum:
- running
- success
- error
started:
description: Point in time when the Action was started (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format).
type: string
format: date-time
example: '2016-01-30T23:55:00Z'
finished:
description: Point in time when the Action was finished (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). Only set if the Action is finished otherwise null.
type:
- string
- 'null'
format: date-time
example: '2016-01-30T23:55:00Z'
progress:
description: Progress of the Action in percent.
type: integer
format: int32
example: 100
resources:
description: Resources the Action relates to.
type: array
items:
type: object
properties:
id:
description: ID of the Resource.
type: integer
format: int64
minimum: 1
maximum: 9007199254740991
example: 42
type:
description: Type of the Resource.
type: string
example: server
required:
- id
- type
error:
description: Error message for the Action if an error occurred, otherwise null.
type:
- object
- 'null'
properties:
code:
description: Fixed error code for machines.
type: string
example: action_failed
message:
description: Error message for humans.
type: string
example: Action failed
required:
- code
- message
required:
- id
- command
- status
- progress
- started
- finished
- resources
- error
required:
- action
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\taction, _, err := client.Action.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)
action = client.actions.get_by_id(123)'
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