Contacts and WHOIS
Manage the registrant, admin, technical, and billing contacts on your domains.
Every registered domain carries up to four contact roles. Some TLDs require all four; some accept a single contact mapped to every role. Either way, you maintain a small library of contact records and assign them to domains.
Create a contact
In the dashboard: Contacts → New.
Via API:
curl -X POST "https://api.domaingenius.com.au/api/v1/orgs/$DG_ORG/contacts" \
-H "Authorization: Bearer $DG_KEY" \
-H "Content-Type: application/json" \
-d '{
"first_name": "Jane",
"last_name": "Smith",
"organisation": "Acme Pty Ltd",
"address_one": "123 Example St",
"suburb": "Surry Hills",
"state": "NSW",
"country": "AU",
"postcode": "2010",
"phone": "+61.412345678",
"email": "jane@acme.example"
}'Phone is in E.164-with-dot format — country code, dot, number. ICANN spec, not us.
Assign to a domain
curl -X PUT "https://api.domaingenius.com.au/api/v1/orgs/$DG_ORG/domains/example.com.au/contacts/registrant" \
-H "Authorization: Bearer $DG_KEY" \
-H "Content-Type: application/json" \
-d '{ "contact_id": "..." }'Roles: registrant, admin, technical, billing. Send the same contact to all four with POST .../contacts/copy-registrant.
WHOIS privacy
Toggle privacy: true on the domain to redact contact info from public WHOIS lookups, replacing it with a forwarding address.
curl -X PATCH "https://api.domaingenius.com.au/api/v1/orgs/$DG_ORG/domains/example.com.au" \
-H "Authorization: Bearer $DG_KEY" \
-d '{ "privacy": true }'Privacy is not available on .com.au, .net.au, or .org.au — the .au registry mandates public WHOIS for accountability. The toggle is silently ignored on those TLDs. Privacy is available and on-by-default on .com, .net, .org, .io.
Sync to the registrar
Local changes are pushed on the next sync cycle. To force it:
curl -X POST "https://api.domaingenius.com.au/api/v1/orgs/$DG_ORG/domains/example.com.au/contacts/sync" \
-H "Authorization: Bearer $DG_KEY"The sync call is idempotent — call it as often as you like.