ZoneEdit provides TXT create and delete endpoints for ACME DNS-01 validation:
https://dynamic.zoneedit.com/txt-create.php?host=_acme-challenge.example.com&rdata=
https://dynamic.zoneedit.com/txt-delete.php?host=_acme-challenge.example.com&rdata=
Use HTTP Basic Auth with:
Using a Dynamic DNS auth token is strongly recommended instead of your account password.
The host value should be the full ACME challenge hostname, such as:
_acme-challenge.example.com
For wildcard certificates, do not include the wildcard in the challenge hostname. For *.example.com, use:
_acme-challenge.example.com
The rdata value is the TXT validation value supplied by your ACME client.
A helper script for Certbot/manual DNS-01 validation is available here:
https://github.com/ZONEEDIT_ORG/zoneedit-acme-dns01
Example:
export ZE_USER='your-zoneedit-login'
export ZE_DYN_TOKEN='your-dynamic-dns-token'
certbot certonly
--manual
--preferred-challenges dns
--manual-auth-hook "/path/to/zoneedit-acme-dns01.sh auth"
--manual-cleanup-hook "/path/to/zoneedit-acme-dns01.sh cleanup"
-d example.com
-d '*.example.com'
The auth hook creates the required TXT record. The cleanup hook deletes only the exact TXT value created for that validation.