Skip to content

Authentication, Credentials & IP Allowlisting

Every automated integration with CentralNic Reseller rests on two things: who you are (your credentials) and where you are connecting from (the IP allowlist). Get both right and the rest of your integration just works; get either wrong and your very first connection fails before a single command runs. This page is the reference the quick starts lean on — and the first place to look when a connection is refused.

It is written for the developer or operations person setting up API access, or debugging it at 2 a.m. You will find how credentials and API users fit together, exactly how the allowlist is enforced, the security practices worth adopting from day one, and a focused troubleshooting section for when a connection will not come up.

CentralNic Reseller separates the account from the users who act on it, and understanding that split is the key to everything else on this page.

  • Your account is the top-level identity — the one tied to your balance, your contract and your Control Panel login.
  • Users live beneath the account. Each user has its own password and its own permissions, so you can give a person or a service exactly the access it needs and nothing more.

For automation you should almost always connect as a dedicated API user, not as the account itself. That way a leaked or rotated integration credential never touches your master login, and you can scope each user to just the operations it performs.

A user authenticates with the account name and the username joined by a colon, plus that user’s own password:

login = accountname:username
password = (that user's password)

This same format is used everywhere a user connects — the Control Panel, the EPP gateway (<clID>accountname:username</clID>), and the HTTPS, SOAP, XML-RPC and XRRP gateways alike. If you connect as the account itself, the login is simply the account name with no colon.

Permissions are governed by an Access Control List (ACL). You can set specific rights per user and per group — which objects a user may reach, and which operations it may perform on them. The simplest place to manage this is the Control Panel, under your account menu (top-right) → User management, where you can list every user and group and edit their ACL permissions.

Prefer to automate it? Users and groups can also be managed over the API with AddUser (create a user or group), ModifyUser (change a password, or add and remove group membership), DeleteUser, StatusUser and QueryUserList.

See ACL Users & Groups for the full permission model, and the Password Policy for the rules every password must meet (10–64 characters, with upper- and lower-case letters, a number and a special character).

On top of credentials, CentralNic Reseller offers an IP allowlist so that only connections from addresses you trust can reach your account over the API. It is a second, independent layer: a valid login from an un-allowlisted address is still refused.

The allowlist applies to the API gateways — EPP, SOAP, HTTPS, XRRP and XMLRPC. When it is enabled, every connection over those protocols is checked against your list.

Two settings live side by side in the Control Panel, and it is worth keeping them straight:

  • IP Whitelist — controls access to the API gateways (the one this page is about).
  • IP Whitelist WI — controls access to the Control Panel login. The API allowlist does not affect Control Panel access, and vice versa.
  • The allowlist is disabled by default — until you turn it on, connections are not filtered by IP.
  • You can add up to five (5) IPv4 addresses or ranges. Ranges from /24 to /30 are accepted (for example 192.0.2.42 or 192.0.2.42/27).
  • Use your external IPv4 address(es) — the address your servers present to the internet. Internal or reserved addresses will not work.
  • Changes take effect as soon as a connection is re-established; connections that are already open keep working until they reconnect.
  1. Open the Control Panel and go to your account menu (top-right) → Settings → Account Data → Security.

  2. Switch IP Whitelist from Use Default to Yes to activate it for the API gateways.

  3. Enter the external IPv4 address(es) or range(s) the servers running your integration connect from — up to five.

  4. Click Save Changes. The new list applies on the next reconnection.

For gateway hostnames and ports (which differ between OT&E and production), read the current values from API → API Gateways in the Control Panel rather than copying them from anywhere else — that page always reflects the correct endpoints for your account. See API Security and IP Whitelist for the full detail.

How Authentication Is Sent on Each Session

Section titled “How Authentication Is Sent on Each Session”

How your credentials travel depends on the gateway, and this matters when you are chasing an intermittent failure.

  • EPP is session-oriented: you open a TLS connection, send Session:Login once, run your commands, then Session:Logout. Treat sessions as long-lived and design around the server’s connection and lifetime limits — see the EPP Integration Guide.
  • HTTPS checks your password on every request by default. For a busier integration you can open a persistent session instead: send StartSession with persistent = 1, receive a sessionid, and pass that session ID on subsequent requests rather than the password. Close it with StopSession when you are done.

Sending the password only once, at the start of a session, is both faster and more secure than repeating it on every call. See HTTPS Session Handling for the exact StartSession / StopSession flow.

The mechanics above are only as strong as how you handle them. A few habits keep API access safe as your integration grows.

  • Never hard-code credentials. Keep them out of source code, config files committed to version control, container images and log output. Read them at runtime from a secret store or environment injected by your deployment tooling.
  • Rotate credentials on a schedule — and immediately if one may have been exposed. Dedicated API users make this painless: rotate one user’s password with ModifyUser without disturbing anything else.
  • Apply least privilege. Scope each API user through its ACL to only the objects and operations it needs, so a compromised credential has a limited blast radius.
  • Separate OT&E and production configuration. Use distinct credentials and distinct config for each environment, and make it structurally impossible to point a test at production (or the reverse). Different secret paths per environment beat a single toggle.
  • Layer your defences. Enable the IP allowlist on the API gateways, and protect Control Panel logins with two-factor authentication. Credentials, allowlisting and 2FA each stop a different kind of attack.

When a connection will not come up, the cause is almost always one of three things: your credentials, your IP, or your session. Work through them in that order.

Symptom you seeLikely causeFix
Login rejected / authentication failed, even with the right passwordWrong login format, or the wrong password for that identityUse accountname:username and that user’s password; connect as the account (no colon) only if you mean to
Authentication fails only in OT&ENo OT&E password has been setSet the OT&E password from the live Control Panel (Account → Settings → Passwords)
Password change refusedNew password does not meet the policyUse 10–64 characters with upper- and lower-case letters, a number and a special character
Connection refused or times out immediately, but credentials are correctThe connecting IP is not on the allowlistAdd your external IPv4 address to IP Whitelist; it applies on reconnect
Worked yesterday, fails today after no code changeYour external IP changed, or you are connecting from a new/added hostAdd the current external IP; avoid allowlisting dynamic addresses
Session invalid / “must log in again” mid-runThe session expired or was closedReconnect and start a fresh session (EPP re-login, or a new HTTPS StartSession)

If the login itself is refused, check the format before the password: the colon-joined accountname:username is required for a user, and the password must be that user’s own, not the account password. Confirm you are pointed at the right environment — an OT&E login needs its OT&E password, set from the live Control Panel. If you are rotating a password, remember the policy rules: 8–32 characters including upper- and lower-case letters, a number and a special character.

A refused or immediately-dropped connection despite correct credentials is the classic signature of an allowlist block. Confirm the external IPv4 address your server actually presents to the internet (not an internal or NAT address) is listed under Settings → Account Data → Security → IP Whitelist. Remember that the list applies on reconnect, so a change will not affect a connection that is already open — and that OT&E and production typically connect from different addresses, which is the most common reason a working OT&E setup fails on its first production call.

If a connection authenticates but later reports that you must log in again, the session has ended. On HTTPS, a persistent session opened with StartSession does not last forever — reconnect and call StartSession again to obtain a fresh sessionid. On EPP, sessions are subject to idle and lifetime limits, so build in a keep-alive and a periodic re-login rather than assuming one session lasts indefinitely; the EPP Integration Guide covers those limits in detail.

With authentication and the allowlist understood, you are ready to build, test and go live with confidence.