@aoxborrow/registrar-client 0.8.0 → 0.9.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/README.md CHANGED
@@ -43,18 +43,19 @@ npm install @aoxborrow/registrar-client
43
43
 
44
44
  ## Providers
45
45
 
46
- | id | Provider | Auth | Sandbox | Notes |
47
- | ------------ | ---------- | -------------------------- | ------- | -------------------------------------------- |
48
- | `cloudflare` | Cloudflare | API token + Account ID | — | manages existing domains only |
49
- | `dynadot` | Dynadot | API key | ✓ | `api-sandbox.dynadot.com`; key in query |
50
- | `gandi` | Gandi.net | API key | ✓ | `api.sandbox.gandi.net` |
51
- | `godaddy` | GoDaddy | PAT, or key + secret | ✓ | hybrid v3/v1; sandbox = OTE (v1 only) |
52
- | `namebright` | NameBright | client ID + secret | — | OAuth2 bearer; production-only |
53
- | `namecheap` | Namecheap | username + key + client IP | ✓ | XML API; IP allowlisting required |
54
- | `namecom` | Name.com | username + API token | ✓ | Core v1; separate sandbox host and token |
55
- | `namesilo` | NameSilo | API key | ✓ | JSON/XML API; key sent in query string |
56
- | `porkbun` | Porkbun | key + secret | ✓ | sandbox via `pk1_sb_` key; per-domain opt-in |
57
- | `spaceship` | Spaceship | key + secret | — | |
46
+ | id | Provider | Auth | Sandbox | Notes |
47
+ | ------------ | ---------- | -------------------------- | ------- | ------------------------------------------------- |
48
+ | `101domain` | 101domain | Bearer API key | — | Portfolio, DNS, nameservers, permanent forwarding |
49
+ | `cloudflare` | Cloudflare | API token + Account ID | — | manages existing domains only |
50
+ | `dynadot` | Dynadot | API key | ✓ | `api-sandbox.dynadot.com`; key in query |
51
+ | `gandi` | Gandi.net | API key | ✓ | `api.sandbox.gandi.net` |
52
+ | `godaddy` | GoDaddy | PAT, or key + secret | ✓ | hybrid v3/v1; sandbox = OTE (v1 only) |
53
+ | `namebright` | NameBright | client ID + secret | — | OAuth2 bearer; production-only |
54
+ | `namecheap` | Namecheap | username + key + client IP | ✓ | XML API; IP allowlisting required |
55
+ | `namecom` | Name.com | username + API token | ✓ | Core v1; separate sandbox host and token |
56
+ | `namesilo` | NameSilo | API key | ✓ | JSON/XML API; key sent in query string |
57
+ | `porkbun` | Porkbun | key + secret | ✓ | sandbox via `pk1_sb_` key; per-domain opt-in |
58
+ | `spaceship` | Spaceship | key + secret | — | |
58
59
 
59
60
  Each provider class exposes static discovery metadata — `displayName`,
60
61
  `website` (its public domain, e.g. `gandi.net`), `configFields` (the credential
@@ -162,39 +163,44 @@ are the guaranteed contract; **extended** methods are opt-in per provider.
162
163
  **Legend:** ✓ implemented · ✗ not available via the provider's API (throws
163
164
  `NotImplementedError`) · a superscript marks a caveat noted below.
164
165
 
165
- | Core method | CF | DY | GA | GD | NB | NC | NS | PB | SP | NM |
166
- | ------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
167
- | `testConnection` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
168
- | `listDomains` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
169
- | `getDomain` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
170
- | `checkAvailability` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
171
- | `getPricing` | ✓ | ✓ᵃ | ✓ | ✓ᵃ | ✗ᵇ | ✓ | ✓ | ✓ | ✗ᵇ | ✓ |
172
- | `registerDomain` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
173
- | `renewDomain` | ✗ᶜ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
174
- | `setAutoRenew` | ✗ᶜ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
175
- | `transferIn` | ✗ᶜ | ✓ | ✓ | ✓ | ✗ᵈ | ✓ | ✓ | ✓ | ✓ | ✓ |
176
- | `updateNameservers` | ✗ᶜ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
177
- | `getNameservers` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
178
- | `lockDomain` | ✗ᶜ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ᵉ | ✓ | ✓ |
179
- | `unlockDomain` | ✗ᶜ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ᵉ | ✓ | ✓ |
180
- | `setPrivacy` | ✓ | ✓ | ✓ᶠ | ✓ᵍ | ✓ | ✓ | ✓ | ✗ᵉ | ✓ | ✓ |
181
- | `getContacts` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ᵉ | ✓ | ✓ |
182
- | `updateContacts` | ✗ᶜ | ✓ | ✓ | ✓ | ✗ᵈ | ✓ | ✓ | ✓ | ✓ | ✓ |
183
- | `getDnsRecords` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
184
- | `setDnsRecords` | ✓ | ✓ʰ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ʰ | ✓ |
185
-
186
- | Extended method | CF | DY | GA | GD | NB | NC | NS | PB | SP | NM |
187
- | --------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
188
- | `getAuthCode` | ✗ | ✓ | ✓ | ✓ | ✓ | ✗ⁱ | ✗ⁱ | ✗ | ✓ | ✓ |
189
- | `getDnssec` | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ᵐ |
190
- | `disableDnssec` | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ᵐ |
191
- | `getEmailForwarding` | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ᵐ |
192
- | `setEmailForwarding` | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ᵐ |
193
- | `getDomainForwarding` | ✓ | ✓ʲ | ✓ᵏ | ✓ˡ | ✗ | ✓ | ✓ʲ | ✓ | ✗ | ✗ᵐ |
194
- | `setDomainForwarding` | ✓ | ✓ʲ | ✓ᵏ | ✓ˡ | ✗ | ✓ | ✓ʲ | ✓ | ✗ | ✗ᵐ |
166
+ | Core method | CF | DY | GA | GD | NB | NC | NS | PB | SP | NM | 101 |
167
+ | ------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
168
+ | `testConnection` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
169
+ | `listDomains` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
170
+ | `getDomain` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
171
+ | `checkAvailability` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
172
+ | `getPricing` | ✓ | ✓ᵃ | ✓ | ✓ᵃ | ✗ᵇ | ✓ | ✓ | ✓ | ✗ᵇ | ✓ | ✓ |
173
+ | `registerDomain` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
174
+ | `renewDomain` | ✗ᶜ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
175
+ | `setAutoRenew` | ✗ᶜ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
176
+ | `transferIn` | ✗ᶜ | ✓ | ✓ | ✓ | ✗ᵈ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
177
+ | `updateNameservers` | ✗ᶜ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
178
+ | `getNameservers` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
179
+ | `lockDomain` | ✗ᶜ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ᵉ | ✓ | ✓ | ✗ |
180
+ | `unlockDomain` | ✗ᶜ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ᵉ | ✓ | ✓ | ✗ |
181
+ | `setPrivacy` | ✓ | ✓ | ✓ᶠ | ✓ᵍ | ✓ | ✓ | ✓ | ✗ᵉ | ✓ | ✓ | ✗ |
182
+ | `getContacts` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ᵉ | ✓ | ✓ | ✗ |
183
+ | `updateContacts` | ✗ᶜ | ✓ | ✓ | ✓ | ✗ᵈ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
184
+ | `getDnsRecords` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
185
+ | `setDnsRecords` | ✓ | ✓ʰ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ʰ | ✓ | ✓ |
186
+
187
+ | Extended method | CF | DY | GA | GD | NB | NC | NS | PB | SP | NM | 101 |
188
+ | --------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
189
+ | `getAuthCode` | ✗ | ✓ | ✓ | ✓ | ✓ | ✗ⁱ | ✗ⁱ | ✗ | ✓ | ✓ | ✗ |
190
+ | `getDnssec` | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ᵐ | ✗ |
191
+ | `disableDnssec` | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ᵐ | ✗ |
192
+ | `getEmailForwarding` | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ᵐ | ✗ |
193
+ | `setEmailForwarding` | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ᵐ | ✗ |
194
+ | `getDomainForwarding` | ✓ | ✓ʲ | ✓ᵏ | ✓ˡ | ✗ | ✓ | ✓ʲ | ✓ | ✗ | ✗ᵐ | ✓ |
195
+ | `setDomainForwarding` | ✓ | ✓ʲ | ✓ᵏ | ✓ˡ | ✗ | ✓ | ✓ʲ | ✓ | ✗ | ✗ᵐ | ✓ |
195
196
 
196
197
  `CF` Cloudflare · `DY` Dynadot · `GA` Gandi · `GD` GoDaddy · `NB` NameBright ·
197
- `NC` Namecheap · `NS` NameSilo · `PB` Porkbun · `SP` Spaceship · `NM` Name.com.
198
+ `NC` Namecheap · `NS` NameSilo · `PB` Porkbun · `SP` Spaceship · `NM` Name.com · `101` 101domain.
199
+
200
+ 101domain API 1.1.0 supports portfolio/search/pricing reads, DNS and nameserver
201
+ writes, and permanent apex URL forwarding. Its unimplemented core methods throw
202
+ `NotImplementedError`; the inherited core feature list is the library contract,
203
+ not a claim of available API endpoints. See [101domain](docs/registrars/101domain.md).
198
204
 
199
205
  **Caveats**
200
206