GoDaddy

Registering and renewing through GoDaddy: API key and secret, the OTE test environment, every function, DNS records and troubleshooting.

The GoDaddy registrar module registers, transfers and renews domains through the GoDaddy Domains API. It also reads and changes nameservers, contact details, the registrar lock, ID protection and DNS records, and it syncs expiry dates. It is free and fits shops whose GoDaddy account qualifies for the Domains API. The shared registrar behaviour (the page, Test Connection, the log) is in Domain registrars; prices and the life of a domain are in Domains.

Switching it on

  1. Open Setup → Domain Registrars, press Activate on GoDaddy, then Configure.
  2. Enter the API key and API secret and save.
  3. Press Test Connection. A good answer is Connected to GoDaddy.
  4. Press Use for all extensions, or choose it for one extension in Setup → Domain Pricing.

Settings

SettingMeaning
API keyCreate a production key at developer.godaddy.com under API Keys. GoDaddy requires 10 or more domains in the account for the Domains API.
API secretThe secret shown once, when the key was created. Hidden field: leave empty to keep the saved one.
Shopper IDOnly for reseller accounts acting for a customer (sent as X-Shopper-Id). Leave empty otherwise.
Test modeUse the OTE test environment (api.ote-godaddy.com) with an OTE key.

The key and the secret are required; without them every call fails with GoDaddy is not set up yet: the API key and secret are needed. Calls are signed with the header Authorization: sso-key KEY:SECRET.

What GoDaddy needs from you

  • A GoDaddy account with enough domains for API access (10 or more, as GoDaddy states), and a production API key and secret from the developer site.
  • For testing, a separate OTE key from the same site; production and OTE keys are not interchangeable.
  • Credit or a payment method in the GoDaddy account for registrations and renewals.
  • No IP whitelist is asked for by this module. The server needs HTTPS to the outside (the PHP curl extension).

What it does

FunctionBehaviour
AvailabilityUses GoDaddy's fast check.
RegisterBuys the domain for the years ordered, auto-renew off, ID protection when the client chose it. The legal agreements for the extension are fetched from GoDaddy and accepted with the time and the IP address of the request. All four contacts are the client's details. Nameservers are sent when the client gave some.
TransferStarts the transfer with the EPP code, for one year.
RenewRenews for the years asked and reads the new expiry date.
SyncReads the status and expiry date. ACTIVE is active; TRANSFERRED_OUT or a missing domain marks it Transferred Away; a transfer in progress completes when GoDaddy shows it as active.
NameserversRead and changed at GoDaddy; at least two are needed.
ContactsRead from and saved to GoDaddy.
Registrar lockRead and changed at GoDaddy.
EPP codeRead from GoDaddy. If it gives none, the message says to unlock the domain first, or ask GoDaddy support.
ID protectionBuys or removes GoDaddy's privacy service.
DNS recordsRead and saved. Saving replaces every record of the zone, so read them first and save the full list. At least one record is needed. The lowest TTL is 600; MX and SRV records carry a priority.

Typical workflow

  1. A client orders a domain and pays the invoice.
  2. AIOBilling calls GoDaddy. The domain becomes Active with the expiry date, and the client gets Domain Registration Confirmation.
  3. The cron syncs dates daily and makes the renewal invoice ahead of the expiry. When it is paid, the module renews at GoDaddy.
  4. A failed call e-mails the administrators and the Module Log shows GoDaddy's message.

Testing in OTE

  1. Create an OTE key at developer.godaddy.com and enter it, with its secret. Switch Test mode on.
  2. Press Test Connection. It should say Connected to GoDaddy (OTE test environment).
  3. Order a test domain and pay the invoice. OTE does not charge real money.
  4. Replace the key and secret with the production ones and switch Test mode off.

Troubleshooting

Use Utilities → Module Log, filter by module godaddy, press View. GoDaddy's own message and code are shown after GoDaddy:.

MessageCure
GoDaddy: ... (ACCESS_DENIED) or UNABLE_TO_AUTHENTICATEWrong key or secret, a key of the other environment, or an account that does not qualify for the Domains API.
GoDaddy: ... (INVALID_BODY) or a field messageGoDaddy refused a detail, usually in the client's contact data (phone, postcode, country). Correct the client and try again.
GoDaddy needs at least two nameservers.Give two or more nameservers.
GoDaddy did not give an EPP code ...Unlock the domain, wait, or ask GoDaddy support.
GoDaddy could not be reached: ...curl, firewall or DNS on your server.

More in Troubleshooting.

Was this helpful?

Updated 2026-11-03