2. Atomia Domain Registration API

2.1. What is the Atomia Domain Registration API?

The Atomia Domain Registration API is an API which maps TLD and registry specific details into a coherent and easy to use set of methods.

2.2. Accessing the API

You connect to the SOAP API by using the SOAP endpoint http://hostname.of.your.soap.server/domainreg .

The URI of the namespace should be urn:Atomia::DomainReg::SOAPServer.

2.3. Atomia Domain Registration API manual

2.3.2. Atomia DNS API Datatypes

Besides the standard SOAP Data types, the following types are returned by some methods:

2.3.2.1. response_struct Datatype - Atomia DNS API

response_struct is a struct with the following members:

Parameter

Type

Description

completedint1 if the transaction was completed within the interactive response wait-time, 0 otherwise
responseobjectreturned information in a format specific to each command
successint1 if the transaction was successfull, 0 otherwise
transaction_idintset to the transaction_id used for asynchronous result status-checking if completed is 0

2.3.2.2. pair_set Datatype - Atomia DNS API

pair_set is an array of pair structs representing a dictionary.

2.3.2.3. pair Datatype - Atomia DNS API

pair is a struct representing an item of a dictionary with the following members:

Parameter

Type

Description

keystringThe key of this dictionary item
valuestringThe value of this dictionary item

2.3.2.4. contact Datatype - Atomia DNS API

contact is a struct with the following members:

Parameter

Type

Description

idstringThe id of the contact
namestringThe name of the contact
orgstringThe organization of the contact
street1stringThe first street address of the contact
street2stringThe second street address of the contact
street3stringThe third street address of the contact
citystringThe city of the contact
statestringThe state of the contact
zipstringThe zip code of the contact
countrystringThe country code of the contact
voicestringThe voice phone number of the contact
voice_extensionstringThe voice phone extension code of the contact
faxstringThe fax number of the contact
fax_extensionstringThe fax extension code of the contact
emailstringThe email address of the contact
orgnostringThe organisation number of the contact
vatnostringThe VAT number for the contact
disclosestringThe preference for contact data disclosure, undefined/null/empty means server policy, 1 means disclose, 0 means don't disclose
custom_fieldspair_setA string dictionary of arbitrary custom fields related to the contact

2.3.2.5. nameservers Datatype - Atomia DNS API

nameservers is an array of nameserver structs.

2.3.2.6. nameserver Datatype - Atomia DNS API

nameserver is a struct with the following members:

Parameter

Type

Description

hostnamestringThe hostname
ipv4string[]An array of ipv4-adresses
ipv6string[]An array of ipv6-adresses

2.3.2.7. ds_set Datatype - Atomia DNS API

ds_set is a an array of structs with the following members:

Parameter

Type

Description

keyTagintThe key tag of the DS-record
algintThe algorithm used
digestTypeintThe type of the digest
digeststringThe digest itself
key_flagsint257 for KSK, 256 for ZSK
key_protocolintProtocol of the key
key_algintAlgorithm for the key
key_pubKeystringText representation of the public key

2.3.2.8. dnskey_set Datatype - Atomia DNS API

dnskey_set is a an array of structs with the following members:

Parameter

Type

Description

key_flagsint257 for KSK, 256 for ZSK
key_protocolintProtocol of the key
key_algintAlgorithm for the key
key_pubKeystringText representation of the public key

2.3.3. Atomia DNS API Methods

2.3.3.1. ContactCreate Method - Atomia DNS API

Creates a local contact object.

2.3.3.1.1. Declaration syntax
response_struct ContactCreate(
	contact contact
)
2.3.3.1.2. Parameters

Parameter

Type

Description

contactcontactA contact object.
2.3.3.2. ContactUpdate Method - Atomia DNS API

Updates a local contact object.

2.3.3.2.1. Declaration syntax
response_struct ContactUpdate(
	contact contact
)
2.3.3.2.2. Parameters

Parameter

Type

Description

contactcontactA contact object.
2.3.3.3. ContactRemove Method - Atomia DNS API

Removes a local contact object.

2.3.3.3.1. Declaration syntax
response_struct ContactRemove(
	string contact_id
)
2.3.3.3.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
2.3.3.4. ContactInfo Method - Atomia DNS API

Retrieves a local contact object.

2.3.3.4.1. Declaration syntax
response_struct ContactInfo(
	string contact_id
)
2.3.3.4.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
2.3.3.5. ContactCreateTLD Method - Atomia DNS API

Creates a TLD-specific contact object.

2.3.3.5.1. Declaration syntax
response_struct ContactCreateTLD(
	contact contact,
	string tld
)
2.3.3.5.2. Parameters

Parameter

Type

Description

contactcontactA contact object.
tldstringThe TLD that the transaction applies to.
2.3.3.6. ContactCreateTLDForceId Method - Atomia DNS API

Creates a TLD-specific contact object forcing a specific id.

2.3.3.6.1. Declaration syntax
response_struct ContactCreateTLDForceId(
	contact contact,
	string tld
)
2.3.3.6.2. Parameters

Parameter

Type

Description

contactcontactA contact object.
tldstringThe TLD that the transaction applies to.
2.3.3.7. ContactUpdateTLD Method - Atomia DNS API

Updates a TLD-specific contact object.

2.3.3.7.1. Declaration syntax
response_struct ContactUpdateTLD(
	contact contact,
	string tld
)
2.3.3.7.2. Parameters

Parameter

Type

Description

contactcontactA contact object.
tldstringThe TLD that the transaction applies to.
2.3.3.8. ContactRemoveTLD Method - Atomia DNS API

Removes a TLD-specific contact object.

2.3.3.8.1. Declaration syntax
response_struct ContactRemoveTLD(
	string contact_id,
	string tld
)
2.3.3.8.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
2.3.3.9. ContactInfoTLD Method - Atomia DNS API

Retrieves a TLD-specific contact object.

2.3.3.9.1. Declaration syntax
response_struct ContactInfoTLD(
	string contact_id,
	string tld
)
2.3.3.9.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
2.3.3.10. ContactInfoWithAuthInfoTLD Method - Atomia DNS API

Retrieves a TLD-specific contact object.

2.3.3.10.1. Declaration syntax
response_struct ContactInfoWithAuthInfoTLD(
	string contact_id,
	string tld,
	string authinfo
)
2.3.3.10.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
authinfostringThe authinfo code for the domain name.
2.3.3.11. ContactCopyFromTLD Method - Atomia DNS API

Copies a TLD-specific contact to a new local contact

2.3.3.11.1. Declaration syntax
response_struct ContactCopyFromTLD(
	string contact_id,
	string tld
)
2.3.3.11.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
2.3.3.12. ContactCheckTLD Method - Atomia DNS API

Check for the existance of a TLD-specific contact object.

2.3.3.12.1. Declaration syntax
response_struct ContactCheckTLD(
	string contact_id,
	string tld
)
2.3.3.12.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
2.3.3.13. ContactTransferTLD Method - Atomia DNS API

Transfer a TLD-specific contact object.

2.3.3.13.1. Declaration syntax
response_struct ContactTransferTLD(
	string contact_id,
	string tld,
	string authinfo
)
2.3.3.13.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
authinfostringThe authinfo code for the domain name.
2.3.3.14. ContactTransferInfoTLD Method - Atomia DNS API

Queries a pending transfer of a TLD-specific contact object.

2.3.3.14.1. Declaration syntax
response_struct ContactTransferInfoTLD(
	string contact_id,
	string tld
)
2.3.3.14.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
2.3.3.15. ContactTransferInfoWithAuthInfoTLD Method - Atomia DNS API

Queries a pending transfer of a TLD-specific contact object.

2.3.3.15.1. Declaration syntax
response_struct ContactTransferInfoWithAuthInfoTLD(
	string contact_id,
	string tld,
	string authinfo
)
2.3.3.15.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
authinfostringThe authinfo code for the domain name.
2.3.3.16. ContactTransferApproveTLD Method - Atomia DNS API

Approves a pending transfer of a TLD-specific contact object.

2.3.3.16.1. Declaration syntax
response_struct ContactTransferApproveTLD(
	string contact_id,
	string tld
)
2.3.3.16.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
2.3.3.17. ContactTransferApproveWithAuthInfoTLD Method - Atomia DNS API

Approves a pending transfer of a TLD-specific contact object.

2.3.3.17.1. Declaration syntax
response_struct ContactTransferApproveWithAuthInfoTLD(
	string contact_id,
	string tld,
	string authinfo
)
2.3.3.17.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
authinfostringThe authinfo code for the domain name.
2.3.3.18. ContactTransferRejectTLD Method - Atomia DNS API

Rejects a pending transfer of a TLD-specific contact object.

2.3.3.18.1. Declaration syntax
response_struct ContactTransferRejectTLD(
	string contact_id,
	string tld
)
2.3.3.18.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
2.3.3.19. ContactTransferRejectWithAuthInfoTLD Method - Atomia DNS API

Rejects a pending transfer of a TLD-specific contact object.

2.3.3.19.1. Declaration syntax
response_struct ContactTransferRejectWithAuthInfoTLD(
	string contact_id,
	string tld,
	string authinfo
)
2.3.3.19.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
authinfostringThe authinfo code for the domain name.
2.3.3.20. ContactTransferCancelTLD Method - Atomia DNS API

Cancels a pending transfer of a TLD-specific contact object.

2.3.3.20.1. Declaration syntax
response_struct ContactTransferCancelTLD(
	string contact_id,
	string tld
)
2.3.3.20.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
2.3.3.21. ContactTransferCancelWithAuthInfoTLD Method - Atomia DNS API

Cancels a pending transfer of a TLD-specific contact object.

2.3.3.21.1. Declaration syntax
response_struct ContactTransferCancelWithAuthInfoTLD(
	string contact_id,
	string tld,
	string authinfo
)
2.3.3.21.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
authinfostringThe authinfo code for the domain name.
2.3.3.22. ContactIsMappedTLD Method - Atomia DNS API

Check if there is a local contact that is mapped to the specified tld contact id.

2.3.3.22.1. Declaration syntax
response_struct ContactIsMappedTLD(
	string contact_id,
	string tld
)
2.3.3.22.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.
tldstringThe TLD that the transaction applies to.
2.3.3.23. DomainAvailable Method - Atomia DNS API

Creates a transaction for checking the existance of a number of domains in any of the supported TLDs.

2.3.3.23.1. Declaration syntax
response_struct DomainAvailable(
	string[] domainarray
)
2.3.3.23.2. Parameters

Parameter

Type

Description

domainarraystring[]The domain names.
2.3.3.24. DomainAvailableCheckResult Method - Atomia DNS API

Query the response of a domain availability transaction.

2.3.3.24.1. Declaration syntax
response_struct DomainAvailableCheckResult(
	int int
)
2.3.3.24.2. Parameters

Parameter

Type

Description

intintThe transaction id to query results for.
2.3.3.25. DomainCreate Method - Atomia DNS API

Registers a domain name

2.3.3.25.1. Declaration syntax
response_struct DomainCreate(
	string domain,
	string owner,
	string admin,
	string tech,
	string billing,
	nameservers nameservers
)
2.3.3.25.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
ownerstringThe contact id of the registrant.
adminstringThe contact id of the administrative contact.
techstringThe contact id of the technical contact.
billingstringThe contact id of the billing contact.
nameserversnameserversThe nameservers to delegate the domain name to.
2.3.3.26. DomainCreateWithTerm Method - Atomia DNS API

Registers a domain name for a specified number of years

2.3.3.26.1. Declaration syntax
response_struct DomainCreateWithTerm(
	string domain,
	string owner,
	string admin,
	string tech,
	string billing,
	nameservers nameservers,
	int years
)
2.3.3.26.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
ownerstringThe contact id of the registrant.
adminstringThe contact id of the administrative contact.
techstringThe contact id of the technical contact.
billingstringThe contact id of the billing contact.
nameserversnameserversThe nameservers to delegate the domain name to.
yearsintThe number of years to use as the initial registration period.
2.3.3.27. DomainCreateWithTermAndAttributes Method - Atomia DNS API

2.3.3.27.1. Declaration syntax
response_struct DomainCreateWithTermAndAttributes(
	string domain,
	string owner,
	string admin,
	string tech,
	string billing,
	nameservers nameservers,
	int years,
	string registry_specific_attributes
)
2.3.3.27.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
ownerstringThe contact id of the registrant.
adminstringThe contact id of the administrative contact.
techstringThe contact id of the technical contact.
billingstringThe contact id of the billing contact.
nameserversnameserversThe nameservers to delegate the domain name to.
yearsintThe number of years to use as the initial registration period.
registry_specific_attributesstringJSON-encoded object containing registry specific attributes.
2.3.3.28. DomainUpdate Method - Atomia DNS API

Updates both the contacts and the delegated nameservers for a domain name.

2.3.3.28.1. Declaration syntax
response_struct DomainUpdate(
	string domain,
	string owner,
	string admin,
	string tech,
	string billing,
	nameservers nameservers
)
2.3.3.28.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
ownerstringThe contact id of the registrant.
adminstringThe contact id of the administrative contact.
techstringThe contact id of the technical contact.
billingstringThe contact id of the billing contact.
nameserversnameserversThe nameservers to delegate the domain name to.
2.3.3.29. DomainUpdateContacts Method - Atomia DNS API

Updates the contacts for a domain name.

2.3.3.29.1. Declaration syntax
response_struct DomainUpdateContacts(
	string domain,
	string owner,
	string admin,
	string tech,
	string billing
)
2.3.3.29.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
ownerstringThe contact id of the registrant.
adminstringThe contact id of the administrative contact.
techstringThe contact id of the technical contact.
billingstringThe contact id of the billing contact.
2.3.3.30. DomainUpdateNameservers Method - Atomia DNS API

Updates the delegated nameserver for a domain name.

2.3.3.30.1. Declaration syntax
response_struct DomainUpdateNameservers(
	string domain,
	nameservers nameservers
)
2.3.3.30.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
nameserversnameserversThe nameservers to delegate the domain name to.
2.3.3.31. DomainAddNameservers Method - Atomia DNS API

Adds nameservers to the delegation of a domain name.

2.3.3.31.1. Declaration syntax
response_struct DomainAddNameservers(
	string domain,
	nameservers nameservers
)
2.3.3.31.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
nameserversnameserversThe nameservers to delegate the domain name to.
2.3.3.32. DomainCheck Method - Atomia DNS API

Check for the existance of a domain name.

2.3.3.32.1. Declaration syntax
response_struct DomainCheck(
	string domain
)
2.3.3.32.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.33. DomainInfo Method - Atomia DNS API

Retrieves all available information for a domain name.

2.3.3.33.1. Declaration syntax
response_struct DomainInfo(
	string domain
)
2.3.3.33.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.34. DomainInfoWithAuthInfo Method - Atomia DNS API

Retrieves all available information for a domain name.

2.3.3.34.1. Declaration syntax
response_struct DomainInfoWithAuthInfo(
	string domain,
	string authinfo
)
2.3.3.34.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
authinfostringThe authinfo code for the domain name.
2.3.3.35. DomainGetAuthInfo Method - Atomia DNS API

Generate and return a new authinfo code for a domain name.

2.3.3.35.1. Declaration syntax
response_struct DomainGetAuthInfo(
	string domain
)
2.3.3.35.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.36. DomainRemove Method - Atomia DNS API

Removes a domain name.

2.3.3.36.1. Declaration syntax
response_struct DomainRemove(
	string domain
)
2.3.3.36.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.37. DomainRelease Method - Atomia DNS API

Withdraw the sponsorship of a domain name for the registries that support this.

2.3.3.37.1. Declaration syntax
response_struct DomainRelease(
	string domain
)
2.3.3.37.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.38. DomainHold Method - Atomia DNS API

Tell the registry to not publish any records for a domain name in the parent zone.

2.3.3.38.1. Declaration syntax
response_struct DomainHold(
	string domain
)
2.3.3.38.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.39. DomainRestore Method - Atomia DNS API

Revoke the hold status, marking the domain name for publishing again.

2.3.3.39.1. Declaration syntax
response_struct DomainRestore(
	string domain
)
2.3.3.39.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.40. DomainLock Method - Atomia DNS API

Lock the domain name for updates, transfers and deletions.

2.3.3.40.1. Declaration syntax
response_struct DomainLock(
	string domain
)
2.3.3.40.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.41. DomainUnlock Method - Atomia DNS API

Unlock the domain name.

2.3.3.41.1. Declaration syntax
response_struct DomainUnlock(
	string domain
)
2.3.3.41.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.42. DomainRedemptionRestore Method - Atomia DNS API

Request restoring a domain from the Redemption Grace Period.

2.3.3.42.1. Declaration syntax
response_struct DomainRedemptionRestore(
	string domain
)
2.3.3.42.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.43. DomainRedemptionRestorePossible Method - Atomia DNS API

Check if restoring a domain from the Redemption Grace Period is possible.

2.3.3.43.1. Declaration syntax
response_struct DomainRedemptionRestorePossible(
	string domain
)
2.3.3.43.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.44. DomainStatusProhibit Method - Atomia DNS API

Sets the prohibit flag for one of publish, update, transfer, renew and delete.

2.3.3.44.1. Declaration syntax
response_struct DomainStatusProhibit(
	string domain,
	string status
)
2.3.3.44.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
statusstringOne of publish, update, delete, renew or transfer.
2.3.3.45. DomainStatusesProhibit Method - Atomia DNS API

Sets the prohibit flags to an array of publish, update, transfer, renew and delete.

2.3.3.45.1. Declaration syntax
response_struct DomainStatusesProhibit(
	string domain,
	string[] statuses
)
2.3.3.45.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
statusesstring[]An array of strings each beeing one of publish, update, delete, renew or transfer.
2.3.3.46. DomainStatusAllow Method - Atomia DNS API

Clears the prohibit flag for one of publish, update, transfer, renew and delete.

2.3.3.46.1. Declaration syntax
response_struct DomainStatusAllow(
	string domain,
	string status
)
2.3.3.46.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
statusstringOne of publish, update, delete, renew or transfer.
2.3.3.47. DomainStatusesAllow Method - Atomia DNS API

Clears the prohibit flags for an array of publish, update, transfer, renew and delete.

2.3.3.47.1. Declaration syntax
response_struct DomainStatusesAllow(
	string domain,
	string[] statuses
)
2.3.3.47.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
statusesstring[]An array of strings each beeing one of publish, update, delete, renew or transfer.
2.3.3.48. DomainSyncExpiration Method - Atomia DNS API

Syncs a domain expiration date to a specific date in the future.

2.3.3.48.1. Declaration syntax
response_struct DomainSyncExpiration(
	string domain,
	string expiredate
)
2.3.3.48.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
expiredatestringExpiredate in the format "YYYY-mm-dd".
2.3.3.49. DomainTransfer Method - Atomia DNS API

Initiate a gaining transfer of a domain name.

2.3.3.49.1. Declaration syntax
response_struct DomainTransfer(
	string domain,
	string authinfo
)
2.3.3.49.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
authinfostringThe authinfo code for the domain name.
2.3.3.50. DomainTransferForce Method - Atomia DNS API

2.3.3.50.1. Declaration syntax
response_struct DomainTransferForce(
	string domain,
	string authinfo
)
2.3.3.50.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
authinfostringThe authinfo code for the domain name.
2.3.3.51. DomainTransferWithContacts Method - Atomia DNS API

Initiate a gaining transfer of a domain name with some contact set to be used after successfull transfer.

2.3.3.51.1. Declaration syntax
response_struct DomainTransferWithContacts(
	string domain,
	string authinfo,
	string owner,
	string admin,
	string tech,
	string billing
)
2.3.3.51.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
authinfostringThe authinfo code for the domain name.
ownerstringThe contact id of the registrant.
adminstringThe contact id of the administrative contact.
techstringThe contact id of the technical contact.
billingstringThe contact id of the billing contact.
2.3.3.52. DomainTransferWithContactsAndNameservers Method - Atomia DNS API

Initiate a gaining transfer of a domain name with some contact set and nameservers to be used after successfull transfer.

2.3.3.52.1. Declaration syntax
response_struct DomainTransferWithContactsAndNameservers(
	string domain,
	string authinfo,
	string owner,
	string admin,
	string tech,
	string billing,
	nameservers nameservers
)
2.3.3.52.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
authinfostringThe authinfo code for the domain name.
ownerstringThe contact id of the registrant.
adminstringThe contact id of the administrative contact.
techstringThe contact id of the technical contact.
billingstringThe contact id of the billing contact.
nameserversnameserversThe nameservers to delegate the domain name to.
2.3.3.53. DomainTransferWithNameservers Method - Atomia DNS API

Initiate a gaining transfer of a domain name with a set of nameservers to be used after successfull transfer.

2.3.3.53.1. Declaration syntax
response_struct DomainTransferWithNameservers(
	string domain,
	string authinfo,
	nameservers nameservers
)
2.3.3.53.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
authinfostringThe authinfo code for the domain name.
nameserversnameserversThe nameservers to delegate the domain name to.
2.3.3.54. DomainTransferRegistrySpecific Method - Atomia DNS API

Initiate a gaining transfer of a domain name with some contact set to be used after successfull transfer, plus some registry specific parameter.

2.3.3.54.1. Declaration syntax
response_struct DomainTransferRegistrySpecific(
	string domain,
	string authinfo,
	string owner,
	string admin,
	string tech,
	string billing,
	string registry_specific
)
2.3.3.54.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
authinfostringThe authinfo code for the domain name.
ownerstringThe contact id of the registrant.
adminstringThe contact id of the administrative contact.
techstringThe contact id of the technical contact.
billingstringThe contact id of the billing contact.
registry_specificstringRegistry specific string, format is defined by the corresponding plugin.
2.3.3.55. DomainTransferApprove Method - Atomia DNS API

Approve a loosing transfer of a domain name.

2.3.3.55.1. Declaration syntax
response_struct DomainTransferApprove(
	string domain
)
2.3.3.55.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.56. DomainTransferApproveWithAuthInfo Method - Atomia DNS API

Approve a loosing transfer of a domain name.

2.3.3.56.1. Declaration syntax
response_struct DomainTransferApproveWithAuthInfo(
	string domain,
	string authinfo
)
2.3.3.56.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
authinfostringThe authinfo code for the domain name.
2.3.3.57. DomainTransferReject Method - Atomia DNS API

Reject a loosing transfer of a domain name.

2.3.3.57.1. Declaration syntax
response_struct DomainTransferReject(
	string domain
)
2.3.3.57.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.58. DomainTransferRejectWithAuthInfo Method - Atomia DNS API

Reject a loosing transfer of a domain name.

2.3.3.58.1. Declaration syntax
response_struct DomainTransferRejectWithAuthInfo(
	string domain,
	string authinfo
)
2.3.3.58.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
authinfostringThe authinfo code for the domain name.
2.3.3.59. DomainTransferCancel Method - Atomia DNS API

Cancel a pending gaining transfer of a domain name.

2.3.3.59.1. Declaration syntax
response_struct DomainTransferCancel(
	string domain
)
2.3.3.59.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.60. DomainTransferCancelWithAuthInfo Method - Atomia DNS API

Cancel a pending gaining transfer of a domain name.

2.3.3.60.1. Declaration syntax
response_struct DomainTransferCancelWithAuthInfo(
	string domain,
	string authinfo
)
2.3.3.60.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
authinfostringThe authinfo code for the domain name.
2.3.3.61. DomainTransferInfo Method - Atomia DNS API

Retrieves all available information about a pending transfer request.

2.3.3.61.1. Declaration syntax
response_struct DomainTransferInfo(
	string domain
)
2.3.3.61.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.62. DomainTransferInfoWithAuthInfo Method - Atomia DNS API

Retrieves all available information about a pending transfer request.

2.3.3.62.1. Declaration syntax
response_struct DomainTransferInfoWithAuthInfo(
	string domain,
	string authinfo
)
2.3.3.62.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
authinfostringThe authinfo code for the domain name.
2.3.3.63. DomainIsLocal Method - Atomia DNS API

Checks if a given domain name is currently handled by Atomia Domain Registration.

2.3.3.63.1. Declaration syntax
response_struct DomainIsLocal(
	string domain
)
2.3.3.63.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.64. DomainIsLocalBulk Method - Atomia DNS API

Checks if a set of given domain names are currently handled by Atomia Domain Registration.

2.3.3.64.1. Declaration syntax
response_struct DomainIsLocalBulk(
	string[] domainarray
)
2.3.3.64.2. Parameters

Parameter

Type

Description

domainarraystring[]The domain names.
2.3.3.65. DomainUnsetLocal Method - Atomia DNS API

Marks a domain as not handled by this instance of Atomia Domain Registration.

2.3.3.65.1. Declaration syntax
response_struct DomainUnsetLocal(
	string domain
)
2.3.3.65.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.66. DomainSetLocal Method - Atomia DNS API

Marks a domain as handled by this instance of Atomia Domain Registration with expire date fetched from registry.

2.3.3.66.1. Declaration syntax
response_struct DomainSetLocal(
	string domain
)
2.3.3.66.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.67. DomainSetLocalForceTLD Method - Atomia DNS API

Marks a domain as handled by this instance of Atomia Domain Registration with expire date fetched from registry. Forces the operation to go through a specific TLD plugin.

2.3.3.67.1. Declaration syntax
response_struct DomainSetLocalForceTLD(
	string domain,
	string tld
)
2.3.3.67.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
tldstringThe TLD that the transaction applies to.
2.3.3.68. DomainSetLocalWithExpireDate Method - Atomia DNS API

Marks a domain as handled bythis instance of Atomia Domain Registration with a supplied expire date.

2.3.3.68.1. Declaration syntax
response_struct DomainSetLocalWithExpireDate(
	string domain,
	string expiredate
)
2.3.3.68.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
expiredatestringExpiredate in the format "YYYY-mm-dd".
2.3.3.69. DomainRenew Method - Atomia DNS API

Renew a domain name for a specified number of months.

2.3.3.69.1. Declaration syntax
response_struct DomainRenew(
	string domain,
	int months
)
2.3.3.69.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
monthsintThe number of months to renew the domain name for.
2.3.3.70. DomainRenewIfCurrentExpireDate Method - Atomia DNS API

Renew a domain name for a specified number of months if the current expiredate is as specified.

2.3.3.70.1. Declaration syntax
response_struct DomainRenewIfCurrentExpireDate(
	string domain,
	int months,
	string expiredate
)
2.3.3.70.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
monthsintThe number of months to renew the domain name for.
expiredatestringExpiredate in the format "YYYY-mm-dd".
2.3.3.71. DomainGetRenewalStatus Method - Atomia DNS API

Retrieves the auto-renew status of a domain name.

2.3.3.71.1. Declaration syntax
response_struct DomainGetRenewalStatus(
	string domain
)
2.3.3.71.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.72. DomainSetRenewalStatus Method - Atomia DNS API

Set the auto-renew status of a domain name.

2.3.3.72.1. Declaration syntax
response_struct DomainSetRenewalStatus(
	string domain,
	int boolean
)
2.3.3.72.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
booleanintThe status to set.
2.3.3.73. DomainSetDS Method - Atomia DNS API

Set the DS-records used for secure delegations for a domain name.

2.3.3.73.1. Declaration syntax
response_struct DomainSetDS(
	string domain,
	ds_set ds_set
)
2.3.3.73.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
ds_setds_setThe DS-records to set for the domain name.
2.3.3.74. DomainSetDSFromKeys Method - Atomia DNS API

2.3.3.74.1. Declaration syntax
response_struct DomainSetDSFromKeys(
	string domain,
	dnskey_set dnskey_set
)
2.3.3.74.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
dnskey_setdnskey_setThe DNSKEY-records to publish DS-records corresponding to for a domain name (used if the registry requires the keyData interface).
2.3.3.75. DomainFetchDS Method - Atomia DNS API

Fetch the DS-records published at the parent zone, and the possible DS-set based on KSKs in the delegated zone.

2.3.3.75.1. Declaration syntax
response_struct DomainFetchDS(
	string domain
)
2.3.3.75.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.76. DomainClearDS Method - Atomia DNS API

Clear the DS-records used for secure delegations for a domain name.

2.3.3.76.1. Declaration syntax
response_struct DomainClearDS(
	string domain
)
2.3.3.76.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.77. DomainDNSSECEnable Method - Atomia DNS API

Enable hosted DNSSEC for a domain. Update the DS at the parent if hosted DNSSEC is already enabled and the current KSK differ.

2.3.3.77.1. Declaration syntax
response_struct DomainDNSSECEnable(
	string domain
)
2.3.3.77.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.78. DomainDNSSECDisable Method - Atomia DNS API

Disable hosted DNSSEC for a domain.

2.3.3.78.1. Declaration syntax
response_struct DomainDNSSECDisable(
	string domain
)
2.3.3.78.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.79. DomainOwnerChange Method - Atomia DNS API

Initiates owner change for domain with automatic sending of emails with approval links.

2.3.3.79.1. Declaration syntax
response_struct DomainOwnerChange(
	string domain,
	string owner
)
2.3.3.79.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
ownerstringThe contact id of the registrant.
2.3.3.80. DomainOwnerChangeManual Method - Atomia DNS API

Initiates owner change for domain that should be manually approved.

2.3.3.80.1. Declaration syntax
response_struct DomainOwnerChangeManual(
	string domain,
	string owner
)
2.3.3.80.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
ownerstringThe contact id of the registrant.
2.3.3.81. DomainOwnerChangeCancel Method - Atomia DNS API

Cancels manual owner change.

2.3.3.81.1. Declaration syntax
response_struct DomainOwnerChangeCancel(
	string domain
)
2.3.3.81.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.82. DomainOwnerChangeApprove Method - Atomia DNS API

Approves manual owner change.

2.3.3.82.1. Declaration syntax
response_struct DomainOwnerChangeApprove(
	string domain
)
2.3.3.82.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.83. DomainForceLock Method - Atomia DNS API

Approves manual owner change.

2.3.3.83.1. Declaration syntax
response_struct DomainForceLock(
	string domain
)
2.3.3.83.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.84. DNSSECGetAvailableKSKs Method - Atomia DNS API

Get a list of available KSKs from Atomia DNS to use for hosted DNSSEC.

2.3.3.84.1. Declaration syntax
response_struct DNSSECGetAvailableKSKs()
2.3.3.85. DNSSECGetKSKUsedForDS Method - Atomia DNS API

Retrieves information about the currently used KSK for hosted DNSSEC.

2.3.3.85.1. Declaration syntax
response_struct DNSSECGetKSKUsedForDS()
2.3.3.86. DNSSECSetKSKUsedForDS Method - Atomia DNS API

Change the currently used KSK for hosted DNSSEC.

2.3.3.86.1. Declaration syntax
response_struct DNSSECSetKSKUsedForDS(
	int keytag
)
2.3.3.86.2. Parameters

Parameter

Type

Description

keytagintThe keytag of the KSK.
2.3.3.87. DNSSECGetPublishedDS Method - Atomia DNS API

Get a list of all published DS records for hosted DNSSEC.

2.3.3.87.1. Declaration syntax
response_struct DNSSECGetPublishedDS()
2.3.3.88. HostCreate Method - Atomia DNS API

Creates a host object.

2.3.3.88.1. Declaration syntax
response_struct HostCreate(
	string tld,
	nameserver nameserver
)
2.3.3.88.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
nameservernameserverThe host object.
2.3.3.89. HostUpdate Method - Atomia DNS API

Updates a host object.

2.3.3.89.1. Declaration syntax
response_struct HostUpdate(
	string tld,
	nameserver nameserver
)
2.3.3.89.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
nameservernameserverThe host object.
2.3.3.90. HostAddRemoveIP Method - Atomia DNS API

Adds and/or removes IPs from a host object. Normally you use HostUpdate instead.

2.3.3.90.1. Declaration syntax
response_struct HostAddRemoveIP(
	string tld,
	string hostname,
	string ipv4_add,
	string ipv4_del,
	string ipv6_add,
	string ipv6_del
)
2.3.3.90.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
hostnamestringThe hostname of the host object.
ipv4_addstringAn array of IPv4 addresses
ipv4_delstringAn array of IPv4 addresses
ipv6_addstringAn array of IPv6 addresses
ipv6_delstringAn array of IPv6 addresses
2.3.3.91. HostRemove Method - Atomia DNS API

Removes a host object.

2.3.3.91.1. Declaration syntax
response_struct HostRemove(
	string tld,
	nameserver nameserver
)
2.3.3.91.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
nameservernameserverThe host object.
2.3.3.92. HostInfo Method - Atomia DNS API

Retrieves a host object.

2.3.3.92.1. Declaration syntax
response_struct HostInfo(
	string tld,
	string hostname
)
2.3.3.92.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
hostnamestringThe hostname of the host object.
2.3.3.93. HostInfoWithAuthInfo Method - Atomia DNS API

Retrieves a host object.

2.3.3.93.1. Declaration syntax
response_struct HostInfoWithAuthInfo(
	string tld,
	string hostname,
	string authinfo
)
2.3.3.93.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
hostnamestringThe hostname of the host object.
authinfostringThe authinfo code for the domain name.
2.3.3.94. HostCheck Method - Atomia DNS API

Check for the existance of a host object.

2.3.3.94.1. Declaration syntax
response_struct HostCheck(
	string tld,
	string hostname
)
2.3.3.94.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
hostnamestringThe hostname of the host object.
2.3.3.95. StatusGetById Method - Atomia DNS API

Retrieves the result of a specific transaction.

2.3.3.95.1. Declaration syntax
response_struct StatusGetById(
	int transaction_id
)
2.3.3.95.2. Parameters

Parameter

Type

Description

transaction_idintThe id of the transaction.
2.3.3.96. StatusGetLatestLog Method - Atomia DNS API

Retrieves a specified number of the latest transaction log items.

2.3.3.96.1. Declaration syntax
response_struct StatusGetLatestLog(
	string tld,
	int int
)
2.3.3.96.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
intintThe number of items to retrieve.
2.3.3.97. StatusGetLatestLogForDomain Method - Atomia DNS API

Retrieves a specified number of the latest transaction log items for a specific domain name.

2.3.3.97.1. Declaration syntax
response_struct StatusGetLatestLogForDomain(
	string tld,
	string domain,
	int int
)
2.3.3.97.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
domainstringThe domain name.
intintThe number of items to retrieve.
2.3.3.98. StatusGetQueueLength Method - Atomia DNS API

Retrieves the queue length for a specific type of commands.

2.3.3.98.1. Declaration syntax
response_struct StatusGetQueueLength(
	string tld,
	string commandtype
)
2.3.3.98.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
commandtypestringThe type of commands to retrieve transaction-items for.
2.3.3.99. StatusExportTransferLog Method - Atomia DNS API

Export a list of all logged transfers.

2.3.3.99.1. Declaration syntax
response_struct StatusExportTransferLog()
2.3.3.100. PeriodicTask Method - Atomia DNS API

Internal method used to trigger periodic registry specific actions.

2.3.3.100.1. Declaration syntax
response_struct PeriodicTask(
	string tld
)
2.3.3.100.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
2.3.3.101. Ping Method - Atomia DNS API

Send a manual keepalive in plugins that support this.

2.3.3.101.1. Declaration syntax
response_struct Ping(
	string tld
)
2.3.3.101.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
2.3.3.102. PollMessages Method - Atomia DNS API

Do a manual poll of a specified number of messages, and optionally handle and ack the messages.

2.3.3.102.1. Declaration syntax
response_struct PollMessages(
	string tld,
	int count,
	int handle
)
2.3.3.102.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
countintThe number of messages.
handleintSet to 0 to leave the messages intact, 1 to handle and ack them.
2.3.3.103. Reconnect Method - Atomia DNS API

Logout and login again for plugins that support this.

2.3.3.103.1. Declaration syntax
response_struct Reconnect(
	string tld
)
2.3.3.103.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
2.3.3.104. PasswordChange Method - Atomia DNS API

Change the password of a registry where the protocol supports this. Does not update the config file.

2.3.3.104.1. Declaration syntax
response_struct PasswordChange(
	string tld,
	string password
)
2.3.3.104.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
passwordstring
2.3.3.105. RawCommand Method - Atomia DNS API

Only implemented in the EPP plugin and used to send raw EPP commands. For examples, see the OTE example scripts.

2.3.3.105.1. Declaration syntax
response_struct RawCommand(
	string tld,
	string command,
	string commandbody,
	string extensiondata
)
2.3.3.105.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
commandstring
commandbodystring
extensiondatastring
2.3.3.106. DomainGetLocalBulk Method - Atomia DNS API

Retrieves list of local domains.

2.3.3.106.1. Declaration syntax
response_struct DomainGetLocalBulk(
	int pagesize,
	int pageindex,
	string tld_filter
)
2.3.3.106.2. Parameters

Parameter

Type

Description

pagesizeintNumber of fetched items per page.
pageindexintZero-based page index.
tld_filterstringThe TLD filter that reduces operation to specific TLD.
2.3.3.107. DomainWhoisProtectionEnable Method - Atomia DNS API

Enable whois protection for specified domain.

2.3.3.107.1. Declaration syntax
response_struct DomainWhoisProtectionEnable(
	string domain
)
2.3.3.107.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.108. DomainWhoisProtectionDisable Method - Atomia DNS API

Disable whois protection for specified domain.

2.3.3.108.1. Declaration syntax
response_struct DomainWhoisProtectionDisable(
	string domain
)
2.3.3.108.2. Parameters

Parameter

Type

Description

domainstringThe domain name.
2.3.3.109. TLDSpecificCommand Method - Atomia DNS API

Provides ability to call some specific plugin command through API

2.3.3.109.1. Declaration syntax
response_struct TLDSpecificCommand(
	string tld,
	string specific_command,
	pair_set specific_command_params
)
2.3.3.109.2. Parameters

Parameter

Type

Description

tldstringThe TLD that the transaction applies to.
specific_commandstringName of specific plugin command.
specific_command_paramspair_setDictionary/Hash of specific plugin command params.
2.3.3.110. ContactResendVerificationMail Method - Atomia DNS API

Initiates contact verification.

2.3.3.110.1. Declaration syntax
response_struct ContactResendVerificationMail(
	string contact_id
)
2.3.3.110.2. Parameters

Parameter

Type

Description

contact_idstringThe contact id.

2.4. Code Examples

2.4.1. Perl example

#!/usr/bin/perl -w
use strict;
use warnings;
use SOAP::Lite;
use Data::Dumper;

my $soap = SOAP::Lite
        -> uri('urn:Atomia::DomainReg::SOAPServer')
        -> proxy('http://localhost/domainreg')
        -> on_fault(sub {
                my($soap, $res) = @_;
                die "got fault of type " . $res->faultcode . ": " .
                        (ref $res ? $res->faultstring : $soap->transport->status) . "\n";
        });

my $res;
$res = $soap->DomainAvailable([ "testdomain.com" ]);
$res = $res->result;
print "DomainAvailable returned " . Dumper($res);

my $transaction_id = defined($res) && defined($res->{"response"}) ? $res->{"response"}->{"transaction_id"} : undef;

die "error finding transaction id in response" unless defined($transaction_id);

$res = $soap->DomainAvailableCheckResult($transaction_id);
$res = $res->result;

print "DomainAvailableCheckResult($transaction_id) returned " . Dumper($res);