The sandbox at sandbox.supporthost.com is a complete test instance of the reseller API. Money is not real, domains are not really registered, and nothing you do there affects production. Build and test your whole integration against it.
Sign up
Create an account at sandbox.supporthost.com/register. The sandbox is separate from production: a production account does not work there, and a sandbox account will not work in production.
Top up with a test card
Reseller operations are paid from your credit, so add some before you register a domain. In the client area, add funds and pay with a Stripe test card (any future expiry date, any 3-digit CVC):
Card number | Result |
|---|---|
4242 4242 4242 4242 | The payment succeeds. |
4000 0000 0000 0002 | The payment is declined. |
The sandbox runs Stripe in test mode: no real card is charged, and a real card number is refused. Never enter your own card there.
The payment fee is deducted from the credit you top up: paying 100 with a fee of 2 gives you 98 of credit. Top-ups carry no VAT. The charges for your operations carry 24% VAT, unless your account has a VAT number that is valid in VIES. Invoices for API operations are sent the 1st day of the month, of course in case of the sandbox it’s a dummy invoice.
Create an API token
- In the client area, click on you name, then open API Tokens.
- Create a token and copy it: it is shown once and you can’t recover it.
- Optionally restrict it to the IP addresses your servers call from (IP whitelist).
The token acts with your user’s permissions on the account. Registering, transferring, renewing and restoring need a token whose user has the managedomains permission. See Authentication for what that means.
Test registry and TLDs
Registrations, transfers and renewals go to a simulated registry: they succeed or fail like real ones, including the asynchronous 202 answers, but no domain is actually registered. The sandbox sells four TLDs:
.com.net.org.it— needs extra registrant fields (see .it extra fields).
Ask GET /reseller/pricing for the current list and your prices: a TLD that is not in it cannot be registered or transferred.
Force an outcome with the name
To test your error handling, start the domain name (the part before the TLD) with one of these prefixes. They work only in the sandbox; in production they are ordinary names.
Prefix | What happens |
|---|---|
fail- | The registration is refused at once ( registrar_error, refunded). |
pending- | The registration answers 202 and stays pending forever. |
slow- | The registration answers 202 and completes after a short delay. |
renewfail- | Renewals are refused at once ( registrar_error, refunded). |
updatefail- | Nameserver, contact, lock and WHOIS-privacy changes are refused. |
taken- | The name is reported as registered: not available to register. |
transfer… | Any name starting with transfer is reported as registered, so you can transfer it in. The transfer answers 202 and completes after a short delay. |
transferfail- | The transfer answers 202, then fails after the delay ("transfer": {"failed": true}). |
transferpending- | The transfer answers 202 and stays pending forever. |
transfererror- | The transfer is refused at once ( registrar_error, refunded). |
Any other name behaves normally: it is available, and registering it completes at once. The short delay is currently about 10 minutes on the sandbox. Prefixes are matched on the ASCII (Punycode) form of the name, ignoring case.
Test DNSSEC
Every sandbox domain supports DNSSEC through the same calls as production (see DNSSEC). The record form depends on the extension:
Extension | record_type | Fields to send |
|---|---|---|
.org, .eu | dnskey | flags (256/257), protocol (3), algorithm, public_key (Base64) |
every other extension ( .com, .net, .it, …) | ds | key_tag, algorithm, digest_type, digest (hex) |
Start the domain name with one of these prefixes to test the other cases:
Name starts with | What happens |
|---|---|
(anything else) | operations is add, remove, disable; changes apply at once; enable answers 422 dnssec_operation_not_supported. |
signed- | The zone is signed for you: enable while off (it publishes a record for the zone) and disable while on; adding or removing single records answers 422 dnssec_operation_not_supported. |
dnssecpending- | Every change answers pending: true and lands at the first read after a short delay; until then operations is empty and another change answers 409 dnssec_conflict. |
dnssecfail- | Reading the state works; every change answers 422 dnssec_refused. |
The fake registry also checks your records like a real one:
Check | Answer |
|---|---|
Algorithm outside algorithms, digest type outside digest_types, malformed field | 422 invalid_request |
Digest length not matching the digest type (SHA-1 = 40, SHA-256 = 64, SHA-384 = 96 hex characters) | 422 invalid_request (field error on digest) |
Public key not Base64, or shorter than 32 bytes | 422 dnssec_invalid_record |
The same record added twice | 409 dnssec_duplicate_record |
Removing a record that is not on file | 422 dnssec_record_not_found |
A 9th record (the limit is 8) | 422 dnssec_limit_reached |