Hetzner Actions API

Actions represent asynchronous tasks within the API, targeting one or more resources. See [Actions](#description/actions) for more details.

Operations 2

GET /actions Get multiple Actions #
GET /actions/{id} Get an Action #

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-actions-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-actions-api-openapi.yml Raw ↑
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