Can’t get Hetzner DNS challenge to work after Hetzner changed their DNS API.
Certwarden worked before the update.
I have a new Hetzner API key, and tested it with lego v5.4.0 (pulled latest from git and build it). I’m able to get a certificate for my domain after creating the .lego.yml file.
I have updated certwarden to version 0.29.7 running the image from docker hub.
Provider configuration:
Type: DNS-01 Go acme le-go
Domain1: mydomain.dk
Post provision wait:300s
Provider code: hetzner
HETZNER_API_KEY=<new key>
Failed with: "deprovision failed (hetzner (legacy): unable to unmarshal response: "
Why does it say hetzner (legacy)? The old API does not work anymore, and thus should not be used?
Log:
8/29/2026, 11:20:52 AM, info, orders/fulfilling_do.go:227, orders: fulfilling worker 0: order 17 done 8/29/2026, 11:20:50 AM, info, orders/fulfilling_do.go:24, orders: fulfilling worker 0: ordering order id 17 (certificate name: deadzone.dk, subject: deadzone.dk) 8/29/2026, 11:20:50 AM, info, orders/auto_ordering.go:92, orders: 1 incomplete orders added to order queue 8/29/2026, 10:20:40 AM, error, challenges/solver.go:74, challenges: deprovision failed (hetzner (legacy): unable to unmarshal response: [status code: 200] body:
<link rel="stylesheet" href="/assets/outdated.css?v=1.0.8">
<link rel="search" type="application/opensearchdescription+xml" title="Hetzner Console" href="/assets/opensearch.xml?v=6">
<script src="/assets/outdated.min.js?v=1.0.8"></script>
<script>
checkOutdatedBrowser();
</script>
<script type="text/javascript"> var hcAppConfig = function () { return {
"login_url": "https://accounts.hetzner.com/oauth/authorize", "logout_url": "https://accounts.hetzner.com/logout", "api_base_url": "https://api.hetzner.cloud/v1", "hetzner_online_api_base_url": "https://api.hetzner.com/v1", "log_level": 4, "environment": "production", "sentry_dsn": "https://xxxxxxxxxxxxxxxxxxxxxxxxxxx@sentry.hetzner.com/134", "version": "control-panel_25.10.1", "content_api_url": "https://docs-content.hetzner.cloud", "support_suggestions_api_url": "https://doc-search-api.hetzner.com/api/v1"