Module and release scope
This guide covers Internet.bs Registrar 1.0.0, Extension API 1, from the reviewed product source. Its declared core range is 1.3.6–1.3.99. Use the matching released core and signed provider package; a version label alone does not install the required contracts. Source availability does not mean the module is bundled in every currently downloadable product, installed on your server, enabled or certified for your merchant/server account. Nothing in this guide enables a provider or changes your existing connections.
Open System → Domain registrars (newer source may group these as Payments, Domain services or Hosting services). Install the reviewed signed package through Modules & addons or the integration workspace's Install tab, enable the module separately, add an account/connection, save its own credentials, run its stated Test and explicitly enable the connection. Saving or retesting disables the connection until you enable it again. Start with the provider's test environment where supported; otherwise use an isolated account or server.
Exact connection fields
These are the fields declared by this module. Secret values are entered privately and encrypted by the application. Defaults are configuration hints, not approved live merchant settings. Internal fields are populated by the module and are not operator-editable.
| Key / label | Type | Required | Default / guidance |
|---|---|---|---|
environment — Environment |
select | Yes | Default: "sandbox" Choices: sandbox = Test API, live = Live API |
api_key — API key |
secret | Yes | Use the account-specific value described below. |
api_password — API password |
secret | Yes | Use the account-specific value described below. |
allow_writes — Allow domain purchases and changes |
boolean | No | Default: false |
allow_automated_renewals — Allow paid-invoice automated renewals |
boolean | No | Default: false |
This package connects EmailaBiller to the Internet.bs reseller API. Installation creates a disabled module. It does not create a connection, copy credentials, purchase a domain, change account defaults, or enable automation.
Configure
- Request API access in your Internet.bs account and obtain the API key and API password. The API password is separate from a customer billing-platform password. Arrange IP authorization with Internet.bs when required.
- Create a connection under System → Domains → Available registrars. Start with the Test API environment and the provider's test credentials. Test and live credentials are separate.
- Select the Live API environment only for an approved funded reseller account. Live purchases debit that account. The module uses fixed HTTPS origins
https://testapi.internet.bsandhttps://api.internet.bs; it does not follow redirects. - Run Test. This calls
/Account/Balance/Get, without changing a domain. - Enable the connection, assign it to the appropriate TLDs, and enable Allow domain purchases and changes only after reviewing your terms and contact requirements. Paid-invoice automated renewals have a separate switch that defaults off.
The API key and password are encrypted connection values, never product source defaults. This API does not require a webhook URL; synchronization uses authenticated domain queries.
Supported operations
| Operation | Internet.bs command |
|---|---|
| Availability | POST /Domain/Check |
| Registration | POST /Domain/Create |
| Incoming transfer | POST /Domain/Transfer/Initiate |
| Renewal | POST /Domain/Renew |
| Account-owned domain synchronization | POST /Domain/Info |
| Nameservers and transfer lock | POST /Domain/Update |
| Transfer code | Read transferauthinfo from authenticated domain information |
Requests use the documented form protocol and explicit ResponseFormat=TEXT. The parser splits each bounded line at its first =, rejects duplicate keys, and never interprets markup or serialized objects. Every request verifies TLS and has a connection timeout, total timeout, 2 MB response limit and no automatic retry.
New registrations use the owning customer's canonical registrant, administrative, technical and billing contacts; no operator business details are substituted. Complete name, email, address, state, postal code, country and international phone are required. A customer-controlled transfer code and the intended nameservers are required for incoming transfers. Registration terms are 1–10 years; transfer terms are fixed to the provider's transfer operation and reject a requested term other than one year. Registry-specific eligibility/trustee/IDN/TMCH and premium purchase flows are not implemented and require manual provider review.
Registration and incoming transfer requests explicitly disable provider auto-renewal. Existing provider renewal settings are not changed by reads or renewals. A renewal requires the current expiry to match the local renewal intent, and readback must show at least the complete requested extension before it is confirmed.
Confirmation and errors
A purchase response alone does not activate a domain. The module reads the exact domain back through the authenticated account and verifies an active status, valid expiry, intended nameservers and customer's registrant details. If the provider omits readback fields or substitutes a contact or nameserver, confirmation remains pending. Lock changes likewise need matching fresh state. Incoming transfers are asynchronous.
Provider errors are shown with safe HTTP/provider-stage diagnostics. A timeout after submission remains an unconfirmed submitted purchase; synchronize and review the provider account before any retry. No purchase retry is automatic. Transfer codes are returned only by the explicit EPP action and are excluded from routine sync results.

