The Hetzner Cloud API — servers, volumes, networks, load balancers and firewalls.
We already watch this spec — add your email and we'll alert you on every change, breaking ones first. Free, no credit card, one click to stop.
Rebuilt automatically from the official OpenAPI spec. Every entry is a real diff — nothing is hand-written.
version 1.0.0 → 1.0.0
| Change | Type | Severity | Why it matters |
|---|---|---|---|
GET /actions | response 200 type changed | Breaking | Response 200 field "actions[].finished": string,null → string,null |
GET /actions | response 200 type changed | Breaking | Response 200 field "actions[].error": object,null → object,null |
GET /actions | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /actions | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /actions/{id} | response 200 type changed | Breaking | Response 200 field "action.finished": string,null → string,null |
GET /actions/{id} | response 200 type changed | Breaking | Response 200 field "action.error": object,null → object,null |
GET /actions/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /actions/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /certificates | response 200 type changed | Breaking | Response 200 field "certificates[].certificate": string,null → string,null |
GET /certificates | response 200 type changed | Breaking | Response 200 field "certificates[].not_valid_before": string,null → string,null |
GET /certificates | response 200 type changed | Breaking | Response 200 field "certificates[].not_valid_after": string,null → string,null |
GET /certificates | response 200 type changed | Breaking | Response 200 field "certificates[].fingerprint": string,null → string,null |
GET /certificates | response 200 type changed | Breaking | Response 200 field "certificates[].status": object,null → object,null |
GET /certificates | response 200 type changed | Breaking | Response 200 field "certificates[].status.error": object,null → object,null |
GET /certificates | response 200 type changed | Breaking | Response 200 field "meta.pagination.previous_page": integer,null → integer,null |
GET /certificates | response 200 type changed | Breaking | Response 200 field "meta.pagination.next_page": integer,null → integer,null |
GET /certificates | response 200 type changed | Breaking | Response 200 field "meta.pagination.last_page": integer,null → integer,null |
GET /certificates | response 200 type changed | Breaking | Response 200 field "meta.pagination.total_entries": integer,null → integer,null |
GET /certificates | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /certificates | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
POST /certificates | response 201 type changed | Breaking | Response 201 field "certificate.certificate": string,null → string,null |
POST /certificates | response 201 type changed | Breaking | Response 201 field "certificate.not_valid_before": string,null → string,null |
POST /certificates | response 201 type changed | Breaking | Response 201 field "certificate.not_valid_after": string,null → string,null |
POST /certificates | response 201 type changed | Breaking | Response 201 field "certificate.fingerprint": string,null → string,null |
POST /certificates | response 201 type changed | Breaking | Response 201 field "certificate.status": object,null → object,null |
POST /certificates | response 201 type changed | Breaking | Response 201 field "certificate.status.error": object,null → object,null |
POST /certificates | response 201 type changed | Breaking | Response 201 field "action": object,null → object,null |
POST /certificates | response 201 type changed | Breaking | Response 201 field "action.finished": string,null → string,null |
POST /certificates | response 201 type changed | Breaking | Response 201 field "action.error": object,null → object,null |
POST /certificates | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
POST /certificates | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /certificates/actions | response 200 type changed | Breaking | Response 200 field "actions[].finished": string,null → string,null |
GET /certificates/actions | response 200 type changed | Breaking | Response 200 field "actions[].error": object,null → object,null |
GET /certificates/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.previous_page": integer,null → integer,null |
GET /certificates/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.next_page": integer,null → integer,null |
GET /certificates/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.last_page": integer,null → integer,null |
GET /certificates/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.total_entries": integer,null → integer,null |
GET /certificates/actions | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /certificates/actions | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /certificates/actions/{id} | response 200 type changed | Breaking | Response 200 field "action.finished": string,null → string,null |
GET /certificates/actions/{id} | response 200 type changed | Breaking | Response 200 field "action.error": object,null → object,null |
GET /certificates/actions/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /certificates/actions/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.certificate": string,null → string,null |
GET /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.not_valid_before": string,null → string,null |
GET /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.not_valid_after": string,null → string,null |
GET /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.fingerprint": string,null → string,null |
GET /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.status": object,null → object,null |
GET /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.status.error": object,null → object,null |
GET /certificates/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /certificates/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
PUT /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.certificate": string,null → string,null |
PUT /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.not_valid_before": string,null → string,null |
PUT /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.not_valid_after": string,null → string,null |
PUT /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.fingerprint": string,null → string,null |
PUT /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.status": object,null → object,null |
PUT /certificates/{id} | response 200 type changed | Breaking | Response 200 field "certificate.status.error": object,null → object,null |
PUT /certificates/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
PUT /certificates/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
DELETE /certificates/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
DELETE /certificates/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /certificates/{id}/actions | response 200 type changed | Breaking | Response 200 field "actions[].finished": string,null → string,null |
GET /certificates/{id}/actions | response 200 type changed | Breaking | Response 200 field "actions[].error": object,null → object,null |
GET /certificates/{id}/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.previous_page": integer,null → integer,null |
GET /certificates/{id}/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.next_page": integer,null → integer,null |
GET /certificates/{id}/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.last_page": integer,null → integer,null |
GET /certificates/{id}/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.total_entries": integer,null → integer,null |
GET /certificates/{id}/actions | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /certificates/{id}/actions | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
POST /certificates/{id}/actions/retry | response 201 type changed | Breaking | Response 201 field "action.finished": string,null → string,null |
POST /certificates/{id}/actions/retry | response 201 type changed | Breaking | Response 201 field "action.error": object,null → object,null |
POST /certificates/{id}/actions/retry | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
POST /certificates/{id}/actions/retry | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /certificates/{id}/actions/{action_id} | response 200 type changed | Breaking | Response 200 field "action.finished": string,null → string,null |
GET /certificates/{id}/actions/{action_id} | response 200 type changed | Breaking | Response 200 field "action.error": object,null → object,null |
GET /certificates/{id}/actions/{action_id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /certificates/{id}/actions/{action_id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /datacenters | response 200 type changed | Breaking | Response 200 field "meta.pagination.previous_page": integer,null → integer,null |
GET /datacenters | response 200 type changed | Breaking | Response 200 field "meta.pagination.next_page": integer,null → integer,null |
GET /datacenters | response 200 type changed | Breaking | Response 200 field "meta.pagination.last_page": integer,null → integer,null |
GET /datacenters | response 200 type changed | Breaking | Response 200 field "meta.pagination.total_entries": integer,null → integer,null |
GET /datacenters | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /datacenters | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /datacenters/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /datacenters/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /firewalls | response 200 type changed | Breaking | Response 200 field "firewalls[].rules[].description": string,null → string,null |
GET /firewalls | response 200 type changed | Breaking | Response 200 field "firewalls[].rules[].port": string,null → string,null |
GET /firewalls | response 200 type changed | Breaking | Response 200 field "meta.pagination.previous_page": integer,null → integer,null |
GET /firewalls | response 200 type changed | Breaking | Response 200 field "meta.pagination.next_page": integer,null → integer,null |
GET /firewalls | response 200 type changed | Breaking | Response 200 field "meta.pagination.last_page": integer,null → integer,null |
GET /firewalls | response 200 type changed | Breaking | Response 200 field "meta.pagination.total_entries": integer,null → integer,null |
GET /firewalls | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /firewalls | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
POST /firewalls | request body type changed | Breaking | string,null → string,null |
POST /firewalls | response 201 type changed | Breaking | Response 201 field "firewall.rules[].description": string,null → string,null |
POST /firewalls | response 201 type changed | Breaking | Response 201 field "firewall.rules[].port": string,null → string,null |
POST /firewalls | response 201 type changed | Breaking | Response 201 field "actions[].finished": string,null → string,null |
POST /firewalls | response 201 type changed | Breaking | Response 201 field "actions[].error": object,null → object,null |
POST /firewalls | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
POST /firewalls | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /firewalls/actions | response 200 type changed | Breaking | Response 200 field "actions[].finished": string,null → string,null |
GET /firewalls/actions | response 200 type changed | Breaking | Response 200 field "actions[].error": object,null → object,null |
GET /firewalls/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.previous_page": integer,null → integer,null |
GET /firewalls/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.next_page": integer,null → integer,null |
GET /firewalls/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.last_page": integer,null → integer,null |
GET /firewalls/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.total_entries": integer,null → integer,null |
GET /firewalls/actions | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /firewalls/actions | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /firewalls/actions/{id} | response 200 type changed | Breaking | Response 200 field "action.finished": string,null → string,null |
GET /firewalls/actions/{id} | response 200 type changed | Breaking | Response 200 field "action.error": object,null → object,null |
GET /firewalls/actions/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /firewalls/actions/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /firewalls/{id} | response 200 type changed | Breaking | Response 200 field "firewall.rules[].description": string,null → string,null |
GET /firewalls/{id} | response 200 type changed | Breaking | Response 200 field "firewall.rules[].port": string,null → string,null |
GET /firewalls/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /firewalls/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
PUT /firewalls/{id} | response 200 type changed | Breaking | Response 200 field "firewall.rules[].description": string,null → string,null |
PUT /firewalls/{id} | response 200 type changed | Breaking | Response 200 field "firewall.rules[].port": string,null → string,null |
PUT /firewalls/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
PUT /firewalls/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
DELETE /firewalls/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
DELETE /firewalls/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /firewalls/{id}/actions | response 200 type changed | Breaking | Response 200 field "actions[].finished": string,null → string,null |
GET /firewalls/{id}/actions | response 200 type changed | Breaking | Response 200 field "actions[].error": object,null → object,null |
GET /firewalls/{id}/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.previous_page": integer,null → integer,null |
GET /firewalls/{id}/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.next_page": integer,null → integer,null |
GET /firewalls/{id}/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.last_page": integer,null → integer,null |
GET /firewalls/{id}/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.total_entries": integer,null → integer,null |
GET /firewalls/{id}/actions | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /firewalls/{id}/actions | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
POST /firewalls/{id}/actions/apply_to_resources | response 201 type changed | Breaking | Response 201 field "actions[].finished": string,null → string,null |
POST /firewalls/{id}/actions/apply_to_resources | response 201 type changed | Breaking | Response 201 field "actions[].error": object,null → object,null |
POST /firewalls/{id}/actions/apply_to_resources | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
POST /firewalls/{id}/actions/apply_to_resources | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
POST /firewalls/{id}/actions/remove_from_resources | response 201 type changed | Breaking | Response 201 field "actions[].finished": string,null → string,null |
POST /firewalls/{id}/actions/remove_from_resources | response 201 type changed | Breaking | Response 201 field "actions[].error": object,null → object,null |
POST /firewalls/{id}/actions/remove_from_resources | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
POST /firewalls/{id}/actions/remove_from_resources | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
POST /firewalls/{id}/actions/set_rules | request body type changed | Breaking | string,null → string,null |
POST /firewalls/{id}/actions/set_rules | response 201 type changed | Breaking | Response 201 field "actions[].finished": string,null → string,null |
POST /firewalls/{id}/actions/set_rules | response 201 type changed | Breaking | Response 201 field "actions[].error": object,null → object,null |
POST /firewalls/{id}/actions/set_rules | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
POST /firewalls/{id}/actions/set_rules | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /firewalls/{id}/actions/{action_id} | response 200 type changed | Breaking | Response 200 field "action.finished": string,null → string,null |
GET /firewalls/{id}/actions/{action_id} | response 200 type changed | Breaking | Response 200 field "action.error": object,null → object,null |
GET /firewalls/{id}/actions/{action_id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /firewalls/{id}/actions/{action_id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /floating_ips | response 200 constraint changed | OK | Response 200 field "floating_ips[].name": minLength: (none) → 1 |
GET /floating_ips | response 200 constraint changed | OK | Response 200 field "floating_ips[].name": maxLength: (none) → 255 |
GET /floating_ips | response 200 type changed | Breaking | Response 200 field "floating_ips[].description": string,null → string,null |
GET /floating_ips | response 200 type changed | Breaking | Response 200 field "floating_ips[].server": integer,null → integer,null |
GET /floating_ips | response 200 type changed | Breaking | Response 200 field "meta.pagination.previous_page": integer,null → integer,null |
GET /floating_ips | response 200 type changed | Breaking | Response 200 field "meta.pagination.next_page": integer,null → integer,null |
GET /floating_ips | response 200 type changed | Breaking | Response 200 field "meta.pagination.last_page": integer,null → integer,null |
GET /floating_ips | response 200 type changed | Breaking | Response 200 field "meta.pagination.total_entries": integer,null → integer,null |
GET /floating_ips | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /floating_ips | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
POST /floating_ips | request body type changed | Breaking | integer,null → integer,null |
POST /floating_ips | request body type changed | Breaking | string,null → string,null |
POST /floating_ips | request body constraint changed | Breaking | minLength: (none) → 1 |
POST /floating_ips | request body constraint changed | Breaking | maxLength: (none) → 255 |
POST /floating_ips | response 201 constraint changed | OK | Response 201 field "floating_ip.name": minLength: (none) → 1 |
POST /floating_ips | response 201 constraint changed | OK | Response 201 field "floating_ip.name": maxLength: (none) → 255 |
POST /floating_ips | response 201 type changed | Breaking | Response 201 field "floating_ip.description": string,null → string,null |
POST /floating_ips | response 201 type changed | Breaking | Response 201 field "floating_ip.server": integer,null → integer,null |
POST /floating_ips | response 201 type changed | Breaking | Response 201 field "action": object,null → object,null |
POST /floating_ips | response 201 type changed | Breaking | Response 201 field "action.finished": string,null → string,null |
POST /floating_ips | response 201 type changed | Breaking | Response 201 field "action.error": object,null → object,null |
POST /floating_ips | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
POST /floating_ips | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /floating_ips/actions | response 200 type changed | Breaking | Response 200 field "actions[].finished": string,null → string,null |
GET /floating_ips/actions | response 200 type changed | Breaking | Response 200 field "actions[].error": object,null → object,null |
GET /floating_ips/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.previous_page": integer,null → integer,null |
GET /floating_ips/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.next_page": integer,null → integer,null |
GET /floating_ips/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.last_page": integer,null → integer,null |
GET /floating_ips/actions | response 200 type changed | Breaking | Response 200 field "meta.pagination.total_entries": integer,null → integer,null |
GET /floating_ips/actions | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /floating_ips/actions | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /floating_ips/actions/{id} | response 200 type changed | Breaking | Response 200 field "action.finished": string,null → string,null |
GET /floating_ips/actions/{id} | response 200 type changed | Breaking | Response 200 field "action.error": object,null → object,null |
GET /floating_ips/actions/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /floating_ips/actions/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /floating_ips/{id} | response 200 constraint changed | OK | Response 200 field "floating_ip.name": minLength: (none) → 1 |
GET /floating_ips/{id} | response 200 constraint changed | OK | Response 200 field "floating_ip.name": maxLength: (none) → 255 |
GET /floating_ips/{id} | response 200 type changed | Breaking | Response 200 field "floating_ip.description": string,null → string,null |
GET /floating_ips/{id} | response 200 type changed | Breaking | Response 200 field "floating_ip.server": integer,null → integer,null |
GET /floating_ips/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
GET /floating_ips/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
PUT /floating_ips/{id} | request body type changed | Breaking | string,null → string,null |
PUT /floating_ips/{id} | request body constraint changed | Breaking | minLength: (none) → 1 |
PUT /floating_ips/{id} | request body constraint changed | Breaking | maxLength: (none) → 255 |
PUT /floating_ips/{id} | response 200 constraint changed | OK | Response 200 field "floating_ip.name": minLength: (none) → 1 |
PUT /floating_ips/{id} | response 200 constraint changed | OK | Response 200 field "floating_ip.name": maxLength: (none) → 255 |
PUT /floating_ips/{id} | response 200 type changed | Breaking | Response 200 field "floating_ip.description": string,null → string,null |
PUT /floating_ips/{id} | response 200 type changed | Breaking | Response 200 field "floating_ip.server": integer,null → integer,null |
PUT /floating_ips/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
PUT /floating_ips/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
DELETE /floating_ips/{id} | response 4xx type changed | Breaking | Response 4xx field "error.details": object,null → object,null |
DELETE /floating_ips/{id} | response 5xx type changed | Breaking | Response 5xx field "error.details": object,null → object,null |
GET /floating_ips/{id}/actions | response 200 type changed | Breaking | Response 200 field "actions[].finished": string,null → string,null |
Showing the first 200 changes of this update.
Point us at your own OpenAPI spec and get the same automatic changelog, plus email alerts and breaking-change classification on every release.