@aoxborrow/registrar-client 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aoxborrow/registrar-client",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "One consistent, fully-typed TypeScript interface to many domain registrar APIs (GoDaddy, Cloudflare, Namecheap, Spaceship, Dynadot, Porkbun, and more) behind a single pluggable multi-provider client",
5
5
  "author": {
6
6
  "name": "Aaron Oxborrow",
@@ -271,20 +271,28 @@ export class GoDaddyRegistrar extends BaseRegistrar {
271
271
  static readonly displayName = 'GoDaddy';
272
272
  static readonly website = 'godaddy.com';
273
273
  static readonly helpText =
274
- 'Authenticate one of two ways. For production, create a Personal Access ' +
275
- 'Token (PAT) at https://developer.godaddy.com and pass it as `apiToken` — ' +
276
- 'this enables the modern v3 API. For sandbox testing, create OTE ' +
277
- '(test environment) keys and pass `apiKey` + `apiSecret` with ' +
278
- '{ environment: "sandbox" }; OTE only exposes the legacy v1 API. The ' +
279
- 'sso-key (API Key/Secret) scheme is deprecated by GoDaddy in 2026. ' +
280
- 'Domain forwarding uses the v2 customer-scoped API — set `customerId` to ' +
281
- 'your GoDaddy customer UUID, or to your numeric shopper/account ID (which ' +
282
- 'the client resolves to the UUID via an sso-key-authenticated lookup).';
274
+ 'Create a Personal Access Token (PAT) at https://developer.godaddy.com and ' +
275
+ "paste it here. The PAT is GoDaddy's modern credential: it unlocks the v3 " +
276
+ 'API (discovery, registration, DNS, nameservers) and also authenticates the ' +
277
+ 'legacy v1 API for management operations (renew, transfer, auto-renew, ' +
278
+ 'lock, privacy, contacts) — one token covers everything.';
279
+ // Only the PAT is exposed for configuration — it is the sole credential
280
+ // GoDaddy recommends going forward, and it covers every production operation.
281
+ //
282
+ // The legacy `apiKey` + `apiSecret` (sso-key) pair and the `customerId` field
283
+ // are intentionally NOT advertised here. The code that consumes them is kept
284
+ // (see `authHeader`, `useV3`, `resolveCustomerId`, and the forwarding methods)
285
+ // so OTE/sandbox testing and direct programmatic use still work when those
286
+ // values are passed in credentials explicitly. But because they are no longer
287
+ // configurable, two capabilities are effectively unreachable through normal
288
+ // (config-driven) setup:
289
+ // - OTE/sandbox, which needs an sso-key (`apiKey` + `apiSecret`), and
290
+ // - domain forwarding, which needs `customerId` (a customer UUID), plus an
291
+ // sso-key to resolve a numeric shopper ID to that UUID.
292
+ // GoDaddy is deprecating the sso-key scheme in 2026, so this is the direction
293
+ // of travel regardless.
283
294
  static readonly configFields: ConfigField[] = [
284
- { name: 'apiToken', label: 'API Token (PAT)', type: 'password', required: false },
285
- { name: 'apiKey', label: 'API Key', type: 'password', required: false },
286
- { name: 'apiSecret', label: 'API Secret', type: 'password', required: false },
287
- { name: 'customerId', label: 'Customer ID or Shopper ID', type: 'text', required: false },
295
+ { name: 'apiToken', label: 'API Token (PAT)', type: 'password', required: true },
288
296
  ];
289
297
  // GoDaddy's OTE ("Operational Test Environment") is its sandbox
290
298
  static readonly supportsSandbox = true;