Domain Name API v2 Migration: Fix Reseller Not Found, Invalid API Key, and Connection Errors (Complete Troubleshooting Guide)

Your API integration was working yesterday. Today it isn't. Or you updated your WHMCS module but the errors keep coming. You entered your Reseller ID and API Key correctly — or so you think — and you're still seeing “Reseller not found!”.

You're not alone. Domain Name API has migrated its entire infrastructure to a new v2 microservices platform. The migration brings significant improvements to security, performance, and scalability — but it also changed the authentication model, API endpoint structure, and module requirements in ways that affect every active integration.

Don't worry. Most of these errors can be resolved in under five minutes once you know exactly what changed. This guide covers every error reported during the v2 migration — with root causes, step-by-step fixes, and WHMCS, WiseCP, HostBill, Blesta, and ClientExec specifics — so you can resolve your issue without opening a support ticket.

When Do You Need This Guide?

  • ✔ Your integration stopped working after receiving the v2 migration email
  • ✔ You're seeing Reseller not found!, Invalid API Key, or Unauthorized errors
  • ✔ You updated your WHMCS or WiseCP module but errors continue
  • ✔ Domain sync, TLD import, or renewal operations are failing
  • ✔ You entered what you believe are the correct credentials but the API still rejects them

What Changed in v2 and Why It Breaks Existing Integrations

Feature Old v1 System New v2 System
Authentication Username + Panel Password Reseller ID + API Key
API Endpoint Legacy v1 URLs api.domainresellerapi.com (v2)
Security Optional IP filtering IP Whitelist mandatory
Protocol SOAP/XML REST/JSON
Module Compatibility v1 module files v2-compatible module required

None of these changes apply automatically to your existing setup. After receiving the migration email, you need to manually update your integration — your module files, your credentials, and your IP whitelist settings.

Quick Checklist: Resolve 90% of Issues Before Contacting Support

Run through this checklist first. Most issues trace to one of these seven points:

  • ☑ You are running the latest module version (WHMCS V.3.0.9+, WiseCP V2.0.8+)
  • ☑ The Username field contains your numerical Reseller ID (digits only, no text)
  • ☑ The Password field contains your API Key, not your panel login password
  • ☑ No accidental spaces at the beginning or end of your API Key
  • ☑ Your server’s outbound IP address is added to the Whitelist in your v2 panel
  • ☑ No legacy v1 API endpoint URLs remain in your module files
  • ☑ Cron jobs are running and PHP / ionCube Loader are up to date

If you've verified all seven and the error continues, contact our support team with your error message, module version, and automation system: domainnameapi.com/contacts.

Reseller Not Found: Why It Happens and How to Fix It

Reseller Not Found: Why It Happens and How to Fix It

Quick Answer

The “Reseller not found!” error appears when the Username field contains your old text-based handle (a company name, email address, or alphanumeric string) instead of your numerical Reseller ID. The v2 API gateway does not recognize text usernames.

Why Does This Happen?

You are entering your legacy text username (e.g., “bayiadi”, “homefirm”) in the Username field

Your module is not updated to the v2-compatible version — the old module continues sending the old parameter format in the background

You copied the wrong value from the migration email into the wrong field

Wrong vs. Correct Input

❌ Wrong ✅ Correct
Username: bayiadi Username: 381728 (numerical Reseller ID only)
Username: company@email.com Username: 994521 (digits only, no letters)
Password: MyPanel1234! Password: sk_live_x9Kp2mN7... (API Key from panel)

Fix: Step by Step

  1. Log into your new v2 reseller panel at dm.apiname.com.
  2. Find your numerical Reseller ID on the main dashboard — it consists entirely of digits.
  3. Open your WHMCS / WiseCP / HostBill module settings.
  4. Clear the Username field completely.
  5. Enter only your numerical Reseller ID — no letters, no symbols, no spaces.
  6. Enter your API Key in the Password field (not your panel password).
  7. Save and run a connection test.

Full explanation: Reseller Not Found Error Explained

Post-migration setup guide: Post-Migration Integration Guide

Don’t have a free reseller account yet?

You can set up your Domain Name API reseller account in under 2 minutes. No setup fee. No minimum deposit.

Invalid API Key (API_401 Unauthorized): Causes and Fixes

Invalid API Key (API_401 Unauthorized): Causes and Fixes

Quick Answer

API_401 means the API authentication request was rejected. The two most common causes: (1) entering your panel login password instead of an API Key, (2) an invisible space character at the beginning or end of the pasted API Key.

What Causes This?

Cause Symptom
Panel password used instead of API Key API_401 or “Username and password combination not correct”
Space at start or end of API Key API_401, especially after a copy-paste
API Key was regenerated but old key still in module Worked briefly, then stopped
Server IP not in Whitelist API_401 or Unauthorized error

Wrong vs. Correct Input

❌ Wrong ✅ Correct
Password: MyPanelPassword! Password: c8Kp2mN7qR4tY8vL... (API Key)
Password: 123456 Generate a new API Key from the panel
API Key with leading space: ‘ c8Kp...’ No leading space: ‘c8Kp...’

Fix: Step by Step

  1. Log into your v2 reseller panel.
  2. Go to Settings > API Management.
  3. Generate a new API Key (click “Generate API Key”).
  4. Copy the key directly from the panel display box.
  5. Clear the Password field in your WHMCS / WiseCP / HostBill module settings.
  6. Paste the API Key. Do not type it manually — paste it.
  7. Before saving: click inside the field and press Ctrl+A to verify no invisible characters are present.
  8. Save changes.
The Invisible Space Problem

When copying an API Key from an email or browser, your clipboard often picks up a trailing newline or space. This is invisible but causes every authentication attempt to fail.

Safest method: paste your API Key into a plain text editor (Notepad on Windows, TextEdit in plain text mode on Mac) first. Inspect for spaces. Then copy from there into your module settings.

Full explanation: Invalid API Key Error: Causes and Solutions

IP Whitelist: Why It’s Mandatory and How to Configure It

IP Whitelist: Why It’s Mandatory and How to Configure It

Quick Answer

The v2 infrastructure validates every API request against a pre-approved IP list. If your server’s outbound IP isn’t on the Whitelist, the system blocks the connection — even if your credentials are completely correct.

Why Is This Required?

IP Whitelisting is a second layer of protection. If an API Key is ever leaked or exposed (for example, accidentally committed to a public GitHub repository), the IP restriction ensures unauthorized parties cannot use it. This is a security feature, not an obstacle.

How to Add Your Server IP

  1. Log into your v2 reseller panel.
  2. Go to Settings > API Management > Allowed IP Addresses (Whitelist).
  3. Add your WHMCS / WiseCP / HostBill server’s main outbound IP address.
  4. Save.

Important: Your Site’s IP and Your Server’s Outbound IP Are Often Different

Especially on shared hosting, cloud environments, or servers behind a NAT gateway, the IP address visible in your domain’s DNS records is not the same IP your server uses to send outbound cURL / API requests.

How to find the correct IP: SSH into your server and run: curl https://api.ipify.org

The result is the IP address to whitelist. Alternatively, ask your hosting provider for your “server outbound cURL IP” or “Gateway IP”.

Errors caused by a missing or incorrect Whitelist entry:

  • Unauthorized! Invalid API Key
  • API_401
  • Reseller not found!
  • WHMCS becomes extremely slow / Cloudflare 522 Connection Timeout
  • Full explanation: Unauthorized API Access Error: Causes and Fixes
  • Test platform info: Domain Name API Test Platform Information

Want to test your API connection without affecting live data?
The OT&E sandbox lets you run domain registration, transfer, and renewal flows without creating real registrations or spending any balance.
→ OT&E Sandbox: ote.domainresellerapi.com/swagger

Module Update: The Single Most Important Step

The most common root cause across all v2 migration support tickets: old module files still present on the server. Even if you enter the correct Reseller ID, API Key, and Whitelist settings, an outdated module continues sending requests to legacy v1 endpoints with the old parameter format. The API cannot understand them.

Which Module Version Do You Need?

Platform Minimum v2-Compatible Version
WHMCS V.3.0.9 or higher
WiseCP V2.0.8 or higher
HostBill Latest (via GitHub)
Blesta Latest
ClientExec Latest

How to Update Your Module

  1. Completely delete the old module directory on your server. (Example: /modules/registrars/domainnameapi/)
  2. Download the latest module files from the official source.
  3. Install cleanly — don’t overwrite old files. Delete first, then install.
  4. Open the module settings and enter your Reseller ID and API Key.
  5. Verify your IP Whitelist.
  6. Run a connection test.

Module files and installation guide: Domain Reseller Module Update Guide

GitHub module repository: github.com/domainreseller

PHP SDK (domain registration API library): github.com/domainreseller/php-dna

WHMCS Integration: domainnameapi.com/whmcs

WiseCP Integration: domainnameapi.com/wisecp

HostBill Integration: domainnameapi.com/hostbill

Your module may be outdated.

Download the latest WHMCS, WiseCP, and HostBill domain registrar modules and update your integration in minutes.

WHMCS: Step-by-Step Setup

Follow these steps in order. Do not skip any step.

  1. In your WHMCS admin panel, go to Setup > Products/Services > Domain Registrars.
  2. Find the DomainNameAPI module and click Deactivate (temporarily).
  3. On your server, completely delete the /modules/registrars/domainnameapi/ directory.
  4. Download V.3.0.9 or higher from GitHub and upload the files to the same directory.
  5. In WHMCS, Activate the module again.
  6. Open the module configuration and set the following:

Username: Your numerical Reseller ID (digits only)

Password: Your API Key from your v2 panel (not your login password)

Test Mode: Check this for OT&E sandbox testing; leave unchecked for production

  1. Add your WHMCS server’s outbound IP to the Whitelist in your v2 panel.
  2. Click Save Changes.
  3. Click Test Connection — you should see your account balance.
  4. For TLD sync: Setup > Products/Services > Domain Registrars > DomainNameAPI > TLD Pricing.

WHMCS Is Running Very Slowly or Showing Cloudflare 522 Errors

This happens when your WHMCS server sends API requests in the background but the request is silently dropped by our firewall (because the server IP isn’t whitelisted). WHMCS keeps waiting for a response that never comes, timing out and slowing down or crashing page loads.

Immediate fix: Deactivate the DomainNameAPI module in WHMCS. This stops the background requests and restores normal page load speed immediately. Then add your correct server outbound IP to the Whitelist and reactivate.

WiseCP: Step-by-Step Setup

  1. Log into your WiseCP admin panel.
  2. Go to Products/Services > Domain Registration > Domain Registrars.
  3. Find DomainNameAPI and click Edit.
  4. Delete the old module files on your server, install V2.0.8 or higher.
  5. In the module settings:

Reseller Username: Your numerical Reseller ID

Reseller Password: Your API Key (not your panel password)

  1. Add your WiseCP server’s outbound IP to the Whitelist in your v2 panel.
  2. Click Save.
  3. Click Test Connection to verify.

WiseCP Orders Are Being Automatically Cancelled

Why does WiseCP cancel orders automatically?

When WiseCP’s background cron sends an API request and receives an error (Reseller not found, Invalid API Key, or Unauthorized), it assumes the domain registration failed and marks the order as “Cancelled” or “Transferred Elsewhere.”

This is a WiseCP safety mechanism — Domain Name API is not deleting or cancelling anything. The API connection error is the root cause.

Fix: Resolve the API connection issue. Once the connection is stable, re-sync the affected orders from within WiseCP.

Post-migration configuration guide: Post-Migration Configuration Guide

WiseCP module documentation: domainnameapi.com/wisecp

HostBill: TLD Extensions Keep Coming Back

Situation

You remove TLD products from HostBill, but every time the sync cron runs, they come back.

Why Does This Happen?

The HostBill module, on every sync cycle, fetches the complete active TLD list from the Domain Name API and re-adds everything it finds. Unless you disable this auto-import behavior, removed extensions will be recreated on every cron run.

Fix

  1. In HostBill, go to Settings > Modules > Domain Modules.
  2. Open DomainNameAPI module settings.
  3. Find the “Auto-Sync TLDs”, “Import New TLDs”, or “Automatically add new extensions” option and set it to Disabled.
  4. Save.

After this change:

  • Existing TLD pricing continues to update
  • Customer domain statuses continue to sync
  • Removed or new TLD extensions will no longer be automatically re-added
  • HostBill module documentation: domainnameapi.com/hostbill

Domain Renewal Error: Parameter value range error

Quick Answer

This error appears when your WHMCS module is still sending renewal requests to the old v1 API endpoint (api.domainresellerapi.com/api/v1/...). That endpoint no longer processes requests under the new architecture.

Fix

  • Update to module version V.3.0.9 or higher.
  • Completely delete the old module files — do not overwrite.
  • The updated module automatically uses the correct v2 endpoints.
  • After updating, retry any failed renewal operations from your WHMCS admin panel.

Domain Sync Not Working: Causes and Solutions

You've updated the module, entered the correct credentials, and the connection test passes — but domain sync isn't working. Check these in order:

Check How to Verify Fix
Cron running? Check WHMCS/WiseCP automation logs Adjust cron schedule
Correct outbound IP in Whitelist? Run curl https://api.ipify.org from server Add the correct IP to Whitelist
API Key has trailing space? Clear field, re-paste key Paste via plain text editor first
Module up to date? Check module version in settings Install V.3.0.9 / V2.0.8
Cron running too frequently? (429 error?) Check error logs for API_429 Reduce cron frequency

GetTldList Failing: Why It Happens and How to Fix It

1. API Connection Failing

If GetTldList is failing, there’s almost always a deeper connection issue. Check your Reseller ID, API Key, and Whitelist first. Once the API connection is stable, GetTldList will work.

2. TLD Catalog Data Mismatch (KeyNotFoundException)

If a specific TLD extension (e.g., .org.ge, .watches) has a missing or malformed price or feature entry in our catalog, the GetTldList method throws a KeyNotFoundException that prevents the entire catalog from loading — not just that one TLD.

This is a system-side issue, not something you can fix locally. When you encounter this:

  • Copy the full error message including the TLD name and error code.
  • Submit it to our support team with your Reseller ID.
  • Our engineering team patches the catalog entry directly. Once resolved, GetTldList resumes normally with no action required on your end.

Frequently Asked Questions

Why did my integration stop working overnight?

Domain Name API completed its migration to a new v2 microservices platform. The authentication model changed — the API now requires a numerical Reseller ID and a dedicated API Key instead of a text username and panel password.

Where do I find my Reseller ID?

Log into your v2 reseller panel at dm.apiname.com. Your numerical Reseller ID is displayed on the main dashboard.

Is my API Key the same as my panel password?

No. Your API Key is a separate, long security string generated from Settings > API Management in your v2 panel. It is completely independent from your panel login password.

I entered both credentials correctly but still get an error. What next?

Check the IP Whitelist. Your server’s outbound IP must be explicitly authorized in your v2 panel under Settings > API Management > Allowed IP Addresses. Correct credentials alone are not enough if the IP isn’t whitelisted.

I updated the module but the Username/Password fields still appear. Why?

The old module files weren’t fully removed. Delete the entire /modules/registrars/domainnameapi/ directory on your server, then re-install the new module fresh.

WiseCP connection test passes but no data loads (balance, TLDs, prices).

Your server’s outbound cURL IP and your site’s visible IP may differ. The visible IP might have passed the Whitelist check but the actual outbound request IP is being blocked. Run curl https://api.ipify.org from your server to find the real outbound IP and whitelist that instead.

HostBill keeps re-adding TLD extensions I removed.

Disable “Auto-Sync TLDs” or “Import New TLDs” in the HostBill DomainNameAPI module settings. This stops new/removed TLDs from being automatically re-added on each cron cycle.

I regenerated my API Key but the error continues.

Make sure you've pasted the new API Key into your module settings without any leading or trailing spaces. Paste into a plain text editor first to verify.

WHMCS renewal shows 'Parameter value range error'.

Your module is still sending requests to the old v1 API endpoint. Update to module V.3.0.9 or higher with a clean installation.

Can I test my integration without spending real balance?

Yes. The OT&E sandbox environment lets you run complete domain registration, transfer, and renewal tests without creating real registrations or charging your account. Production URL: api.domainresellerapi.com | OT&E URL: ote.domainresellerapi.com

WiseCP is automatically cancelling orders.

WiseCP cancels orders when its background cron receives an API error. Fix the API connection and the cancellations will stop. Re-sync affected orders after the connection is restored.

My module is up to date, credentials are correct, IP is whitelisted — still failing.

Check that PHP and ionCube Loader are current and compatible with your module version. Look at your server’s error logs for specific failure details. If the issue persists, contact support with the exact error message and your module version.

WHMCS is running extremely slowly after the module update.

This is caused by background API requests timing out due to a missing Whitelist entry. Temporarily deactivate the DomainNameAPI module in WHMCS to stop the background requests and restore page speed. Then add the correct server outbound IP to the Whitelist and reactivate.

What is the 60-day transfer lock?

ICANN requires that domains cannot be transferred for 60 days after initial registration or after a previous transfer completes. This applies even if all transfer-prohibiting status codes are removed.

I received a migration email with credentials. Why aren’t they working?

The migration email provides your new Reseller ID and API Key. Make sure you're entering the Reseller ID in the Username field and the API Key in the Password field — not the other way around, and with no extra spaces.

Error Code Quick Reference Table

Error Message Most Likely Cause First Step
Reseller not found! Text username in Username field Enter numerical Reseller ID
API_401: Unauthorized! Invalid API Key Panel password used or API Key has trailing space Generate new API Key, paste without spaces
Unauthorized API Access Server IP not in Whitelist Add server outbound IP to Whitelist
Username and password combination not correct Old module using v1 parameters Update module to V.3.0.9 / V2.0.8
Parameter value range error Module sending requests to old v1 endpoint Clean reinstall with latest module
KeyNotFoundException: The given key 'xyz'... TLD catalog data mismatch on our side Report the error code and TLD name to support
API_429: Too Many Requests Cron running too frequently Reduce cron frequency, batch requests
Domain has been transferred elsewhere WiseCP interpreting API error as a transfer Fix API connection, re-sync affected orders
Invalid response received / Response is empty Request dropped by firewall or old module Whitelist + clean module update
WHMCS slow / Cloudflare 522 API cURL requests timing out due to IP block Add server outbound IP to Whitelist

Conclusion

The v2 migration brought meaningful improvements to the Domain Name API platform. But those improvements required changes to how every integration authenticates, connects, and communicates. The support tickets we received during this period trace overwhelmingly to four root causes: outdated module files, text usernames instead of numerical Reseller IDs, panel passwords instead of API Keys, and missing IP Whitelist entries.

Work through the checklist at the top of this guide. If you clear all seven checkpoints and the error continues, bring the exact error message, your module version, and your automation platform to our support team and we'll help you resolve it quickly.

Still stuck after going through this guide? Contact support with:

  • ✔ Your automation system (WHMCS, WiseCP, HostBill, etc.)
  • ✔ Your module version
  • ✔ The exact error message (including error code)
  • ✔ The domain name involved (if applicable)

Looking for more API examples and REST API documentation?

Explore all domain registration API endpoints, JSON request/response examples, and test your integration interactively via our Swagger interface.