API Improvements: March ’25
A lot of improvements have been made to the Hosting.NL API. The focus of this release was on improving the foundation of the API and handling errors and validation. Additionally, three (!) new endpoints have been added!
Looking Ahead to the Next Release
The next release will focus on the SSL endpoint. To prepare for the shorter validity of SSL certificates, we are making it possible to download SSL certificate files through an API call. This will allow customers to automate the installation of SSL certificates.
These are the improvements in this release
New endpoint for checking the validity of an API key
You can now use GET /permissions to check if an API key has the correct permissions.
New Endpoint for DNS Zone Log
With the new DNS zone log, you have access to a history book that keeps track of all changes in DNS zones. This allows you to look up when a certain change was made or what the content of a specific DNS record was. Read more about it here.
New Endpoint for API Log
With this new endpoint, you can consult the API log. This way, you know exactly when something happened. Read more about it here.
Improved Error Messages
All endpoints have been provided with messages that you can actually use. The generic “Something went wrong” should no longer be the most common response 🥹.
Improved Input Validation for “/domains” Endpoint
For /domains/register, transfer, and available, the validation for domain name and TLD has been improved.
GET “/domains/{domain}” Endpoint Expanded
From now on, extensive status information is available where applicable. This allows you to better determine what is going on with a domain name. A few examples:
"message": "Incorrect authorization code", "message": "The properties 'AppPurpose' and 'NexusCategory' are mandatory (registrant:abc_1a2b3c4d)", "message": "Transfer is not possible for domains that have been registered in the past 60 days; eligible for transfer on 2025-04-16",
Forced JSON Validation for JSON Request Bodies
This ensures that only valid and complete data is accepted, and anything incorrect is immediately rejected. This prevents errors.
Returning Invoice Number for “/invoice” Results
Previously, only an invoice ID was returned as identification in the results; now our invoice number has been added to that.