SOAP API
A SOAP based API function now exists to replace the list functionality that was offered by the Automaton. Registrars can generate an API key for the test bed and live in Online Services, under Tag Settings.
Methods Using the SOAP List API tool
- Navigate to the service URL https://listapi.nominet.org.uk/ws/automaton?wsdl
- Save the WSDL that is displayed.
- Use a toolkit of your choice to generate a client i.e. http://php.net/manual/en/class.soapclient.php or https://axis.apache.org/axis/java/. Point your toolkit at the WSDL to generate your client code.
- Generate an API key from the Tag Settings page in Online Services. (See List API section)
- Write code to call the generated client code. Include your API key on all requests.
- Ensure you connect securely i.e. load the services SSL certificate into a trust store or equivalent. (You can download this from the browser when viewing the WDSL)
- Download data from the API.
Methods
getAllDomainsByAutoBill
field |
Description |
apiKey |
Your API key |
tag |
Your Tag |
autoBill |
domains with autobill. Leave blank as per example |
equalTo |
(optional) number of days +1 that autobill will happen before expiry |
pageNumber |
(optional) Page Number to return – defaults to 1 |
pageSize |
(optional) Page Size to return – defaults to 500, maximum is 500 |
remoteAddress |
(optional) Not implemented, ignore |
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getAllDomainsByAutoBill>
<autoBillDetailsDTO>
<apiKey>
<apiKey>API-KEY-HERE</apiKey>
</apiKey>
<tag>TAG-HERE</tag>
<autoBill></autoBill>
</autoBillDetailsDTO>
</ws:getAllDomainsByAutoBill>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getAllDomainsByAutoBillResponse xmlns:ns2="http://api.nominet.uk/ws">
<domainNameListDTO>
<domainNames>adomain.co.uk</domainNames>
...
<domainNames>zdomain.co.uk</domainNames>
<pageNumber>1</pageNumber>
<pageSize>500</pageSize>
<totalPages>1</totalPages>
<totalRecords>66</totalRecords>
</domainNameListDTO>
</ns2:getAllDomainsByAutoBillResponse>
</S:Body>
</S:Envelope>
getAllDomainsByCreatedDate
field |
Description |
apiKey |
Your API key |
tag |
Your Tag |
createdDate |
Created date of domains in YYYY-MM-DD format |
pageNumber |
(optional) Page Number to return – defaults to 1 |
pageSize |
(optional) Page Size to return – defaults to 500, maximum is 500 |
remoteAddress |
(optional) Not implemented – ignore |
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getAllDomainsByCreatedDate>
<createdDateDetailsDTO>
<apiKey>
<apiKey>YOUR-API-KEY-HERE</apiKey>
</apiKey>
<tag>YOUR-TAG-HERE</tag>
<createdDate>YYYY-MM-DD</createdDate>
</createdDateDetailsDTO>
</ws:getAllDomainsByCreatedDate>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getAllDomainsByCreatedDateResponse xmlns:ns2="http://api.nominet.uk/ws">
<domainNameListDTO>
<domainNames>adomain.co.uk</domainNames>
<pageNumber>1</pageNumber>
<pageSize>500</pageSize>
<totalPages>1</totalPages>
<totalRecords>1</totalRecords>
</domainNameListDTO>
</ns2:getAllDomainsByCreatedDateResponse>
</S:Body>
</S:Envelope>
getAllDomainsByExpiryDate
field |
Description |
apiKey |
Your API key |
tag |
Your tag |
expiryDate |
A date in yyyy-mm-dd format |
pageNumber |
(optional) Page Number to return – defaults to 1 |
pageSize |
(optional) Page Size to return – defaults to 500, maximum is 500 |
remoteAddress |
(optional) Not implemented – ignore |
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getAllDomainsByExpiryDate>
<expiryDateDetailsDTO>
<apiKey>
<apiKey>YOUR-API-KEY-HERE</apiKey>
</apiKey>
<tag>YOUR-TAG-HERE</tag>
<expiryDate>YYYY-MM-DD</expiryDate>
</expiryDateDetailsDTO>
</ws:getAllDomainsByExpiryDate>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getAllDomainsByExpiryDateResponse xmlns:ns2="http://api.nominet.uk/ws">
<domainNameListDTO>
<pageNumber>0</pageNumber>
<pageSize>500</pageSize>
<totalPages>0</totalPages>
<totalRecords>0</totalRecords>
</domainNameListDTO>
</ns2:getAllDomainsByExpiryDateResponse>
</S:Body>
</S:Envelope>
(i.e. no domains on your tag were registered that day)
getAllDomainsByExpiryDateRange
field |
description |
apiKey |
Your API key |
tag |
Your Tag |
rangeStart |
A date in YYYY-MM-DD format |
rangeEnd |
A date in YYYY-MM-DD format more recent than rangeStart |
pageNumber |
(optional) Page Number to return – defaults to 1 |
pageSize |
(optional) Page Size to return – defaults to 500, maximum is 500 |
remoteAddress |
(optional) Not implemented – ignore |
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getAllDomainsByExpiryDateRange>
<expiryDateRangeDetailsDTO>
<apiKey>
<apiKey>YOUR-API-KEY-HERE</apiKey>
</apiKey>
<tag>YOUR-TAG-HERE</tag>
<rangeEnd>YYYY-MM-DD</rangeEnd>
<rangeStart>YYYY-MM-DD</rangeStart>
</expiryDateRangeDetailsDTO>
</ws:getAllDomainsByExpiryDateRange>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getAllDomainsByExpiryDateRangeResponse xmlns:ns2="http://api.nominet.uk/ws">
<domainNameListDTO>
<domainNames>adomain.co.uk</domainNames>
...
<domainNames>zdomain.co.uk</domainNames>
<pageNumber>1</pageNumber>
<pageSize>500</pageSize>
<totalPages>1</totalPages>
<totalRecords>31</totalRecords>
</domainNameListDTO>
</ns2:getAllDomainsByExpiryDateRangeResponse>
</S:Body>
</S:Envelope>
getAllDomainsForAccount
field |
description |
apiKey |
Your API key |
tag |
Your Tag |
eppId |
EPP id for a contact on your account |
pageNumber |
(optional) Page Number to return – defaults to 1 |
pageSize |
(optional) Page Size to return – defaults to 500, maximum is 500 |
remoteAddress |
(optional) – Not implemented – ignore |
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getAllDomainsForAccount>
<accountDetailsDto>
<apiKey>
<apiKey>YOUR-API-KEY-HERE</apiKey>
</apiKey>
<tag>YOUR-TAG-HERE</tag>
<eppId>CONTACTS-EPP-ID-HERE</eppId>
</accountDetailsDto>
</ws:getAllDomainsForAccount>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getAllDomainsForAccountResponse xmlns:ns2="http://api.nominet.uk/ws">
<domainNameListDTO>
<domainNames>adomain.co.uk</domainNames>
<pageNumber>1</pageNumber>
<pageSize>500</pageSize>
<totalPages>1</totalPages>
<totalRecords>1</totalRecords>
</domainNameListDTO>
</ns2:getAllDomainsForAccountResponse>
</S:Body>
</S:Envelope>
getAllDomainsForNameServer
field |
description |
apiKey |
Your API key |
tag |
Your Tag |
nameServer |
a nameServer on your account |
pageNumber |
(optional) Page Number to return – defaults to 1 |
pageSize |
(optional) Page Size to return – defaults to 500, maximum is 500 |
remoteAddress |
(optional) Not implemented – ignore |
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getAllDomainsForNameServer>
<nameServerDetailsDTO>
<apiKey>
<apiKey>YOUR-API-KEY-HERE</apiKey>
</apiKey>
<tag>YOUR-TAG-HERE</tag>
<nameServer>dns01.adomain.com.</nameServer>
</nameServerDetailsDTO>
</ws:getAllDomainsForNameServer>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getAllDomainsForNameServerResponse xmlns:ns2="http://api.nominet.uk/ws">
<domainNameListDTO>
<domainNames>adomain.co.uk</domainNames>
...
<domainNames>bdomain.co.uk</domainNames>
<pageNumber>1</pageNumber>
<pageSize>500</pageSize>
<totalPages>7</totalPages>
<totalRecords>3325</totalRecords>
</domainNameListDTO>
</ns2:getAllDomainsForNameServerResponse>
</S:Body>
</S:Envelope>
Notes: The last dot on the end of the nameserver is required
getAllDomainsLikeRegistrantName
field |
description |
apiKey |
Your API key |
tag |
Your Tag |
registrantName |
the string you are searching for (case sensitive) |
pageNumber |
(optional) Page Number to return – defaults to 1 |
pageSize |
(optional) Page Size to return – defaults to 500, maximum is 500 |
remoteAddress |
(optional) Not implemented – ignore |
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getAllDomainsLikeRegistrantName>
<registrantDetailsDTO>
<apiKey>
<apiKey>YOUR-API-KEY-HERE</apiKey>
</apiKey>
<tag>YOUR-TAG-HERE</tag>
<registrantName>Richard</registrantName>
</registrantDetailsDTO>
</ws:getAllDomainsLikeRegistrantName>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getAllDomainsLikeRegistrantNameResponse xmlns:ns2="http://api.nominet.uk/ws">
<domainNameListDTO>
<domainNames>adomain.co.uk</domainNames>
<domainNames>bdomain.co.uk</domainNames>
<domainNames>ydomain.co.uk</domainNames>
<domainNames>zdomain.co.uk</domainNames>
<pageNumber>1</pageNumber>
<pageSize>500</pageSize>
<totalPages>1</totalPages>
<totalRecords>4</totalRecords>
</domainNameListDTO>
</ns2:getAllDomainsLikeRegistrantNameResponse>
</S:Body>
</S:Envelope>
Notes: The search is a case sensitive search against registrants of domains on your tag. So in the above example, if there are four domains on your tag where the registrant name contains Richard, and one domain name on your tag where the registrant name contains richard, you will only get the four domains returned
getAllDomainsOnTag
field |
description |
apiKey |
Your API key |
tag |
Your Tag |
pageNumber |
(optional) Page Number to return – defaults to 1 |
pageSize |
(optional) Page Size to return – defaults to 500, maximum is 500 |
remoteAddress |
(optional) Not implemented – ignore |
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getAllDomainsOnTag>
<tagDetailsDTO>
<apiKey>
<apiKey>YOUR-API-KEY-HERE</apiKey>
</apiKey>
<tag>YOUR-TAG-HERE</tag>
</tagDetailsDTO>
</ws:getAllDomainsOnTag>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getAllDomainsOnTagResponse xmlns:ns2="http://api.nominet.uk/ws">
<domainNameListDTO>
<domainNames>adomain.co.uk</domainNames>
...
<domainNames>zdomain.co.uk</domainNames>
<pageNumber>1</pageNumber>
<pageSize>500</pageSize>
<totalPages>8</totalPages>
<totalRecords>3551</totalRecords>
</domainNameListDTO>
</ns2:getAllDomainsOnTagResponse>
</S:Body>
</S:Envelope>
getAllDomainsWithDQLock
field |
description |
apiKey |
Your API key |
tag |
Your Tag |
pageNumber |
(optional) Page Number to return – defaults to 1 |
pageSize |
(optional) Page Size to return – defaults to 500, maximum is 500 |
remoteAddress |
(optional) Not implemented – ignore |
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getAllDomainsWithDQLock>
<tagDetailsDTO>
<apiKey>
<apiKey>YOUR-API-KEY-HERE</apiKey>
</apiKey>
<tag>YOUR-TAG-HERE</tag>
</tagDetailsDTO>
</ws:getAllDomainsWithDQLock>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getAllDomainsWithDQLockResponse xmlns:ns2="http://api.nominet.uk/ws">
<domainNameListDTO>
<pageNumber>0</pageNumber>
<pageSize>500</pageSize>
<totalPages>0</totalPages>
<totalRecords>0</totalRecords>
</domainNameListDTO>
</ns2:getAllDomainsWithDQLockResponse>
</S:Body>
</S:Envelope>
getCreditUsedDetails
field |
description |
apiKey |
Your API key |
tag |
Your Tag |
pageNumber |
(optional) Page Number to return – defaults to 1 |
pageSize |
(optional) Page Size to return – defaults to 500, maximum is 500 |
remoteAddress |
(optional) Not implemented – ignore |
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getCreditUsedDetails>
<creditUsedDetailsDTO>
<apiKey>
<apiKey>YOUR-API-KEY-HERE</apiKey>
</apiKey>
<tag>YOUR-TAG-HERE</tag>
</creditUsedDetailsDTO>
</ws:getCreditUsedDetails>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getCreditUsedDetailsResponse xmlns:ns2="http://api.nominet.uk/ws">
<creditUsedDetailsDTO>
<creditAvailable>10000</creditAvailable>
<creditUsed>128</creditUsed>
<tag>YOUR-TAG-HERE</tag>
</creditUsedDetailsDTO>
</ns2:getCreditUsedDetailsResponse>
</S:Body>
</S:Envelope>
Additional paging tags
Responses are limited to 500 domains per page, and include:
pageNumber
pageSize
totalPages
totalRecords
in the response. Use this response a guide to navigate and get further pages, by adding:
<pageNumber>VALUE</pageNumber>
<pageSize>VALUE</pageSize>
after the apiKey example
Request the first page:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getAllDomainsOnTag>
<tagDetailsDTO>
<apiKey>
<apiKey>YOUR-API-KEY-HERE</apiKey>
</apiKey>
<pageNumber>1</pageNumber>
<pageSize>500</pageSize>
<tag>YOUR-TAG-HERE</tag>
</tagDetailsDTO>
</ws:getAllDomainsOnTag>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getAllDomainsOnTagResponse xmlns:ns2="http://api.nominet.uk/ws">
<domainNameListDTO>
<domainNames>adomain.co.uk</domainNames>
...
<domainNames>bdomain.co.uk</domainNames>
<pageNumber>1</pageNumber>
<pageSize>500</pageSize>
<totalPages>8</totalPages>
<totalRecords>3551</totalRecords>
</domainNameListDTO>
</ns2:getAllDomainsOnTagResponse>
</S:Body>
</S:Envelope>
Request the second page:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.nominet.uk/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:getAllDomainsOnTag>
<tagDetailsDTO>
<apiKey>
<apiKey>YOUR-API-KEY-HERE</apiKey>
</apiKey>
<pageNumber>2</pageNumber>
<pageSize>500</pageSize>
<tag>YOUR-TAG-HERE</tag>
</tagDetailsDTO>
</ws:getAllDomainsOnTag>
</soapenv:Body>
</soapenv:Envelope>
Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getAllDomainsOnTagResponse xmlns:ns2="http://api.nominet.uk/ws">
<domainNameListDTO>
<domainNames>burningham-and-brown.co.uk</domainNames>
...
<domainNames>electropatent.co.uk</domainNames>
<pageNumber>2</pageNumber>
<pageSize>500</pageSize>
<totalPages>8</totalPages>
<totalRecords>3551</totalRecords>
</domainNameListDTO>
</ns2:getAllDomainsOnTagResponse>
</S:Body>
</S:Envelope>